public FinanceRequestWrapper SaveFinanceRequest(FinanceRequest financeRequest) { var request = GetOrCreateRequest(financeRequest); var validationResult = ValidateForCurrentUser(request); if (validationResult.Code != FinanceRequestOperationStatus.Success) { return(new FinanceRequestWrapper { Status = validationResult }); } request.InterestRate = financeRequest.InterestRate; request.Amount = financeRequest.Amount; request.Purpose = financeRequest.Purpose; request.MonthCount = financeRequest.MonthCount; _context.FinanceRequests.Update(request); _context.SaveChanges(); return(new FinanceRequestWrapper { FinanceRequest = request, Status = new FinanceRequestOperationStatus(FinanceRequestOperationStatus.Success) }); }
public DataRespond insertFinance(FinanceRequest finance) { DataRespond data = new DataRespond(); try { var fi = new Finance(); fi.name = finance.name; fi.moneys = finance.moneys; fi.status = finance.status; fi.cbid = finance.cbid; fi.uscreate = finance.uscreate; fi.person = finance.person; DateTime daycr = DateTime.ParseExact(finance.createday, "dd/MM/yyyy", CultureInfo.InvariantCulture); fi.createday = daycr; data.success = true; data.message = "insert succeses"; m_financeResponsitory.insertFinance(fi); } catch (Exception e) { data.message = e.Message; data.error = e; data.success = false; } return(data); }
public IActionResult SaveFinanceRequest(FinanceRequest request) { var financeRequestWrapper = _financeService.SaveFinanceRequest(request); if (financeRequestWrapper.Status.Code != FinanceRequestOperationStatus.Success) { return(BadRequest(new MessageResponse(financeRequestWrapper.Status.Code))); } return(Ok(financeRequestWrapper.FinanceRequest)); }
private FinanceRequest GetOrCreateRequest(FinanceRequest financeRequest) { if (financeRequest.Id.HasValue) { return(GetRequest(financeRequest.Id.Value)); } financeRequest.Author = _userService.GetCurrentUser(); financeRequest.PublicNumber = _numberProvider.Generate(financeRequest); _context.FinanceRequests.Add(financeRequest); _context.SaveChanges(); return(financeRequest); }
private FinanceRequestOperationStatus ValidateForCurrentUser(FinanceRequest request) { if (request == null) { return(new FinanceRequestOperationStatus(FinanceRequestOperationStatus.RequestNotFound)); } if (request.Author.Id != _userService.GetCurrentUser().Id) { return(new FinanceRequestOperationStatus(FinanceRequestOperationStatus.Unauthorized)); } return(new FinanceRequestOperationStatus(FinanceRequestOperationStatus.Success)); }
public void GenerateCorrectNumberTest() { var provider = new RequestNumberProvider(); var financeRequest = new FinanceRequest { Id = null, Purpose = "TEST PURPOSE", Amount = 5000000, MonthCount = 36, InterestRate = 15 }; var dateString = DateTime.Now.ToString("ddMMyyyyhhmmss"); var number = provider.Generate(financeRequest); Assert.Equal($"KZ{dateString}{financeRequest.GetHashCode()}", number); }
public string Generate(FinanceRequest request) { return($"KZ{DateTime.Now:ddMMyyyyhhmmss}{request.GetHashCode()}"); }