예제 #1
0
        public ActionResult GetFilteredPurchases(int?supplierId, PurchaseState?state)
        {
            var allPurchases = new PurchaseDataService().GetAllPurchases();

            var filteredPurchases = allPurchases;

            if (supplierId != 0)
            {
                filteredPurchases = filteredPurchases.Where(x => x.SupplierId == supplierId).ToList();
            }

            if (state != null)
            {
                filteredPurchases = filteredPurchases.Where(x => x.PurchaseState == state).ToList();
            }

            CalculateActiveTime(filteredPurchases);


            var filteredPurchasesViewModels = filteredPurchases.Select(x => new PurchaseViewModel(x)
            {
                SupplierName = new SupplierDataService().GetSupplierById(x.SupplierId)?.Name ?? string.Empty
            }).ToList();

            return(new JsonResult()
            {
                Data = filteredPurchasesViewModels,
                ContentType = "application/json",
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                MaxJsonLength = Int32.MaxValue
            });
        }
예제 #2
0
 public CommonController(IWorkContext webWorkContext,
                         PurchaseDataService purchaseDataService,
                         LocalizationService localizationService,
                         GoodsDataService goodsDataService,
                         SupplierDataService supplierDataService,
                         WarehouseService warehouseService,
                         InventoryDataService inventoryDataService,
                         GoodsSpecificationService goodsSpecificationService,
                         ClientTypeService clientTypeService,
                         SalesShipmentsDataService salesShipmentsDataService,
                         GoodsTypeService goodsTypeService,
                         SupplierTypeService supplierTypeService)
 {
     _webWorkContext            = webWorkContext;
     _purchaseDataService       = purchaseDataService;
     _localizationService       = localizationService;
     _goodsDataService          = goodsDataService;
     _supplierDataService       = supplierDataService;
     _warehouseService          = warehouseService;
     _inventoryDataService      = inventoryDataService;
     _goodsSpecificationService = goodsSpecificationService;
     _clientTypeService         = clientTypeService;
     _salesShipmentsDataService = salesShipmentsDataService;
     _goodsTypeService          = goodsTypeService;
     _supplierTypeService       = supplierTypeService;
 }
예제 #3
0
        public ActionResult UpdatePurchase(int purchaseId)
        {
            var purchaseDataService = new PurchaseDataService();
            var purchase            = purchaseDataService.GetAllPurchases().First(x => x.PurchaseId == purchaseId);

            FillViewBag();
            return(PartialView(new PurchaseViewModel(purchase)));
        }
예제 #4
0
        public bool AssignPurchase(int purchaseId)
        {
            var purchaserUserGuid = User.Identity.GetUserId();

            new PurchaseDataService().AssignPurchase(purchaseId, purchaserUserGuid, PurchaseState.PurchaseInProgress);
            var orderId = new PurchaseDataService().GetAllPurchases().First(x => x.PurchaseId == purchaseId).OrderId;

            new SalesDataService().UpdateOrderState(orderId.Value, SalesState.PurchaseInProgress);
            return(true);
        }
예제 #5
0
        public ActionResult DeletePurchase(int purchaseId)
        {
            var result = new PurchaseDataService().DeletePurchase(purchaseId);

            return(new JsonResult()
            {
                Data = result,
                ContentType = "application/json",
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
예제 #6
0
 public WarehouseController(IWorkContext webWorkContext,
                            PurchaseDataService purchaseDataService,
                            LocalizationService localizationService,
                            GoodsDataService goodsDataService,
                            SupplierDataService supplierDataService,
                            WarehouseService warehouseService)
 {
     _webWorkContext      = webWorkContext;
     _purchaseDataService = purchaseDataService;
     _localizationService = localizationService;
     _goodsDataService    = goodsDataService;
     _supplierDataService = supplierDataService;
     _warehouseService    = warehouseService;
 }
예제 #7
0
        public ActionResult UpdatePurchase(PurchaseViewModel purchaseViewModel)
        {
            var PurchaseDataService = new PurchaseDataService();
            var purchase            = new Purchase()
            {
                PurchaseState     = purchaseViewModel.PurchaseState,
                SupplierId        = purchaseViewModel.SupplierId,
                OrderId           = purchaseViewModel.OrderId,
                ProductCode       = purchaseViewModel.ProductCode,
                Quantity          = purchaseViewModel.Quantity,
                SalesUserName     = purchaseViewModel.SalesUserName,
                PurchaseStartDate = purchaseViewModel.PurchaseStartDate,
                UnitPrice         = purchaseViewModel.UnitPrice,
                Currency          = purchaseViewModel.Currency,
                ProductId         = purchaseViewModel.ProductId,
                PurchaseId        = purchaseViewModel.PurchaseId,
                PurchaserUserGuid = purchaseViewModel.PurchaserUser,
                TotalPrice        = purchaseViewModel.UnitPrice * purchaseViewModel.Quantity,
                RequestedBySales  = purchaseViewModel.RequestedBySales,
                Comment           = purchaseViewModel.Comment
            };

            if (purchaseViewModel.PurchaseState == PurchaseState.PurchaseSuccesful ||
                purchaseViewModel.PurchaseState == PurchaseState.PurchaseFailed)
            {
                purchase.PurchaseCloseDate = DateTime.Now;
            }

            if (purchaseViewModel.OrderId != 0)
            {
                var salesState = new SalesDataService().GetSalesById(purchaseViewModel.OrderId).SalesState;
                if (salesState == SalesState.PurchaseInProgress)
                {
                    if (purchaseViewModel.PurchaseState == PurchaseState.PurchaseSuccesful)
                    {
                        new SalesDataService().UpdateOrderState(purchaseViewModel.OrderId,
                                                                SalesState.PurchaseSuccesful);
                    }
                    else if (purchaseViewModel.PurchaseState == PurchaseState.PurchaseFailed)
                    {
                        new SalesDataService().UpdateOrderState(purchaseViewModel.OrderId,
                                                                SalesState.PurchaseFailed);
                    }
                }
            }

            var result = PurchaseDataService.UpdatePurchase(purchase);

            return(Json(result ? new AjaxResult(true) : new AjaxResult(false)));
        }
예제 #8
0
 public InventoryDataController(IWorkContext webWorkContext,
                                InventoryDataService inventoryDataService,
                                LocalizationService localizationService,
                                CommonController commonController,
                                WarehouseService warehouseService,
                                PurchaseDataService purchaseDataService,
                                TransferCargoDataService transferCargoDataService,
                                DbHelper dbHelper)
 {
     _webWorkContext           = webWorkContext;
     _inventoryDataService     = inventoryDataService;
     _localizationService      = localizationService;
     _commonController         = commonController;
     _warehouseService         = warehouseService;
     _purchaseDataService      = purchaseDataService;
     _transferCargoDataService = transferCargoDataService;
     _dbHelper = dbHelper;
 }
예제 #9
0
        public ActionResult GetAllPurchases()
        {
            var allPurchases = new PurchaseDataService().GetAllPurchases();

            CalculateActiveTime(allPurchases);
            var filteredPurchasesViewModels = allPurchases.Select(x => new PurchaseViewModel(x)
            {
                SupplierName = new SupplierDataService().GetSupplierById(x.SupplierId)?.Name ?? string.Empty
            }).ToList();

            return(new JsonResult()
            {
                Data = filteredPurchasesViewModels,
                ContentType = "application/json",
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                MaxJsonLength = Int32.MaxValue
            });
        }