public async Task <ActionResult> Post([FromBody] VbVerificationViewModel viewModel) { try { VerifyUser(); await _service.CreateAsync(viewModel); var result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE).Ok(); return(Created(String.Concat(Request.Path, "/", 0), result)); } catch (ServiceValidationException e) { var result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE).Fail(e); return(BadRequest(result)); } catch (Exception e) { var result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result)); } }
public async Task Should_Success_CreateAsync_with_DataNotVerified() { //Setup var dbContext = GetDbContext(GetCurrentAsyncMethod()); VbVerificationService vbVerificationService = new VbVerificationService(dbContext, GetServiceProvider().Object); VbVerificationViewModel viewModel = _vbVerificationDataUtil(vbVerificationService, dbContext).Get_NotVerified_VbVerificationViewModel(); RealizationVbModel data = await _vbVerificationDataUtil(vbVerificationService, dbContext).GetTestData_RealizationVbModel(); //Act var Response = await vbVerificationService.CreateAsync(viewModel); //Assert Assert.NotEqual(0, Response); }
public async Task <VbVerificationViewModel> ReadById(int id) { var model = await _dbContext.RealizationVbs.Include(entity => entity.RealizationVbDetail).Where(entity => entity.Id == id).FirstOrDefaultAsync(); var result = new VbVerificationViewModel() { numberVB = new NumberVBData() { DetailItems = model.RealizationVbDetail.Select(s => new VbVerificationDetailViewModel() { DateSPB = s.DateSPB, NoSPB = s.NoSPB, SupplierName = s.SupplierName, PriceTotalSPB = s.PriceTotalSPB, Date = s.DateNonPO, Remark = s.Remark, Amount = s.AmountNonPO, isGetPPn = s.isGetPPn }).ToList(), Id = model.Id, Amount_Realization = model.Amount, Amount_Request = model.Amount_VB, Currency = model.CurrencyCode, DateEstimate = model.DateEstimate, DateRealization = model.Date, DateVB = model.DateVB, Diff = model.DifferenceReqReal, RequestVbName = model.RequestVbName, UnitName = model.UnitName, Usage = model.UsageVBRequest, VBNo = model.VBNo, VBNoRealize = model.VBNoRealize, VBRealizeCategory = model.VBRealizeCategory.Contains("NONPO") ? "Non PO" : "PO", Amount_Vat = model.VatAmount, Status_ReqReal = model.StatusReqReal }, Reason = model.Reason_NotVerified, Remark = model.Reason_NotVerified, VerifyDate = model.VerifiedDate, isVerified = model.isVerified, isNotVeridied = model.isNotVeridied }; return(result); }
public async Task <int> CreateAsync(VbVerificationViewModel viewmodel) { //using (var transaction = _dbContext.Database.BeginTransaction()) //{ var m = dbSet.SingleOrDefault(e => e.Id == viewmodel.numberVB.Id); EntityExtension.FlagForUpdate(m, _identityService.Username, UserAgent); m.isVerified = viewmodel.isVerified; m.isNotVeridied = viewmodel.isNotVeridied; m.VerifiedName = _identityService.Username; m.VerifiedDate = (DateTimeOffset)viewmodel.VerifyDate; if (string.IsNullOrEmpty(viewmodel.Reason)) { m.Reason_NotVerified = ""; } else { m.Reason_NotVerified = viewmodel.Reason; } //transaction.Commit(); //} await _dbContext.SaveChangesAsync(); if (m.isVerified) { await _expeditionService.VerifiedToCashier(m.Id); } else { await _expeditionService.Reject(m.Id, viewmodel.Reason); } return(m.Id); }