public void UpdateRFQ(tbl_RFQHeader _RFQObj) { using (var contex = new WorkFlowManagerDBEntities()) { var temp = (from x in contex.tbl_RFQHeader where x.TransID == _RFQObj.TransID select x).SingleOrDefault(); if (temp != null) { GenerUpdate(temp, _RFQObj, contex); } contex.SaveChanges(); } }
public bool DeleteRFQ(tbl_RFQHeader ObjectToBeDeleted) { using (var context = new WorkFlowManagerDBEntities()) { try { var temp = context.RFQByDocNum(ObjectToBeDeleted.DocNumber); context.DeleteObject(temp); context.SaveChanges(); return(true); } catch (System.Exception ex) { throw ex; } } }
public static RFQViewModel MapToViewModel(tbl_RFQHeader objectToBeMapped, RFQViewModel objectToBeFilled) { if (objectToBeFilled == null) { objectToBeFilled = new RFQViewModel(); } objectToBeFilled.TransID = objectToBeMapped.TransID; objectToBeFilled.BrandCode = objectToBeMapped.BrandCode; objectToBeFilled.BrandProp = objectToBeFilled.Brands.FirstOrDefault(x => x.Brand_Code == objectToBeFilled.BrandCode); objectToBeFilled.SeasonCode = objectToBeMapped.SeasonCode; objectToBeFilled.SeasonProp = objectToBeFilled.Seasons.FirstOrDefault(x => x.Code == objectToBeFilled.SeasonCode); objectToBeFilled.SupplierID = objectToBeMapped.SupplierCode; objectToBeFilled.SupplierProp = objectToBeFilled.Vendors.FirstOrDefault(x => x.vendor_code == objectToBeFilled.SupplierID); objectToBeFilled.DocNum = objectToBeMapped.DocNumber; objectToBeFilled.ObjStatus = new ObjectStatus(); foreach (var item in objectToBeMapped.tbl_RFQDetail) { objectToBeFilled.RFQHeaderList.Add(new RFQSubHeader(objectToBeFilled.RFQItems, objectToBeFilled.RFQServices)); var temp2 = objectToBeFilled.RFQHeaderList[objectToBeFilled.RFQHeaderList.Count - 1]; temp2.HeaderImage = item.Image; if (item.DelivaryDate != null) { temp2.DelivaryDate = (DateTime)item.DelivaryDate; } temp2.Desc = item.Descreption; temp2.IsSampleAttached = item.IsSampleAttached; temp2.MainFabDesc = item.MainFabricDesc; temp2.MainHeaderTransID = objectToBeFilled.TransID; temp2.Notes = item.Notes; if (item.Qty != null) { temp2.Qty = (int)item.Qty; } temp2.Style = item.StyleCode; temp2.SubFabDesc = item.SubFabricDesc; temp2.SubHeaderSerial = item.SubHeaderID; temp2.ObjStatus = new ObjectStatus { IsNew = false, IsSavedDBItem = true, IsEmpty = false }; foreach (var itemTemp in item.tbl_RFQDetailItem.Select(iItems => new RFQHeaderItem(temp2.RFQItems) { Description = iItems.Description, Image = iItems.Image, Iserial = iItems.Iserial, ItemCode = iItems.ItemCode, ParentID = temp2.SubHeaderSerial, ItemGroup = iItems.Source, Batch = iItems.Batch, Config = iItems.Configuration, Size = iItems.Size, Name = iItems.Name })) { itemTemp.SelectedRFQItem = new ItemsDto { Code = itemTemp.ItemCode, Desc = itemTemp.Description, Image = itemTemp.Image, ItemGroup = itemTemp.ItemGroup, Size = itemTemp.Size, Config = itemTemp.Config, Batch = itemTemp.Batch, Name = itemTemp.Name }; itemTemp.ObjStatus = new ObjectStatus { IsNew = false, IsSavedDBItem = true, IsEmpty = false }; temp2.HeaderItems.Add(itemTemp); } foreach (var servtemp in item.tbl_RFQDetailService.Select(sItem => new RFQHeaderServices(temp2.RFQServices) { Image = sItem.Image, Iserial = sItem.Iserial, Notes = sItem.Notes, ServiceCode = sItem.ServiceCode, ParentID = temp2.SubHeaderSerial })) { servtemp.SelectedRFQService = servtemp.RFQServices.FirstOrDefault(x => x.Code == servtemp.ServiceCode); servtemp.ObjStatus = new ObjectStatus { IsNew = false, IsSavedDBItem = true, IsEmpty = false }; temp2.HeaderServices.Add(servtemp); } foreach (var ftemp in item.tbl_RFQFollowup.Where(x => x.FollowupType == 1) .Select(fItem => new RFQFollowUpViewModel { ActualDelivaryDate = fItem.ActualDelivaryDate, EstimatedDelivaryDate = fItem.EstDelivaryDate, Notes = fItem.Notes, SizeCode = fItem.SizeCode, StatusID = fItem.StatusID, Style = fItem.StyleCode, ParentID = temp2.SubHeaderSerial, IsApproved = fItem.StatusID == 2, Iserial = fItem.Iserial, ObjStatus = new ObjectStatus { IsNew = false, IsSavedDBItem = true, IsEmpty = false } })) { temp2.FollowUpList.Add(ftemp); } foreach (var fctemp in item.tbl_RFQFollowup.Where(x => x.FollowupType == 0) .Select(fcItem => new RFQCostFollowUp { ActualDelivaryDate = fcItem.ActualDelivaryDate, Cost = fcItem.Cost, EstimatedDelivaryDate = fcItem.EstDelivaryDate, Notes = fcItem.Notes, Status = fcItem.StatusID, IsApproved = fcItem.StatusID == 2, Style = fcItem.StyleCode, Currency = fcItem.Currency, ExchangeRate = fcItem.ExchangeRate, LocalCost = fcItem.LocalCost, ParentID = temp2.SubHeaderSerial, AdditionalCost = fcItem.DCost, Iserial = fcItem.Iserial, AdditionalCostList = fcItem.tbl_RFQ_AdditionalCost, Parent = temp2, StyleColor = fcItem.ColorCode, })) { temp2.CostFollowUpList.Add(fctemp); } } foreach (var purchHeader in objectToBeMapped.tbl_PurchaseOrderHeader) { var purchHeaderTemp = new PurchaseOrderHeaderViewModel { CreationDate = (DateTime)purchHeader.CreationDate, TransID = purchHeader.TransID, DocDate = purchHeader.RecieveDate, VendorCode = purchHeader.Vendor, WarHouseCode = purchHeader.WareHouseID, ParentId = purchHeader.RFQTransID, PurchId = purchHeader.PurchaseID, IsPosted = purchHeader.IsPosted, ObjStatus = new ObjectStatus { IsNew = false, IsSavedDBItem = true } }; #region [ Adding Purch Lines ] var detailHeaders = (from tblPurchaseOrderDetails in purchHeader.tbl_PurchaseOrderDetails let purchasePrice = tblPurchaseOrderDetails.PurchasePrice where purchasePrice != null let rowTotal = tblPurchaseOrderDetails.tbl_PurchaseOrderSizeDetails.Sum(x => x.Qty) let tmp = tblPurchaseOrderDetails.tbl_PurchaseOrder_AdditionalCost.Sum(x => x.LocalValue) let addCost = tmp == 0 ? tmp : (tmp / rowTotal) select new PurchasOrderDetailsViewModel { StyleColor = tblPurchaseOrderDetails.Color, Price = (decimal)purchasePrice, StyleHeader = tblPurchaseOrderDetails.StyleCode, DelivaryDate = tblPurchaseOrderDetails.DelivaryDate, ParentTransID = tblPurchaseOrderDetails.Trans_TransactionHeader, ParentRfqSub = objectToBeFilled.RFQHeaderList.FirstOrDefault(x => x.Style == tblPurchaseOrderDetails.StyleCode), Iserial = tblPurchaseOrderDetails.Iserial, RowTotal = rowTotal ?? 0, AdditionalCost = addCost ?? 0, ObjStatus = new ObjectStatus { IsNew = false, IsSavedDBItem = true, IsEmpty = false, IsReadyForSaving = true, IsLoading = true }, AdditionalCostList = tblPurchaseOrderDetails.tbl_PurchaseOrder_AdditionalCost }).ToList(); foreach (var detail in purchHeader.tbl_PurchaseOrderDetails) { var counter = 0; var detail1 = detail.tbl_PurchaseOrderSizeDetails; var purchline = detailHeaders.FirstOrDefault(x => x.Iserial == detail.Iserial); foreach (var sizeDetail in detail1) { purchline.PurchaseOrderSizes[counter].SizeCode = sizeDetail.Size; purchline.PurchaseOrderSizes[counter].SizeConsumption = (int)sizeDetail.Qty; purchline.PurchaseOrderSizes[counter].IsTextBoxEnabled = true; purchline.PurchaseOrderSizes[counter].Iserial = sizeDetail.Iserial; purchline.PurchaseOrderSizes[counter].SizeRatio = (decimal)sizeDetail.Ratio; counter++; } } detailHeaders.ForEach(x => purchHeaderTemp.PurchaseOrderDetails.Add(x)); purchHeaderTemp.GrandTotal = int.Parse ( purchHeaderTemp .PurchaseOrderDetails .Select (x => x.PurchaseOrderSizes .Sum(z => z.SizeConsumption) ).Sum().ToString(CultureInfo.InvariantCulture) ); #endregion [ Adding Purch Lines ] purchHeaderTemp.SelectedPurchDetail = purchHeaderTemp.PurchaseOrderDetails.FirstOrDefault(); detailHeaders.ToList().ForEach(x => x.ObjStatus.IsLoading = false); objectToBeFilled.PurchHeaders.Add(purchHeaderTemp); } if (objectToBeFilled.PurchHeaders != null && objectToBeFilled.PurchHeaders.Any()) { objectToBeFilled.PurchaseHeaderSelectedItem = objectToBeFilled.PurchHeaders[0]; } objectToBeFilled.AllFollowupApproved = objectToBeFilled.RFQHeaderList .Any(x => (x.FollowupsApproved = x.FollowUpList .Any(y => y.IsApproved) && x.CostFollowUpList .Any(z => z.IsApproved))); objectToBeFilled.FormMode = ObjectMode.LoadedFromDb; objectToBeFilled.ObjStatus.IsNew = false; objectToBeFilled.ObjStatus.IsSavedDBItem = true; return(objectToBeFilled); }
public string SaveAllNewRFQ(tbl_RFQHeader rfqObj) { using (var contex = new WorkFlowManagerDBEntities()) { var temp = ""; try { var first = contex.sp_GetMaxRFQDocNum().FirstOrDefault(); if (first != null) { temp = (int.Parse(first) + 1).ToString(CultureInfo.InvariantCulture); } } catch { temp = 0.ToString(CultureInfo.InvariantCulture); } rfqObj.DocNumber = temp; int c; try { c = (from a in (from x in contex.tbl_PurchaseOrderHeader where x.PurchaseID.StartsWith(rfqObj.BrandCode + "-" + rfqObj.SeasonCode) select x.PurchaseID).ToList() let str = SubstractString(a) let value = NullableTryParseInt32(str) select value ?? 0).Max(); } catch { c = 000000; } foreach (var purchaseOrderHeader in rfqObj.tbl_PurchaseOrderHeader) { var purchNum = ""; var newC = (c + 1); if (newC < 10) { purchNum = "00000" + newC.ToString(CultureInfo.InvariantCulture); } if (newC > 10 && newC < 100) { purchNum = "0000" + newC.ToString(CultureInfo.InvariantCulture); } if (newC > 100 && newC < 1000) { purchNum = "000" + newC.ToString(CultureInfo.InvariantCulture); } if (newC > 1000 && newC < 10000) { purchNum = "00" + newC.ToString(CultureInfo.InvariantCulture); } if (newC > 10000 && newC < 100000) { purchNum = "0" + newC.ToString(CultureInfo.InvariantCulture); } if (newC > 100000 && newC < 1000000) { purchNum = newC.ToString(CultureInfo.InvariantCulture); } purchaseOrderHeader.PurchaseID = (rfqObj.BrandCode + "-" + rfqObj.SeasonCode + "-" + (string.IsNullOrEmpty(purchNum) ? "000000" : purchNum)) ; c++; } contex.tbl_RFQHeader.AddObject(rfqObj); contex.SaveChanges(); return(rfqObj.DocNumber); } }
public static tbl_RFQHeader MapToModel(RFQViewModel objectToBemapped, bool isFullObjectMapper) { var temp = new tbl_RFQHeader { BrandCode = objectToBemapped.BrandCode, SeasonCode = objectToBemapped.SeasonCode, SupplierCode = objectToBemapped.SupplierID }; if (objectToBemapped.TransID != null) { temp.TransID = (int)objectToBemapped.TransID; } temp.DocNumber = objectToBemapped.DocNum ?? " "; temp.tbl_RFQDetail = new ObservableCollection <tbl_RFQDetail>(); foreach (var item in objectToBemapped.RFQHeaderList) { var stemp = new tbl_RFQDetail { DelivaryDate = item.DelivaryDate, Descreption = item.Desc, Image = item.HeaderImage, IsSampleAttached = item.IsSampleAttached, MainFabricDesc = item.MainFabDesc }; if (item.MainHeaderTransID != null) { stemp.MainHeaderTransID = item.MainHeaderTransID; } stemp.Notes = item.Notes; stemp.Qty = item.Qty; stemp.StyleCode = item.Style; stemp.SubFabricDesc = item.SubFabDesc; if (item.SubHeaderSerial != null) { stemp.SubHeaderID = (int)item.SubHeaderSerial; } stemp.tbl_RFQDetailService = new ObservableCollection <tbl_RFQDetailService>(); foreach (var sItem in item.HeaderServices) { var hsTemp = new tbl_RFQDetailService { Image = sItem.Image }; if (sItem.Iserial != null) { hsTemp.Iserial = (int)sItem.Iserial; } hsTemp.Notes = sItem.Notes; if (sItem.ServiceCode != null) { hsTemp.ServiceCode = sItem.ServiceCode; } if (sItem.ParentID != null) { hsTemp.SupHeaderID = sItem.ParentID; } stemp.tbl_RFQDetailService.Add(hsTemp); } stemp.tbl_RFQDetailItem = new ObservableCollection <tbl_RFQDetailItem>(); foreach (var iItems in item.HeaderItems) { var iTemp = new tbl_RFQDetailItem(); iTemp.ItemCode = iItems.SelectedRFQItem.Code; iTemp.Description = iItems.Description; iTemp.Image = iItems.Image; iTemp.Size = iItems.SelectedRFQItem.Size; iTemp.Configuration = iItems.SelectedRFQItem.Config; iTemp.Batch = iItems.SelectedRFQItem.Batch; iTemp.Name = iItems.SelectedRFQItem.Name; iTemp.Source = iItems.SelectedRFQItem.ItemGroup; if (iItems.Iserial != null) { iTemp.Iserial = (int)iItems.Iserial; } iTemp.ItemCode = iItems.ItemCode; if (iItems.ParentID != null) { iTemp.SupHeaderID = iItems.ParentID; } stemp.tbl_RFQDetailItem.Add(iTemp); } stemp.tbl_RFQFollowup = new ObservableCollection <tbl_RFQFollowup>(); foreach (var fItem in item.FollowUpList) { var fTemp = new tbl_RFQFollowup { ActualDelivaryDate = fItem.ActualDelivaryDate, EstDelivaryDate = fItem.EstimatedDelivaryDate, FollowupType = 1 }; if (fItem.Iserial != null) { fTemp.Iserial = (int)fItem.Iserial; } fTemp.Notes = fItem.Notes; fTemp.SizeCode = fItem.SizeCode; fTemp.StatusID = fItem.StatusID; fTemp.StyleCode = fItem.Style; if (fItem.ParentID != null) { fTemp.SubHeaderID = fItem.ParentID; } stemp.tbl_RFQFollowup.Add(fTemp); } foreach (var fcItem in item.CostFollowUpList) { var fcTemp = new tbl_RFQFollowup { ActualDelivaryDate = fcItem.ActualDelivaryDate, Cost = fcItem.Cost, EstDelivaryDate = fcItem.EstimatedDelivaryDate, FollowupType = 0, Currency = fcItem.Currency, ExchangeRate = fcItem.ExchangeRate, LocalCost = fcItem.LocalCost, DCost = fcItem.AdditionalCost, ColorCode = fcItem.StyleColor }; if (fcItem.Iserial != null) { fcTemp.Iserial = (int)fcItem.Iserial; } fcTemp.Notes = fcItem.Notes; fcTemp.StatusID = fcItem.Status; fcTemp.StyleCode = fcItem.Style; if (fcItem.ParentID != null) { fcTemp.SubHeaderID = fcItem.ParentID; } fcTemp.tbl_RFQ_AdditionalCost = fcItem.AdditionalCostList; stemp.tbl_RFQFollowup.Add(fcTemp); } temp.tbl_RFQDetail.Add(stemp); } temp.tbl_PurchaseOrderHeader = new ObservableCollection <tbl_PurchaseOrderHeader>(); foreach (var purchHeader in objectToBemapped.PurchHeaders) { var purchHeaderTemp = new tbl_PurchaseOrderHeader { CreationDate = purchHeader.CreationDate, RecieveDate = purchHeader.DocDate, Vendor = purchHeader.VendorCode, WareHouseID = purchHeader.WarHouseCode, PurchaseID = purchHeader.PurchId, tbl_PurchaseOrderDetails = new ObservableCollection <tbl_PurchaseOrderDetails>() }; foreach (var detail in purchHeader.PurchaseOrderDetails) { var detail1 = detail; var purchline = new tbl_PurchaseOrderDetails { Color = detail1.StyleColor ?? "", PurchasePrice = detail1.Price, StyleCode = detail1.StyleHeader, DelivaryDate = detail1.DelivaryDate }; purchline.tbl_PurchaseOrderSizeDetails = new ObservableCollection <tbl_PurchaseOrderSizeDetails> ( detail.PurchaseOrderSizes .Where(x => x.IsTextBoxEnabled).Select(sizeDetail => new tbl_PurchaseOrderSizeDetails { Size = sizeDetail.SizeCode, Qty = int.Parse(sizeDetail.SizeConsumption.ToString(CultureInfo.InvariantCulture)) , Ratio = double.Parse(sizeDetail.SizeRatio.ToString(CultureInfo.InvariantCulture)) }) ); purchline.tbl_PurchaseOrder_AdditionalCost = new ObservableCollection <tbl_PurchaseOrder_AdditionalCost> (detail.AdditionalCostList); purchHeaderTemp.tbl_PurchaseOrderDetails .Add ( purchline ); } temp.tbl_PurchaseOrderHeader.Add(purchHeaderTemp); } return(temp); }