public async Task <int> Create(GarmentPOMasterDistribution model) { int Created = 0; using (var transaction = dbContext.Database.BeginTransaction()) { try { EntityExtension.FlagForCreate(model, identityService.Username, USER_AGENT); foreach (var item in model.Items) { EntityExtension.FlagForCreate(item, identityService.Username, USER_AGENT); if (item.Details != null) { foreach (var detail in item.Details) { EntityExtension.FlagForCreate(detail, identityService.Username, USER_AGENT); } } } dbSet.Add(model); Created = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Created); }
internal GarmentPOMasterDistribution CopyData(GarmentPOMasterDistribution data) { return(new GarmentPOMasterDistribution { UId = data.UId, Id = data.Id, Active = data.Active, CreatedUtc = data.CreatedUtc, CreatedBy = data.CreatedBy, CreatedAgent = data.CreatedAgent, LastModifiedUtc = data.LastModifiedUtc, LastModifiedBy = data.LastModifiedBy, LastModifiedAgent = data.LastModifiedAgent, IsDeleted = data.IsDeleted, DeletedUtc = data.DeletedUtc, DeletedBy = data.DeletedBy, DeletedAgent = data.DeletedAgent, DOId = data.DOId, DONo = data.DONo, DODate = data.DODate, SupplierId = data.SupplierId, SupplierName = data.SupplierName }); }
public async Task <GarmentPOMasterDistribution> GetTestData(GarmentPOMasterDistribution data = null) { data = data ?? await GetNewData(); await facade.Create(data); return(data); }
public async Task <int> Update(long id, GarmentPOMasterDistribution data) { int Updated = 0; using (var transaction = dbContext.Database.BeginTransaction()) { try { var oldData = dbSet.Where(d => d.Id == id) .Include(d => d.Items) .ThenInclude(i => i.Details) .Single(); EntityExtension.FlagForUpdate(oldData, identityService.Username, USER_AGENT); foreach (var oldItem in oldData.Items) { EntityExtension.FlagForUpdate(oldItem, identityService.Username, USER_AGENT); var newItem = data.Items.Single(i => i.Id == oldItem.Id); if (oldItem.Details != null) { foreach (var oldDetail in oldItem.Details) { var newDetail = (newItem.Details ?? new List <GarmentPOMasterDistributionDetail>()).SingleOrDefault(i => i.Id == oldDetail.Id); if (newDetail == null) { EntityExtension.FlagForDelete(oldDetail, identityService.Username, USER_AGENT); } else { oldDetail.Conversion = newDetail.Conversion; oldDetail.Quantity = newDetail.Quantity; oldDetail.OverUsageReason = newDetail.OverUsageReason; EntityExtension.FlagForUpdate(oldDetail, identityService.Username, USER_AGENT); } } } } foreach (var item in data.Items) { var oldItem = oldData.Items.Single(i => i.Id == item.Id); if (item.Details != null) { foreach (var detail in item.Details) { var oldDetail = oldItem.Details.SingleOrDefault(d => d.Id == detail.Id); if (oldDetail == null) { oldItem.Details.Add(detail); EntityExtension.FlagForCreate(detail, identityService.Username, USER_AGENT); } } } } Updated = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Updated); }