public interface IAllocationService {
CancelAllocationResponse CancelAllocationCreateAllocationResponse CreateAllocation(CancelAllocationRequestCreateAllocationRequest request);
CreateAllocationResponse CreateAllocationCancelAllocationResponse CancelAllocation(CreateAllocationRequestCancelAllocationRequest request);
List<CreateAllocationResponse> CreateAllocations(List<CreateAllocationRequest> request);
AccountBalanceResponse GetAccountBalance(AccountBalanceRequest request);
Allocation GetAllocation(int allocationId);
CostInformationResponse GetCostInformation(CostInformationRequest request);
PortfolioPositionResponse GetPortfolioPosition(PortfolioPositionRequest request);
RiskCheckResponse GetRiskCheck(RiskCheckRequest request);
void ManuallyAllocateInstruction(int id, string comments);
List<Allocation> SearchAllocations(AllocationCriteria request);
SendToBackofficeResponse SendToBackoffice(SendToBackofficeRequest request);
void UpdateAllocationStatus(UpdateAllocationStatusRequest request);
void UpdateResentAllocations();
bool IsAlive();
}
public class CreateAllocationRequest { public int? AccountId { get; set; } public string AccountNumber { get; set; } public double? AllocationPrice { get; set; } public AllocationType AllocationType { get; set; } public AssetClass AssetClass { get; set; } public double AverageTradePrice { get; set; } public string BackOfficeComments { get; set; } public BackOfficeStatus? BackOfficeStatus { get; set; } public double? BrokerFeePercent { get; set; } public double? BruttoAmount { get; set; } public BruttoNetto BruttoNetto { get; set; } public bool BypassBackOffice { get; set; } public double? CashQuantity { get; set; } public string Comments { get; set; } public string CommissionCategory { get; set; } public RoutingMethod Communication { get; set; } public BruttoNetto ConstantTradeElement { get; set; } public MifidCategory? CustomerMifidCategory { get; set; } public double? DirtyPrice { get; set; } public double? DiscountPercent { get; set; } public double? EffectiveCommissionAmount { get; set; } public double? EffectiveCommissionPercent { get; set; } public string Email { get; set; } public DateTime ExpiryDate { get; set; } public string ExternalAccountNumber { get; set; } public string ExternalAccountSSN { get; set; } public double Fee { get; set; } public double FeeAmount { get; set; } public FeeType FeeType { get; set; } public bool House { get; set; } public int Id { get; set; } public bool IncludeCommissionInPrice { get; set; } public double? IndexationAmount { get; set; } public bool InspectionByBackOfficeRequired { get; set; } public double? InterestAmount { get; set; } public double? InterestDays { get; set; } public double InterestFee { get; set; } public double Interests { get; set; } public string InternalComments { get; set; } public bool? IsAdviceOrder { get; set; } public bool IsForwardContract { get; set; } public bool? ManualSettlement { get; set; } public bool? MifidTestComplete { get; set; } public int? MifidTestId { get; set; } public int? OrderInstructionId { get; set; } public MifidCategory? OrderMifidCategory { get; set; } public string OrderReference { get; set; } public double OtherFee { get; set; } public FeeType OtherFeeType { get; set; } public double Payment { get; set; } public PaymentType PaymentType { get; set; } public string PortfolioExternalReferenceId { get; set; } public int? PortfolioId { get; set; } public string PortfolioName { get; set; } public double Quantity { get; set; } public QuantityType? QuantityType { get; set; } public double? RemainingNotional { get; set; } public int? SalespersonId { get; set; } public bool SendEmail { get; set; } public int SettlementAccountId { get; set; } public DateTime SettlementDate { get; set; } public int SettlementPortfolioId { get; set; } public Side Side { get; set; } public string Symbol { get; set; } public double? TaxAmount { get; set; } public double TotalAmount { get; set; } public double TotalFee { get; set; } public double? TotalTradeValue { get; set; } public List<TradeAllocationRequest> TradeAllocations { get; set; } public DateTime TradeDate { get; set; } public TradeType TradeType { get; set; } public int UserId { get; set; } public string UserName { get; set; } public double? Yield { get; set; } }
public class CreateAllocationResponse { public int? AllocationId { get; set; } public BackOfficeStatus BackOfficeStatus { get; set; } public string Message { get; set; } public bool Success { get; set; } }