/// <summary> /// Creates the fin op. /// </summary> /// <param name="finOpModel">The fin op model.</param> /// <returns></returns> public FinOpFromBankViewModel CreateFinOp(FinOpFromBankViewModel finOpModel) { try { var finOp = new FinOp { AccFromId = _unitOfWork.OrganizationAccountRepository.GetOrgAccountByName(finOpModel.OrgId, finOpModel.AccFromName).Id, AccToId = _unitOfWork.OrganizationAccountRepository.GetOrgAccountByName(finOpModel.OrgId, finOpModel.AccToName).Id, TargetId = _unitOfWork.TargetRepository.GetTargetByName(finOpModel.TargetName).Id, Amount = finOpModel.Amount, Description = finOpModel.Description, FinOpDate = DateTime.Now }; var finOpEntity = _unitOfWork.FinOpRepository.Create(finOp); _unitOfWork.SaveChanges(); var createdFinOp = _unitOfWork.FinOpRepository.GetById(finOpEntity.Id); createdFinOp.OrgAccountTo.CurrentBalance += finOpModel.Amount; _unitOfWork.FinOpRepository.Update(createdFinOp); var bankImportDetail = _unitOfWork.BankImportDetailRepository.GetById(finOpModel.BankImportId); bankImportDetail.IsLooked = true; _unitOfWork.BankImportDetailRepository.ChangeBankImportState(bankImportDetail); _unitOfWork.SaveChanges(); return(finOpModel); } catch (Exception ex) { throw new BusinessLogicException(ex.Message, ex); } }
/// <summary> /// Creates the fin op. /// </Summary> /// <param name="finOpModel">The fin op model.</param> /// <returns></returns> public FinOpFromBankViewModel CreateFinOp(FinOpFromBankViewModel finOpModel) { try { var bankImportDetail = _unitOfWork.BankImportDetailRepository.GetById(finOpModel.BankImportId); var finOp = ConvertFinOpFromBankViewModelToFinOpViewModel(finOpModel); switch (finOp.FinOpType) { case Constants.FinOpTypeSpending: CreateSpending(finOp); break; case Constants.FinOpTypeIncome: CreateIncome(finOp); break; case Constants.FinOpTypeTransfer: CreateTransfer(finOp); break; } bankImportDetail.IsLooked = true; _unitOfWork.BankImportDetailRepository.ChangeBankImportState(bankImportDetail); _unitOfWork.SaveChanges(); return(finOpModel); } catch (Exception ex) { throw new BusinessLogicException(ex.Message, ex); } }
public IActionResult CreateFinOp([FromBody] FinOpFromBankViewModel finOpModel) { if (finOpModel == null) { return(BadRequest()); } return(Ok(_service.CreateFinOp(finOpModel))); }
private FinOpViewModel ConvertFinOpFromBankViewModelToFinOpViewModel(FinOpFromBankViewModel finOpModel) { var finOp = new FinOpViewModel { Amount = finOpModel.Amount, AccFromId = finOpModel.CardFromId.GetValueOrDefault(0), AccToId = finOpModel.CardToId.GetValueOrDefault(0), Description = finOpModel.Description, Date = finOpModel.FinOpDate, FinOpType = finOpModel.FinOpType, UserId = finOpModel.UserId, OrgId = finOpModel.OrgId, TargetId = finOpModel.TargetId }; return(finOp); }
public FinOpFromBankViewModel CreateFinOp([FromBody] FinOpFromBankViewModel finOpModel) { return(this._service.CreateFinOp(finOpModel)); }