public async Task <PurchasingDocumentExpedition> GetCashierTestData() { PurchasingDocumentAcceptanceViewModel vModel = GetCashierNewData(); await Task.Run(() => Facade.PurchasingDocumentAcceptance(vModel, "Unit Test")); return(await Facade.ReadModelById(purchasingDocumentExpedition.Id)); }
public async Task <ActionResult> Post([FromBody] PurchasingDocumentAcceptanceViewModel viewModel) { this.identityService.Token = Request.Headers["Authorization"].First().Replace("Bearer ", ""); this.identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; ValidateService validateService = (ValidateService)purchasingDocumentExpeditionFacade.serviceProvider.GetService(typeof(ValidateService)); try { validateService.Validate(viewModel); await purchasingDocumentExpeditionFacade.PurchasingDocumentAcceptance(viewModel, this.identityService.Username); return(NoContent()); } catch (ServiceValidationExeption e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public PurchasingDocumentAcceptanceViewModel GetVerificationNewData() { PurchasingDocumentAcceptanceViewModel TestData = GetNewData(); TestData.Role = "VERIFICATION"; return(TestData); }
public PurchasingDocumentAcceptanceViewModel GetCashierNewData() { PurchasingDocumentAcceptanceViewModel TestData = GetNewData(); TestData.Role = "CASHIER"; return(TestData); }
private async void Should_Success_Accept_Document_With_Cashier_Role() { PurchasingDocumentAcceptanceViewModel vModel = DataUtil.GetCashierNewData(); int AffectedRows = await Facade.PurchasingDocumentAcceptance(vModel, "Unit Test"); Assert.True(AffectedRows > 0); }
public async Task <PurchasingDocumentAcceptanceViewModel> GetCashierNewData() { PurchasingDocumentAcceptanceViewModel TestData = await GetNewData(); TestData.Role = "CASHIER"; return(TestData); }
public async Task Should_Success_Create_Data() { PurchasingDocumentAcceptanceViewModel ViewModel = await DataUtil.GetVerificationNewData(); var response = await this.Client.PostAsync(URI, new StringContent(JsonConvert.SerializeObject(ViewModel).ToString(), Encoding.UTF8, MediaType)); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); }
private async Task Should_Success_Accept_Document_With_Verification_Role() { PurchasingDocumentAcceptanceViewModel vModel = await DataUtil.GetVerificationNewData(); int AffectedRows = await Facade.PurchasingDocumentAcceptance(vModel, "Unit Test"); Assert.True(AffectedRows > 0); }
public PurchasingDocumentAcceptanceViewModel GetNewData() { purchasingDocumentExpedition = Task.Run(() => this.sendToVerificationDataUtil.GetTestData()).Result; PurchasingDocumentAcceptanceItem item = new PurchasingDocumentAcceptanceItem() { Id = purchasingDocumentExpedition.Id, UnitPaymentOrderNo = purchasingDocumentExpedition.UnitPaymentOrderNo }; PurchasingDocumentAcceptanceViewModel TestData = new PurchasingDocumentAcceptanceViewModel() { PurchasingDocumentExpedition = new List <PurchasingDocumentAcceptanceItem>() { item } }; return(TestData); }
public async Task <int> PurchasingDocumentAcceptance(PurchasingDocumentAcceptanceViewModel data, string username) { int Updated = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { List <string> unitPaymentOrders = new List <string>(); #region Verification if (data.Role.Equals("VERIFICATION")) { foreach (PurchasingDocumentAcceptanceItem item in data.PurchasingDocumentExpedition) { unitPaymentOrders.Add(item.UnitPaymentOrderNo); PurchasingDocumentExpedition model = new PurchasingDocumentExpedition { Id = item.Id, VerificationDivisionBy = username, VerificationDivisionDate = DateTimeOffset.UtcNow, Position = ExpeditionPosition.VERIFICATION_DIVISION, }; EntityExtension.FlagForUpdate(model, username, "Facade"); //dbContext.Attach(model); dbContext.Entry(model).Property(x => x.VerificationDivisionBy).IsModified = true; dbContext.Entry(model).Property(x => x.VerificationDivisionDate).IsModified = true; dbContext.Entry(model).Property(x => x.Position).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedAgent).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedBy).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedUtc).IsModified = true; } Updated = await dbContext.SaveChangesAsync(); UpdateUnitPaymentOrderPosition(unitPaymentOrders, ExpeditionPosition.VERIFICATION_DIVISION, username); } #endregion Verification #region Cashier else if (data.Role.Equals("CASHIER")) { foreach (PurchasingDocumentAcceptanceItem item in data.PurchasingDocumentExpedition) { unitPaymentOrders.Add(item.UnitPaymentOrderNo); PurchasingDocumentExpedition model = new PurchasingDocumentExpedition { Id = item.Id, CashierDivisionBy = username, CashierDivisionDate = DateTimeOffset.UtcNow, Position = ExpeditionPosition.CASHIER_DIVISION, }; EntityExtension.FlagForUpdate(model, username, "Facade"); //dbContext.Attach(model); dbContext.Entry(model).Property(x => x.CashierDivisionBy).IsModified = true; dbContext.Entry(model).Property(x => x.CashierDivisionDate).IsModified = true; dbContext.Entry(model).Property(x => x.Position).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedAgent).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedBy).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedUtc).IsModified = true; } Updated = await dbContext.SaveChangesAsync(); UpdateUnitPaymentOrderPosition(unitPaymentOrders, ExpeditionPosition.CASHIER_DIVISION, username); } #endregion Cashier #region Accounting else if (data.Role.Equals("ACCOUNTING")) { foreach (PurchasingDocumentAcceptanceItem item in data.PurchasingDocumentExpedition) { unitPaymentOrders.Add(item.UnitPaymentOrderNo); PurchasingDocumentExpedition model = new PurchasingDocumentExpedition { Id = item.Id, AccountingDivisionBy = username, AccountingDivisionDate = DateTimeOffset.UtcNow, Position = ExpeditionPosition.FINANCE_DIVISION, }; EntityExtension.FlagForUpdate(model, username, "Facade"); //dbContext.Attach(model); dbContext.Entry(model).Property(x => x.AccountingDivisionBy).IsModified = true; dbContext.Entry(model).Property(x => x.AccountingDivisionDate).IsModified = true; dbContext.Entry(model).Property(x => x.Position).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedAgent).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedBy).IsModified = true; dbContext.Entry(model).Property(x => x.LastModifiedUtc).IsModified = true; } Updated = await dbContext.SaveChangesAsync(); UpdateUnitPaymentOrderPosition(unitPaymentOrders, ExpeditionPosition.FINANCE_DIVISION, username); } #endregion Accounting /* #region Finance * else if (data.Role.Equals("FINANCE")) * { * foreach (PurchasingDocumentAcceptanceItem item in data.PurchasingDocumentExpedition) * { * unitPaymentOrders.Add(item.UnitPaymentOrderNo); * * PurchasingDocumentExpedition model = new PurchasingDocumentExpedition * { * Id = item.Id, * FinanceDivisionBy = username, * FinanceDivisionDate = DateTimeOffset.UtcNow, * Position = ExpeditionPosition.FINANCE_DIVISION, * }; * * EntityExtension.FlagForUpdate(model, username, "Facade"); * dbContext.Attach(model); * dbContext.Entry(model).Property(x => x.FinanceDivisionBy).IsModified = true; * dbContext.Entry(model).Property(x => x.FinanceDivisionDate).IsModified = true; * dbContext.Entry(model).Property(x => x.Position).IsModified = true; * dbContext.Entry(model).Property(x => x.LastModifiedAgent).IsModified = true; * dbContext.Entry(model).Property(x => x.LastModifiedBy).IsModified = true; * dbContext.Entry(model).Property(x => x.LastModifiedUtc).IsModified = true; * } * * Updated = await dbContext.SaveChangesAsync(); * UpdateUnitPaymentOrderPosition(unitPaymentOrders, ExpeditionPosition.FINANCE_DIVISION); * } #endregion Finance */ transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Updated); }