Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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();
                    }
                }
            }
        }
Exemplo n.º 4
0
        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);
                }
            }
        }