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 TblTransferDetail(); rowToSave.InjectFrom(SelectedDetailRow); WarehouseClient.UpdateOrInsertTransferDetailAsync(rowToSave, SelectedMainRow.TblTransferDetails.IndexOf(SelectedDetailRow)); } } }
private TblTransferDetail DeleteTransferDetail(TblTransferDetail row) { using (var context = new WorkFlowManagerDBEntities()) { var oldRow = (from e in context.TblTransferDetails where e.Iserial == row.Iserial select e).SingleOrDefault(); if (oldRow != null) { context.DeleteObject(oldRow); } context.SaveChanges(); } return(row); }
public void SaveMainRow() { if (SelectedMainRow != null) { var valiationCollection = new List <ValidationResult>(); var isvalid = Validator.TryValidateObject(SelectedMainRow, new ValidationContext(SelectedMainRow, null, null), valiationCollection, true); isvalid &= UserWarehouseList.Any(uw => uw.WarehouseIserial == SelectedMainRow.WarehouseFrom || uw.WarehouseIserial == SelectedMainRow.WarehouseTo); if (isvalid) { var saveRow = new TblTransferHeader() { DocDate = DateTime.Now, CreatedBy = 1, CreationDate = DateTime.Now, Approved = false, LastChangeDate = DateTime.Now, CodeFrom = "", CodeTo = "", }; saveRow.InjectFrom(SelectedMainRow); saveRow.TblTransferDetails = new ObservableCollection <TblTransferDetail>(); foreach (var item in SelectedMainRow.TblTransferDetails) { var detailTemp = new TblTransferDetail(); detailTemp.InjectFrom(item); detailTemp.ItemTransfer = new Web.DataLayer.ItemDimensionSearchModel(); saveRow.TblTransferDetails.Add(detailTemp); } var mainRowIndex = MainRowList.IndexOf(SelectedMainRow); if (mainRowIndex < 0) { MainRowList.Insert(mainRowIndex + 1, SelectedMainRow); mainRowIndex++; } WarehouseClient.UpdateOrInsertTransferHeaderAsync(saveRow, mainRowIndex, LoggedUserInfo.Iserial); } else { MessageBox.Show("Please Choose one of your assigned warehouses"); } } }
private TblTransferDetail UpdateOrInsertTransferDetail(TblTransferDetail newRow, int index, out int outindex) { outindex = index; using (var context = new WorkFlowManagerDBEntities()) { var oldRow = (from e in context.TblTransferDetails where e.Iserial == newRow.Iserial select e).SingleOrDefault(); if (oldRow != null) { //context.Entry(oldRow).CurrentValues.SetValues(newRow); SharedOperation.GenericUpdate(oldRow, newRow, context); } else { context.TblTransferDetails.AddObject(newRow); } context.SaveChanges(); return(newRow); } }
/// <summary> /// لازم يكون معاه الهيدر بتاعه /// </summary> /// <param name="context"></param> /// <param name="item"></param> private static void GetTransferItemDetails(WorkFlowManagerDBEntities context, TblTransferDetail item) { // From var tempFrom = context.GetItemDimDetails(item.ItemDimFrom); var itemDimFromResult = tempFrom.FirstOrDefault(); item.ItemTransfer.ItemId = itemDimFromResult.ItemIserial; item.ItemTransfer.ItemName = itemDimFromResult.ItemName; item.ItemTransfer.ItemType = itemDimFromResult.ItemType; item.ItemTransfer.ItemCode = context.FabricAccSearches.FirstOrDefault(fas => fas.Iserial == itemDimFromResult.ItemIserial && fas.ItemGroup == itemDimFromResult.ItemType).Code; item.ItemTransfer.TransferredQuantity = Convert.ToDecimal(item.Quantity); item.ItemTransfer.ItemDimFromIserial = item.ItemDimFrom; item.ItemTransfer.ColorFromId = itemDimFromResult.ColorIserial; item.ItemTransfer.ColorFrom.InjectFrom(context.TblColors.FirstOrDefault(c => c.Iserial == itemDimFromResult.ColorIserial)); item.ItemTransfer.ColorFromCode = itemDimFromResult.ColorCode; item.ItemTransfer.SizeFrom = itemDimFromResult.Size; item.ItemTransfer.BatchNoFrom = itemDimFromResult.BatchNo; item.ItemTransfer.SiteFromIserial = itemDimFromResult.SiteIserial; // TO var tempTo = context.GetItemDimDetails(item.ItemDimTo); var itemDimToResult = tempTo.FirstOrDefault(); item.ItemTransfer.ItemDimToIserial = item.ItemDimTo; item.ItemTransfer.ColorToId = itemDimToResult.ColorIserial; item.ItemTransfer.ColorPerRow.InjectFrom(context.TblColors.FirstOrDefault(c => c.Iserial == itemDimToResult.ColorIserial)); item.ItemTransfer.SizeTo = itemDimToResult.Size; item.ItemTransfer.BatchNoTo = itemDimToResult.BatchNo; item.ItemTransfer.SiteToIserial = itemDimToResult.SiteIserial; // From string warehouseCodeFrom = context.TblWarehouses.FirstOrDefault(tw => tw.Iserial == item.TblTransferHeader.WarehouseFrom).Code; var itemdimFrom = context.TblItemDims.FirstOrDefault(id => id.Iserial == item.ItemDimFrom); item.ItemTransfer.PendingQuantity = GetItemPendingByWarehouse(context, warehouseCodeFrom, itemdimFrom.Iserial); if (item.ItemTransfer.ItemType.ToLower().Contains("acc") || item.ItemTransfer.ItemType.ToLower().Contains("fp"))// ده كده اكسيسورى { item.ItemTransfer.AvailableQuantity = GetItemQuantityByWarehouse(context, warehouseCodeFrom, itemdimFrom.Iserial); } else// كده قماش { string itemFromCode = context.FabricAccSearches.FirstOrDefault(fas => fas.Iserial == itemdimFrom.ItemIserial && fas.ItemGroup == itemdimFrom.ItemType).Code; string colorCode = context.TblColors.FirstOrDefault(c => c.Iserial == itemdimFrom.TblColor).Code; item.ItemTransfer.AvailableQuantity = WarehouseQuantities.GetAvilableQuantity( warehouseCodeFrom, itemFromCode, colorCode, itemdimFrom.Size, itemdimFrom.BatchNo); } // To string warehouseCodeTo = context.TblWarehouses.FirstOrDefault(tw => tw.Iserial == item.TblTransferHeader.WarehouseTo).Code; var itemdimTo = context.TblItemDims.FirstOrDefault(id => id.Iserial == item.ItemDimTo); item.ItemTransfer.PendingToQuantity = GetItemPendingByWarehouse(context, warehouseCodeTo, itemdimTo.Iserial); if (item.ItemTransfer.ItemType.ToLower().Contains("acc") || item.ItemTransfer.ItemType.ToLower().Contains("fp"))// ده كده اكسيسورى { item.ItemTransfer.AvailableToQuantity = GetItemQuantityByWarehouse(context, warehouseCodeTo, itemdimTo.Iserial); } else// كده قماش { string itemToCode = context.FabricAccSearches.FirstOrDefault(fas => fas.Iserial == itemdimTo.ItemIserial && fas.ItemGroup == itemdimTo.ItemType).Code; string colorCode = context.TblColors.FirstOrDefault(c => c.Iserial == itemdimTo.TblColor).Code; item.ItemTransfer.AvailableToQuantity = WarehouseQuantities.GetAvilableQuantity( warehouseCodeTo, itemToCode, colorCode, itemdimTo.Size, itemdimTo.BatchNo); } }