public DepositModel(Deposit deposit, bool takePayments = true) { Id = deposit.Id; StartDate = deposit.StartDate; Balance = deposit.Balance; DepositTypeId = deposit.DepositTypeId; RequestId = deposit.RequestId; EndDate = deposit.EndDate; ClientId = deposit.ClientId; if (deposit.DepositType != null) { DepositType = new DepositTypeModel(deposit.DepositType); } if (deposit.UserProfile != null) { ClientModel = new UserViewModel(deposit.UserProfile); } if (takePayments && deposit.DepositPayment != null) { PaymentModels = deposit.DepositPayment.Select(item => new DepositPaymentModel(item)) .OrderByDescending(item => item.Date) .ToList(); } }
public void OpenDeposit(RequestModel request) { if (request.Type != RequestType.Deposit) { return; } var depositType = depositTypeRepository.GetDepositTypeById(request.DepositTypeId.Value); var date = dateService.GetCurrentDate(); var deposit = new Deposit { Balance = request.Amount, DepositTypeId = depositType.Id, StartDate = date, EndDate = date + TimeSpan.FromTicks(depositType.ReturnTerm) + TimeSpan.FromDays(1), RequestId = request.Id, ClientId = request.ClientId }; depositRepository.CreateDeposit(deposit); }