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 .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
Content-Type: text/jsv
Content-Length: length

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

(HttpWebResponse)