void prepareEditModel(EditPurchaseOrderHeaderTempViewModel model, int id)
        {
            var poht = PurchasingService.FindPurchaseOrderHeaderTempModel(id, CurrentCompany, false);

            PrepareViewModel(model, EvolutionResources.bnrAddEditPurchase + " - " + EvolutionResources.lblOrderNumber + ": " + model.PurchaseTemp.OrderNumber.ToString(), id, MakeMenuOptionFlags(0, poht.OriginalRowId, 0) + MenuOptionFlag.RequiresNewPurchase);
            model.ParentId = id;

            // Get the landing date from the Shipment record
            if (model.PurchaseTemp.OrderNumber != null)
            {
                var shipmentContent = ShipmentService.FindShipmentContentByPONoModel(CurrentCompany, model.PurchaseTemp.OrderNumber.Value);
                if (shipmentContent != null && shipmentContent.ShipmentId != null)
                {
                    var shipment = ShipmentService.FindShipmentModel(shipmentContent.ShipmentId.Value, CurrentCompany);
                }
            }

            model.LocationList         = LookupService.FindLocationListItemModel(model.CurrentCompany);
            model.SupplierList         = SupplierService.FindSupplierListItemModel(CurrentCompany);
            model.POStatusList         = LookupService.FindPurchaseOrderHeaderStatusListItemModel();
            model.UserList             = MembershipManagementService.FindUserListItemModel();
            model.PaymentTermsList     = LookupService.FindPaymentTermsListItemModel(model.CurrentCompany);
            model.CommercialTermsList  = LookupService.FindLOVItemsListItemModel(model.CurrentCompany, LOVName.CommercialTerms);
            model.PortList             = LookupService.FindPortsListItemModel();
            model.ShipMethodList       = LookupService.FindLOVItemsListItemModel(model.CurrentCompany, LOVName.ShippingMethod);
            model.ContainerTypeList    = LookupService.FindContainerTypeListItemModel();
            model.FreightForwarderList = LookupService.FindFreightForwardersListItemModel(model.CurrentCompany);
            model.CurrencyList         = LookupService.FindCurrenciesListItemModel();
            model.BrandCategoryList    = ProductService.FindBrandCategoryListItemModel(model.CurrentCompany);
        }
        public ActionResult Add()
        {
            // Called when the user clicks 'Create' to create a new shipment
            var model = new EditShipmentViewModel();

            model.Shipment = ShipmentService.FindShipmentModel(0, CurrentCompany, true);
            prepareEditModel(model, model.Shipment);

            return(View("Edit", model));
        }
        public ActionResult Edit(int id)
        {
            // Called when a user clicks to edit an order
            var model = new EditShipmentViewModel();

            model.Shipment = ShipmentService.FindShipmentModel(id, CurrentCompany, true);
            prepareEditModel(model, model.Shipment);

            model.LGS = ShipmentService.LockShipment(model.Shipment);

            return(View("Edit", model));
        }
        public ActionResult DoAddPurchaseOrder(int si, string pos)
        {
            var model = new ShipmentListModel();

            try {
                var shipment = ShipmentService.FindShipmentModel(si, CurrentCompany, false);
                ShipmentService.AddPurchaseOrders(CurrentCompany, CurrentUser, shipment, pos);
            } catch (Exception e1) {
                this.WriteLog(e1);
                model.Error.SetError(e1);
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public void FindShipmentModelTest()
        {
            // Get a test user and test company
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser);

            // Now create a shipment and try to retrieve it
            var testShipment = GetTestShipment(testCompany, testUser);

            var result = ShipmentService.FindShipmentModel(testShipment.Id, testCompany, false);

            Assert.IsTrue(result != null, $"Error: 0 records were returned when 1 was expected");
            Assert.IsTrue(result.Id == testShipment.Id, $"Error: Shipment {result.Id} was returned when {testShipment.Id} was expected");
            AreEqual(testShipment, result);
        }
Example #6
0
        public PurchaseOrderHeaderModel MapToModel(PurchaseOrderHeader item)
        {
            PurchaseOrderHeaderModel newItem = null;

            if (item != null)
            {
                newItem = Mapper.Map <PurchaseOrderHeader, PurchaseOrderHeaderModel>(item);

                string poNumber = item.OrderNumber.ToString();
                if (poNumber.IndexOf(".") != -1)
                {
                    poNumber = poNumber.TrimEnd('0').TrimEnd('.');
                }
                newItem.OrderNumberUrl = $"<a href=\"/Purchasing/EditPurchase/Edit?id={item.Id}\">{poNumber}</a>";

                if (item.Supplier != null)
                {
                    newItem.SupplierName = item.Supplier.Name;
                }
                if (item.PurchaseOrderHeaderStatu != null)
                {
                    newItem.POStatusText  = item.PurchaseOrderHeaderStatu.StatusName;
                    newItem.POStatusValue = (PurchaseOrderStatus)item.PurchaseOrderHeaderStatu.StatusValue;
                }

                newItem.SalesPersonName = db.MakeName(item.User_SalesPerson);
                newItem.Splitable       = item.PurchaseOrderDetails.Count > 0;

                // Landing date
                if (newItem.OrderNumber != null)
                {
                    var company = CompanyService.FindCompanyModel(newItem.CompanyId);

                    var shipmentContent = item.ShipmentContents.FirstOrDefault();   // ShipmentService.FindShipmentContentByPONoModel(company, newItem.OrderNumber.Value);
                    if (shipmentContent != null && shipmentContent.ShipmentId != null)
                    {
                        var shipment = ShipmentService.FindShipmentModel(shipmentContent.ShipmentId.Value, company);
                        newItem.LandingDate = shipment.DatePreAlertETA;
                    }
                }
            }
            return(newItem);
        }
        public ActionResult DoAddToShipment(AddToShipmentPopupViewModel model, string command)
        {
            if (command.ToLower() == "add")
            {
                // Find the shipment or create a new one
                var shipmentModel = ShipmentService.FindShipmentModel(model.ShipmentId, CurrentCompany, false);
                if (shipmentModel == null)
                {
                    // Create a new Shipment
                    shipmentModel = ShipmentService.CreateShipment(CurrentCompany, CurrentUser);
                }

                // Add the PO's to the shipment
                ShipmentService.AddPurchaseOrders(CurrentCompany, CurrentUser, shipmentModel, model.SelectedPOs);

                return(RedirectToAction("Edit", "Shipments", new { area = "Shipments", id = shipmentModel.Id }));
            }
            else
            {
                return(Purchases());
            }
        }
        public ActionResult EditContent(int shipmentId, int contentId)
        {
            // Called when a user clicks to edit an order - we
            // go straight to the lines screen
            var contentModel = ShipmentService.FindShipmentContentModel(contentId);

            if (contentModel != null)
            {
                return(RedirectToAction("Edit", "Purchasing", new { area = "Purchasing", id = $"{contentModel.PurchaseOrderHeaderId}" }));
            }
            else
            {
                var model = new EditShipmentViewModel();

                model.Shipment = ShipmentService.FindShipmentModel(shipmentId, CurrentCompany, true);
                prepareEditModel(model, model.Shipment);

                model.LGS = ShipmentService.LockShipment(model.Shipment);

                model.SetRecordError("ShipmentContent", contentId, true);

                return(View("Edit", model));
            }
        }