public async Task <ActionResult> Repeat(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PurchaseOrder purchaseOrder = await FindAsyncPurchaseOrder(id.Value);

            if (purchaseOrder == null)
            {
                return(HttpNotFound());
            }

            foreach (var ratio in purchaseOrder.SizeRatios)
            {
                ratio.Id = 0;
            }
            var purchaseOrderVM = new PurchaseOrderCreateVM(purchaseOrder);

            await SetPurchaseOrderDefaults(purchaseOrderVM);

            purchaseOrderVM.IsRepeat   = true;
            purchaseOrderVM.ParentPoId = purchaseOrder.Id;
            purchaseOrderVM.ParentPoNr = purchaseOrder.PoNr;

            await SetSupplierSelectList(purchaseOrder);
            await SetSectListAsync(purchaseOrderVM);

            return(View("Create", purchaseOrderVM));
        }
        public async Task <ActionResult> Create(int?customerId, int?productId)
        {
            var vm = new PurchaseOrderCreateVM();

            if (customerId != null)
            {
                var customer = await FindAsyncCustomer(customerId.Value);

                if (customer == null)
                {
                    return(HttpNotFound());
                }
                vm.CustomerId   = customer.Id;
                vm.DiscountRate = customer.DiscountRate;
                vm.Customer     = new CustomerDTO(customer);
                vm.CustomerName = customer.CompanyName;
            }

            if (productId != null)
            {
                var product = await FindAsyncProduct(productId.Value);

                if (product == null)
                {
                    return(HttpNotFound());
                }

                vm.ProductId          = product.Id;
                vm.Product            = new ProductDTO(product);
                vm.ProductCode        = product.ProductCode;
                vm.BuyingPrice        = product.BuyingPrice;
                vm.BuyingCurrencyId   = product.BuyingCurrencyId;
                vm.BuyingPrice2       = product.BuyingPrice2;
                vm.BuyingCurrency2Id  = product.BuyingCurrency2Id;
                vm.UnitPrice          = product.UnitPrice;
                vm.SellingCurrencyId  = product.SellingCurrencyId;
                vm.UnitPrice2         = product.UnitPrice2;
                vm.SellingCurrency2Id = product.SellingCurrency2Id;
                vm.RoyaltyFee         = product.RoyaltyFee;
                vm.RoyaltyCurrencyId  = product.RoyaltyCurrencyId;
                vm.LicensorCurrencyId = product.LicensorCurrencyId;
                vm.LicensorPrice      = product.LicensorPrice;
                vm.RetailCurrencyId   = product.RetailCurrencyId;
                vm.RetailPrice        = product.RetailPrice;
                vm.Description        = product.Description;

                await SetSupplierSelectList(product, 0);
            }

            await SetPurchaseOrderDefaults(vm);

            ViewBag.SupplierId = new SelectList(new List <SupplierDTO>(), "Id", "CompanyName", 0);
            await SetSectListAsync(vm);

            return(View(vm));
        }
Exemple #3
0
        public async Task <ActionResult> Create(int?customerId, PurchaseOrderCreateVM vm)
        {
            vm.Id = 0;
            if (ModelState.IsValid)
            {
                var entity = vm.ToPurchaseOrder();
                DataContext.PurchaseOrders.Add(entity);
                await DataContext.SaveChangesAsync(this);

                return(RedirectToAction("Details", new { id = entity.Id }));
            }

            await SetSectListAsync(vm);

            return(View(vm));
        }
        public async Task <ActionResult> Create(int?customerId, PurchaseOrderCreateVM purchaseOrderVM)
        {
            purchaseOrderVM.Id = 0;
            if (ModelState.IsValid)
            {
                var entity = purchaseOrderVM.ToPurchaseOrder();
                DataContext.PurchaseOrders.Add(entity);
                await DataContext.SaveChangesAsync(this);

                return(RedirectToAction("Details", new { id = entity.Id }));
            }

            await SetCustomerSelectListAsync(purchaseOrderVM);
            await SetSupplierSelectList(purchaseOrderVM.SupplierId ?? 0);
            await SetSectListAsync(purchaseOrderVM);

            return(View(purchaseOrderVM));
        }