internal void SaveDetailRows() { foreach (var variable in SelectedMainRow.DetailsList.Where(d => d.ItemCode != null)) { var valiationCollection = new List <ValidationResult>(); var isvalid = Validator.TryValidateObject(variable, new ValidationContext(variable, null, null), valiationCollection, true); if (isvalid) { var rowToSave = new TblTradeAgreementDetail(); rowToSave.InjectFrom(SelectedDetailRow); rowToSave.TblTradeAgreementHeader1 = new TblTradeAgreementHeader() { TblTradeAgreementTransaction1 = new TblTradeAgreementTransaction() }; rowToSave.TblTradeAgreementHeader1.TblTradeAgreementTransaction1.InjectFrom(SelectedMainRow); productionServiceClient.UpdateOrInsertTblTradeAgreementDetailAsync(rowToSave, SelectedMainRow.DetailsList.IndexOf(SelectedDetailRow), LoggedUserInfo.Iserial); } else { MessageBox.Show("Data IS Not Valid"); return; } } }
public void SaveDetailRow() { if (SelectedDetailRow != null) { var valiationCollection = new List <ValidationResult>(); var isvalid = Validator.TryValidateObject(SelectedDetailRow, new ValidationContext(SelectedDetailRow, null, null), valiationCollection, true); if (isvalid) { var rowToSave = new TblTradeAgreementDetail(); rowToSave.InjectFrom(SelectedDetailRow); rowToSave.TblTradeAgreementHeader1 = new TblTradeAgreementHeader() { Iserial = SelectedDetailRow.HeaderIserial, TblTradeAgreementTransaction = SelectedMainRow.Iserial, FromDate = SelectedMainRow.FromDate, ToDate = SelectedMainRow.ToDate, Vendor = SelectedDetailRow.Vendor }; productionServiceClient.UpdateOrInsertTblTradeAgreementDetailAsync(rowToSave, SelectedMainRow.DetailsList.IndexOf(SelectedDetailRow), LoggedUserInfo.Iserial); } } }
private TblTradeAgreementDetail UpdateOrInsertTblTradeAgreementDetail(TblTradeAgreementDetail newRow, int index, out int outindex, int User) { outindex = index; using (var context = new WorkFlowManagerDBEntities()) { var header = newRow.TblTradeAgreementHeader1; if ( context.TblTradeAgreementHeaders.Any( x => x.Vendor == header.Vendor && x.FromDate == header.FromDate && x.ToDate == header.ToDate)) { newRow.TblTradeAgreementHeader1 = null; newRow.TblTradeAgreementHeader = context.TblTradeAgreementHeaders.FirstOrDefault( x => x.Vendor == header.Vendor && x.FromDate == header.FromDate && x.ToDate == header.ToDate) .Iserial; var oldRow = (from e in context.TblTradeAgreementDetails where e.Iserial == newRow.Iserial select e).SingleOrDefault(); if (oldRow != null) { newRow.CreatedBy = oldRow.CreatedBy; newRow.CreationDate = oldRow.CreationDate; newRow.LastUpdatedBy = User; newRow.LastUpdatedDate = DateTime.Now; GenericUpdate(oldRow, newRow, context); } else { newRow.CreatedBy = User; newRow.CreationDate = DateTime.Now; newRow.LastUpdatedDate = DateTime.Now; context.TblTradeAgreementDetails.AddObject(newRow); } } else { var oldRow = (from e in context.TblTradeAgreementDetails where e.Iserial == newRow.Iserial select e).SingleOrDefault(); if (oldRow != null) { context.TblTradeAgreementDetails.DeleteObject(oldRow); } newRow.Iserial = 0; newRow.TblTradeAgreementHeader = 0; newRow.TblTradeAgreementHeader1.Iserial = 0; newRow.CreatedBy = User; newRow.CreationDate = DateTime.Now; newRow.LastUpdatedDate = DateTime.Now; context.TblTradeAgreementDetails.AddObject(newRow); } context.SaveChanges(); return(newRow); } }
private TblTradeAgreementDetail UpdateOrInsertTblTradeAgreementDetail(TblTradeAgreementDetail newRow, int index, out int outindex, int User) { outindex = index; using (var context = new WorkFlowManagerDBEntities()) { var header = newRow.TblTradeAgreementHeader1; header.TblTradeAgreementTransaction1 = null; newRow.TblColor1 = null; newRow.TblColor1Reference = null; newRow.TblLkpSeason1 = null; newRow.TblLkpSeason1Reference = null; newRow.TblVendorPurchaseGroup1 = null; newRow.TblVendorPurchaseGroup1Reference = null; if (context.TblTradeAgreementHeaders.Any( x => x.Vendor == header.Vendor && x.FromDate == header.FromDate && x.ToDate == header.ToDate)) { newRow.TblTradeAgreementHeader1 = null; newRow.TblTradeAgreementHeader = context.TblTradeAgreementHeaders.FirstOrDefault( x => x.Vendor == header.Vendor && x.FromDate == header.FromDate && x.ToDate == header.ToDate).Iserial; var oldRow = context.TblTradeAgreementDetails. SingleOrDefault(e => e.Iserial == newRow.Iserial); if (oldRow != null) { newRow.CreatedBy = oldRow.CreatedBy; newRow.CreationDate = oldRow.CreationDate; newRow.LastUpdatedBy = User; newRow.LastUpdatedDate = DateTime.Now; SharedOperation.GenericUpdate(oldRow, newRow, context); } else { newRow.CreatedBy = User; newRow.LastUpdatedBy = User; newRow.CreationDate = DateTime.Now; newRow.LastUpdatedDate = DateTime.Now; context.TblTradeAgreementDetails.AddObject(newRow); } } else { context.TblTradeAgreementHeaders.AddObject(newRow.TblTradeAgreementHeader1); //newRow.TblTradeAgreementHeader1 = null; var oldRow = context.TblTradeAgreementDetails.SingleOrDefault(e => e.Iserial == newRow.Iserial); if (oldRow != null) { context.TblTradeAgreementDetails.DeleteObject(oldRow); } else { newRow.LastUpdatedBy = User; newRow.LastUpdatedDate = DateTime.Now; newRow.CreatedBy = User; newRow.CreationDate = DateTime.Now; context.TblTradeAgreementDetails.AddObject(newRow); } newRow.Iserial = 0; } context.SaveChanges(); return(newRow); } }
public List <TblTradeAgreementDetail> SaveTradeAgreement(TblTradeAgreementTransaction header, out TblTradeAgreementTransaction savedHeader) { header.TblLkpSeason1 = null; savedHeader = header; using (var entities = new WorkFlowManagerDBEntities()) { var oldTransaction = entities.TblTradeAgreementTransactions.FirstOrDefault(s => s.Iserial == header.Iserial); if (oldTransaction != null) { SharedOperation.GenericUpdate(oldTransaction, header, entities); foreach (var headerItem in header.TblTradeAgreementHeaders) { headerItem.TblTradeAgreementTransaction = oldTransaction.Iserial; var oldRow = entities.TblTradeAgreementHeaders.FirstOrDefault( x => x.Vendor == headerItem.Vendor && x.FromDate == headerItem.FromDate && x.ToDate == headerItem.ToDate); if (oldRow != null) { headerItem.Iserial = oldRow.Iserial; SharedOperation.GenericUpdate(oldRow, headerItem, entities); foreach (var detailItem in headerItem.TblTradeAgreementDetails) { detailItem.TblTradeAgreementHeader = headerItem.Iserial; if (detailItem.Iserial != 0) { var olddetailRow = entities.TblTradeAgreementDetails.SingleOrDefault( s => s.Iserial == detailItem.Iserial); SharedOperation.GenericUpdate(olddetailRow, detailItem, entities); } else { var tempDetail = new TblTradeAgreementDetail(); tempDetail = detailItem.Clone(); tempDetail.TblTradeAgreementHeader1 = null; entities.TblTradeAgreementDetails.AddObject(tempDetail); } } } else { var tempHeader = new TblTradeAgreementHeader(); tempHeader = headerItem.Clone(); tempHeader.TblTradeAgreementTransaction1 = null; entities.TblTradeAgreementHeaders.AddObject(tempHeader); } } } else { header.Serial = entities.TblTradeAgreementTransactions.Where(t => t.TblLkpSeason == header.TblLkpSeason ).Select(t => t.Serial).DefaultIfEmpty(0).Max() + 1; entities.TblTradeAgreementTransactions.AddObject(header); } entities.SaveChanges(); List <TblTradeAgreementDetail> result = new List <TblTradeAgreementDetail>(); header.TblTradeAgreementHeaders.ForEach(h => h.TblTradeAgreementDetails.ForEach(d => result.Add(d))); return(result); } }