public static TblReservationHeaderViewModel MaptoViewModel(Tbl_ReservationHeader resRow) { var row = (TblReservationHeaderViewModel) new TblReservationHeaderViewModel().InjectFrom(resRow); row.JournalPerRow = new CRUD_ManagerServicePurchaseOrderDto { JournalId = row.TransOrder, //VendorCode = resRow. }; return(row); }
public void DeleteReservationOrder(Tbl_ReservationHeader reservationHeader, int userIserial) { var axapta = new Axapta();//Ready To be Dependent from Ax if (SharedOperation.UseAx()) { var credential = new NetworkCredential("bcproxy", "around1"); TblAuthUser userToLogin; using (var model = new WorkFlowManagerDBEntities()) { userToLogin = model.TblAuthUsers.SingleOrDefault(x => x.Iserial == userIserial); } axapta.LogonAs(userToLogin.User_Win_Login, userToLogin.User_Domain, credential, "Ccm", null, null, null); } using (var entities = new WorkFlowManagerDBEntities()) { var headerRow = entities.Tbl_ReservationHeader.SingleOrDefault(x => x.Iserial == reservationHeader.Iserial); var rows = entities.Tbl_ReservationMainDetails.Include("Tbl_ReservationDetails").Include("Tbl_ReservationHeader1").Where(x => x.Tbl_ReservationHeader == reservationHeader.Iserial); foreach (var mainRow in rows) { foreach (var detailsRow in mainRow.Tbl_ReservationDetails.ToList()) { entities.DeleteObject(detailsRow); if (SharedOperation.UseAx()) { var importNew = axapta.CreateAxaptaObject("CreateProductionJournals"); if (detailsRow.AxPicklingListJournal != null) { importNew.Call("deletejournal", 0, detailsRow.AxPicklingListJournal, 0); } } } entities.DeleteObject(mainRow); } entities.DeleteObject(headerRow); entities.SaveChanges(); } if (SharedOperation.UseAx()) { axapta.Logoff(); } }
public void GenerateReservationFromPlan(Tbl_ReservationHeader header) { if (header.Iserial == 0) { using (var context = new WorkFlowManagerDBEntities()) { using (var scope = new TransactionScope()) { header.IsPosted = false; header.DocNo = "TEST"; context.AddObject("Tbl_ReservationHeader", header); context.SaveChanges(); var valuesObjects = new Dictionary <string, object>(); var filter = "it.PURCHID ==(@PURCHID0)"; valuesObjects.Add("PURCHID0", header.TransOrder); filter = filter + " and it.DATAAREAID ==(@DATAAREAID0)"; valuesObjects.Add("DATAAREAID0", "ccm"); var parameterCollection = ConvertToParamters(valuesObjects); var querytemp = context.PurchlineInventDims.Where(filter, parameterCollection.ToArray()); foreach (var p in querytemp) { var newrow = new Tbl_ReservationMainDetails { Fabric = p.ITEMID, FabricUnit = p.PURCHUNIT, FabricColor = p.CONFIGID, Batchno = p.INVENTBATCHID, Qty = (float)p.PURCHQTY, Inspected = false, LineNum = p.LINENUM, Location = p.WMSLOCATIONID, Warehouse = p.INVENTLOCATIONID, Site = p.INVENTSITEID, Tbl_ReservationHeader = header.Iserial, }; var purchaseOrderDetails = from x in context.TblPurchaseOrderDetails.Include( "TblPurchaseOrderDetailBreakDowns.BOM1.TblSalesOrder1") let purid = ("p" + x.TblPurchaseOrderHeader1.TblGeneratePurchaseHeader1.Code + "_" + x.TblPurchaseOrderHeader1.Vendor).ToLower() where x.ItemId == p.ITEMID && x.TblColor.Code == p.CONFIGID && p.PURCHID == (purid) select x ; //var purchaseOrderDetails = // context.TblPurchaseOrderDetails.Include( // "TblPurchaseOrderDetailBreakDowns.BOM1.TblSalesOrder1") // .Where( // x => // x.ItemId == p.ITEMID && x.TblColor.Code == p.CONFIGID && // 'P' + x.TblPurchaseOrderHeader1.TblGeneratePurchaseHeader1.Code + '_' + // x.TblPurchaseOrderHeader1.Vendor == p.PURCHID).ToList(); var reservationDetailList = new EntityCollection <Tbl_ReservationDetails>(); foreach (var purchaseLine in purchaseOrderDetails.ToList()) { foreach (var row in purchaseLine.TblPurchaseOrderDetailBreakDowns) { var percentage = row.Qty / purchaseLine.Qty; float salesorderQty = (float)(percentage * newrow.Qty); var newdetailrow = new Tbl_ReservationDetails { FinalQty = salesorderQty, IntialQty = salesorderQty, Markered = false, AxPicklingListJournal = "", SalesOrderColor = p.CONFIGID, SalesOrder = row.BOM1.TblSalesOrder1.SalesOrderCode, }; reservationDetailList.Add(newdetailrow); } } newrow.Tbl_ReservationDetails = reservationDetailList; context.Tbl_ReservationMainDetails.AddObject(newrow); } context.SaveChanges(); scope.Complete(); } } } }
public List <Tbl_ReservationMainDetails> SaveReservation(Tbl_ReservationHeader reservationHeader, List <Tbl_ReservationMainDetails> resMainDetails, string transactionGuid, out bool ErrorExists, int userIserial) { using (var entities = new WorkFlowManagerDBEntities()) { var errors = new List <string>(); var mainRowWithGuid = new Dictionary <string, Tbl_ReservationMainDetails>(); foreach (var item in resMainDetails) { var guidCheck = Guid.NewGuid().ToString(); mainRowWithGuid.Add(guidCheck, item); } if (errors.Count != 0) { ErrorExists = true; return(mainRowWithGuid.Where(x => errors.Any(e => x.Key == e)).Select(s => s.Value).ToList()); } else { ErrorExists = false; if (reservationHeader.Iserial == 0) { reservationHeader.IsPosted = false; reservationHeader.DocNo = "TEST"; entities.AddObject("Tbl_ReservationHeader", reservationHeader); entities.SaveChanges(); } foreach (var item in resMainDetails) { if (item.Iserial != 0) { foreach (var items in item.Tbl_ReservationDetails.ToList()) { var reservationDetails = (from d in entities.Tbl_ReservationDetails where d.Iserial == items.Iserial select d).SingleOrDefault(); if (reservationDetails != null) { // items.AxPicklingListJournal = PickingListFromReservation(items, reservationHeader, transactionGuid, userIserial, true, false); GenericUpdate(reservationDetails, items, entities); } else { items.Tbl_ReservationMainDetails1 = null; items.Tbl_ReservationMainDetails = item.Iserial; entities.AddObject("Tbl_ReservationDetails", items); // items.AxPicklingListJournal = PickingListFromReservation(items, reservationHeader, transactionGuid, userIserial, true, false); } } } else { item.Tbl_ReservationHeader = reservationHeader.Iserial; entities.AddObject("Tbl_ReservationMainDetails", item); entities.SaveChanges(); foreach (var items in item.Tbl_ReservationDetails.ToList()) { items.Tbl_ReservationMainDetails = item.Iserial; // items.AxPicklingListJournal = PickingListFromReservation(items, reservationHeader, transactionGuid, userIserial, true, false); } } } entities.SaveChanges(); return(resMainDetails); } } }