AlbaApi

<back to all web services

InvestmentAllocationDataRequest

The following routes are available for this service:
POST/investmentallocation/save
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvestmentAllocation:
    id: Optional[int] = None
    member_id: Optional[int] = None
    fund_id: Optional[str] = None
    current_balance_percent: Optional[Decimal] = None
    future_contribution_percent: Optional[Decimal] = None
    current_balance_future_contribution_percent: Optional[Decimal] = None
    date_created: Optional[datetime.datetime] = None
    created_by: Optional[str] = None
    date_updated: Optional[datetime.datetime] = None
    updated_by: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MemberContribution:
    id: Optional[int] = None
    member_id: Optional[int] = None
    choice_start_date: Optional[datetime.datetime] = None
    choice_end_date: Optional[datetime.datetime] = None
    base_contribution_percent: Optional[Decimal] = None
    voluntary_contribution_percent: Optional[Decimal] = None
    incentive_contribution_percent: Optional[Decimal] = None
    total_contribution_percent: Optional[Decimal] = None
    base_contribution_value: Optional[Decimal] = None
    voluntary_contribution_value: Optional[Decimal] = None
    incentive_contribution_value: Optional[Decimal] = None
    total_contribution_value: Optional[Decimal] = None
    date_created: Optional[datetime.datetime] = None
    created_by: Optional[str] = None
    date_updated: Optional[datetime.datetime] = None
    updated_by: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvestmentAllocationDataRequest:
    investment_allocations: Optional[List[InvestmentAllocation]] = None
    member_contribution: Optional[MemberContribution] = None
    member_id: Optional[int] = None
    created_by: Optional[str] = None
    date_of_birth_spouse: Optional[datetime.datetime] = None
    date_of_birth_youngest_child: Optional[datetime.datetime] = None
    children_count: Optional[int] = None
    investment_strategy: Optional[str] = None
    is_additional_info_displayed: Optional[bool] = None

Python InvestmentAllocationDataRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /investmentallocation/save HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"investmentAllocations":[{"id":0,"memberId":0,"fundId":"String","currentBalancePercent":0,"futureContributionPercent":0,"currentBalanceFutureContributionPercent":0,"dateCreated":"0001-01-01T00:00:00.0000000","createdBy":"String","dateUpdated":"0001-01-01T00:00:00.0000000","updatedBy":"String"}],"memberContribution":{"id":0,"memberId":0,"choiceStartDate":"0001-01-01T00:00:00.0000000","choiceEndDate":"0001-01-01T00:00:00.0000000","baseContributionPercent":0,"voluntaryContributionPercent":0,"incentiveContributionPercent":0,"totalContributionPercent":0,"baseContributionValue":0,"voluntaryContributionValue":0,"incentiveContributionValue":0,"totalContributionValue":0,"dateCreated":"0001-01-01T00:00:00.0000000","createdBy":"String","dateUpdated":"0001-01-01T00:00:00.0000000","updatedBy":"String"},"memberId":0,"createdBy":"String","dateOfBirthSpouse":"0001-01-01T00:00:00.0000000","dateOfBirthYoungestChild":"0001-01-01T00:00:00.0000000","childrenCount":0,"investmentStrategy":"String","isAdditionalInfoDisplayed":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

(HttpWebResponse)