Exemplo n.º 1
0
        public override async void UpdateAsync(int id, FinishingPrintingSalesContractModel model)
        {
            if (model.Details != null)
            {
                HashSet <long> detailIds = FinishingPrintingSalesContractDetailLogic.GetFPSalesContractIds(id);
                foreach (var itemId in detailIds)
                {
                    FinishingPrintingSalesContractDetailModel data = model.Details.FirstOrDefault(prop => prop.Id.Equals(itemId));
                    if (data == null)
                    {
                        await FinishingPrintingSalesContractDetailLogic.DeleteAsync(Convert.ToInt32(itemId));
                    }
                    else
                    {
                        FinishingPrintingSalesContractDetailLogic.UpdateAsync(Convert.ToInt32(itemId), data);
                    }

                    foreach (FinishingPrintingSalesContractDetailModel item in model.Details)
                    {
                        if (item.Id == 0)
                        {
                            FinishingPrintingSalesContractDetailLogic.Create(item);
                        }
                    }
                }
            }

            EntityExtension.FlagForUpdate(model, IdentityService.Username, "sales-service");
            DbSet.Update(model);
        }
        public async Task DeleteAsync_Throws_Exception()
        {
            string testName  = GetCurrentMethod();
            var    dbContext = _dbContext(testName);
            Mock <IIdentityService> identityService = new Mock <IIdentityService>();

            identityService.Setup(s => s.Username).Throws(new Exception());
            var model = new FinishingPrintingSalesContractDetailModel()
            {
                FinishingPrintingSalesContract = new FinishingPrintingSalesContractModel()
                {
                    AccountBankAccountName = "Fetih"
                }
            };

            dbContext.FinishingPrintingSalesContractDetails.Add(model);
            dbContext.SaveChanges();

            FinishingPrintingSalesContractDetailLogic unitUnderTest = new FinishingPrintingSalesContractDetailLogic(GetServiceProvider(testName).Object, identityService.Object, dbContext);
            await Assert.ThrowsAsync <Exception>(() => unitUnderTest.DeleteAsync(model.Id));
        }
        public async Task DeleteAsync_Return_Success()
        {
            string           testName        = GetCurrentMethod();
            var              dbContext       = _dbContext(testName);
            IIdentityService identityService = new IdentityService {
                Username = "******"
            };
            var model = new FinishingPrintingSalesContractDetailModel()
            {
                FinishingPrintingSalesContract = new FinishingPrintingSalesContractModel()
                {
                    AccountBankAccountName = "Fetih"
                }
            };

            dbContext.FinishingPrintingSalesContractDetails.Add(model);
            dbContext.SaveChanges();

            FinishingPrintingSalesContractDetailLogic unitUnderTest = new FinishingPrintingSalesContractDetailLogic(GetServiceProvider(testName).Object, identityService, dbContext);
            await unitUnderTest.DeleteAsync(model.Id);
        }