public async Task <int> CreateFundAsync(FundCreateRequest fundCreateRequest) { Company company = null; if (fundCreateRequest.CompanyId != 0) { company = await this.galaxisContext.Companies.FindAsync(fundCreateRequest.CompanyId); } int result = 0; if (company != null) { var fund = CreateDataModelFund(fundCreateRequest, company); AssignFundToCompany(company, fund); this.galaxisContext.Funds.Add(fund); result = await this.galaxisContext.SaveChangesAsync(); } return(result); }
private static DataModelFund CreateDataModelFund(FundCreateRequest fundCreateRequest, Company company) { return(new DataModelFund { Name = fundCreateRequest.Name, FundAddress = fundCreateRequest.Address, InvestmentFundManager = fundCreateRequest.InvestmentFundManager, InvestmentFocus = fundCreateRequest.InvestmentFocus, HighWaterMark = fundCreateRequest.HighWaterMark, HurdleRate = fundCreateRequest.HurdleRate, HurdleRatePercentage = fundCreateRequest.HurdleRatePercentage, DepositStartTimeStamp = fundCreateRequest.DepositStartTimeStamp, DepositCloseTimeStamp = fundCreateRequest.DepositCloseTimeStamp, CloseTimeStamp = fundCreateRequest.CloseTimeStamp, BaseCurrency = fundCreateRequest.BaseCurrency, MinimumContribution = fundCreateRequest.MinimumContribution, MaximumContribution = fundCreateRequest.MaximumContribution, IsLaunched = false, Company = company, CompanyId = company.Id }); }
public async Task <int> CreateFundAsync([FromBody] FundCreateRequest fundCreateRequest) { return(await this.fundRepository.CreateFundAsync(fundCreateRequest)); }