Esempio n. 1
0
        public bool?Update(int key, PurchaseDetailViewModel model, IDataSourceError error)
        {
            var purchaseDetail = this.SingleOrDefault(key);

            if (purchaseDetail == null)
            {
                return(null);
            }

            if (model.Product != null && !string.IsNullOrEmpty(model.Product.Value))
            {
                purchaseDetail.ProductId = Convert.ToInt32(model.Product.Value);
            }
            if (model.ProductDetail != null && !string.IsNullOrEmpty(model.ProductDetail.Value))
            {
                purchaseDetail.ProductDetailId = Convert.ToInt32(model.ProductDetail.Value);
            }

            purchaseDetail.Price     = model.Price;
            purchaseDetail.Inventory = model.Inventory;

            bool result = false;

            try
            {
                this.DbContext.SaveChanges();
                model.SubtotalAmount = model.Price * model.Inventory;
                result = true;
            }
            catch { }

            return(result);
        }
Esempio n. 2
0
        public bool Create(PurchaseDetailViewModel model, IDataSourceError error)
        {
            var purchaseDetail = new PurchaseDetail
            {
                PurchaseId = model.PurchaseId,
                Price      = model.Price,
                Inventory  = model.Inventory
            };

            if (model.Product != null && !string.IsNullOrEmpty(model.Product.Value))
            {
                purchaseDetail.ProductId = Convert.ToInt32(model.Product.Value);
            }
            if (model.ProductDetail != null && !string.IsNullOrEmpty(model.ProductDetail.Value))
            {
                purchaseDetail.ProductDetailId = Convert.ToInt32(model.ProductDetail.Value);
            }

            this.DbContext.PurchaseDetails.Add(purchaseDetail);
            var result = false;

            try
            {
                this.DbContext.SaveChanges();
                model.PurchaseDetailId = purchaseDetail.PurchaseDetailId;
                model.SubtotalAmount   = model.Price * model.Inventory;
                result = true;
            }
            catch { }

            return(result);
        }
Esempio n. 3
0
        private void InitChildViewBag(PurchaseDetailViewModel info)
        {
            ViewBag.PriceKindList =
                new SelectList(this._GlobalService.GetPriceKindList(), "Key", "Value", info?.PriceKindID);

            ViewBag.ConditionKindList =
                new SelectList(this._GlobalService.GetConditionKindList(), "Key", "Value", info?.ConditionID);
        }
 public HistoryViewModel(PurchaseDetailViewModel model, string productName, double costPrice)
 {
     Id              = model.Id;
     Date            = model.Modified;
     Type            = "Purchase";
     Total           = model.TotalAmount;
     Quantity        = model.Quantity;
     UnitPrice       = costPrice;
     ProductDetailId = model.ProductDetailId;
     ProductName     = productName;
     PurchaseId      = model.PurchaseId;
     InvoiceNumber   = model.PurchaseOrderNo;
 }
Esempio n. 5
0
        public ActionResult _Item(string id)
        {
            //child action don't share the same ViewBag with its “parents” action
            var info = new PurchaseDetailViewModel()
            {
                SeqNo    = 0,
                Discount = 100,
                IsDirty  = true
            };

            InitChildViewBag(null);

            return(PartialView("_Item", info));
        }
Esempio n. 6
0
        public IActionResult Update(Guid id)
        {
            ViewBag.AllOrders   = _dataManager.OrderRepository.GetAllEntities().ToList();
            ViewBag.AllProducts = _dataManager.ProductRepository.GetAllEntities().ToList();

            PurchaseDetail          detail    = _dataManager.PurchaseDetailRepository.GetEntity(id);
            PurchaseDetailViewModel viewModel = new PurchaseDetailViewModel()
            {
                Id        = id,
                OrderId   = detail.OrderId,
                ProductId = detail.Product.Id,
                Amount    = detail.Amount
            };

            return(View(viewModel));
        }
Esempio n. 7
0
        public IActionResult Create(PurchaseDetailViewModel model)
        {
            if (ModelState.IsValid)
            {
                PurchaseDetail detail = new PurchaseDetail()
                {
                    OrderId = model.OrderId,
                    Product = _dataManager.ProductRepository.GetEntity(model.ProductId),
                    Amount  = model.Amount
                };
                _dataManager.PurchaseDetailRepository.SaveEntity(detail);
                return(Redirect("/admin/purchasedetails"));
            }

            ViewBag.AllOrders   = _dataManager.OrderRepository.GetAllEntities().ToList();
            ViewBag.AllProducts = _dataManager.ProductRepository.GetAllEntities().ToList();
            return(View(model));
        }
        private void PartNumberDropdown_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (PartNumberDropdown.SelectedIndex != -1 && purchaseDetails != null)
            {
                _oldUnitPrice = 0m;
                int id = (int)PartNumberDropdown.SelectedValue;

                PurchaseDetailViewModel details = purchaseDetails.FirstOrDefault(a => a.AutoPartDetailId == id);
                if (details != null)
                {
                    //Get Previously returned value of this invoice number
                    int    supplierId  = (int)SupplierDropdown.SelectedValue;
                    string poNumber    = PODropdown.SelectedItem.ToString();
                    int    qtyReturned = this.purchaseReturnController.FetchQuantityReturned(supplierId, poNumber, id, ReturnId);

                    //Get quantities in grid
                    int qtyInGrid = 0;
                    if (list.Any())
                    {
                        qtyInGrid = list.Where(a => a.PartDetailId == id && a.PONumber == poNumber).Sum(a => a.Quantity);
                    }

                    AutoPartTextbox.Text = details.AutoPartName;

                    //Qty that can be returned
                    int qtyLimit = details.Quantity - qtyReturned - qtyInGrid;
                    QtyTextbox.Text = qtyLimit.ToString();
                    QtyLimit        = qtyLimit;

                    _oldUnitPrice         = details.DiscountedPrice;
                    UnitPriceTextbox.Text = _oldUnitPrice.ToString("N2");
                }

                QtyTextbox.Focus();
            }
        }
 public PurchaseDetailPage(Purchase purchase)
 {
     InitializeComponent();
     BindingContext = viewModel = new PurchaseDetailViewModel(purchase);
 }
Esempio n. 10
0
        public DataSourceResponse <PurchaseDetailViewModel> Read(DataSourceRequest request)
        {
            var responseData = this.DbContext.PurchaseDetails.Select(d => d);

            if (request.ServerFiltering != null)
            {
                ServerFilterInfo filterInfo = request.ServerFiltering.FilterCollection.Where(f => f.Field == "PurchaseId").SingleOrDefault();
                int purchaseId = Convert.ToInt32(filterInfo.Value);
                responseData = responseData.Where(d => d.PurchaseId == purchaseId);
            }

            var response = new DataSourceResponse <PurchaseDetailViewModel> {
                TotalRowCount = responseData.Count()
            };

            if (request.ServerPaging != null)
            {
                int skip = Math.Max(request.ServerPaging.PageSize * (request.ServerPaging.Page - 1), val2: 0);
                responseData = responseData.OrderBy(d => d.PurchaseDetailId).Skip(skip).Take(request.ServerPaging.PageSize);
            }

            var collection = responseData.Select(d => new
            {
                PurchaseDetailId = d.PurchaseDetailId,
                PurchaseId       = d.PurchaseId,
                ProductId        = d.ProductId,
                Price            = d.Price,
                Inventory        = d.Inventory,
                SubtotalAmount   = d.Price * d.Inventory
            }).ToList();

            foreach (var data in collection)
            {
                var viewModel = new PurchaseDetailViewModel
                {
                    PurchaseDetailId = data.PurchaseDetailId,
                    PurchaseId       = data.PurchaseId,
                    Product          = new SelectListItem(),
                    ProductDetail    = new SelectListItem(),
                    Price            = data.Price,
                    Inventory        = data.Inventory,
                    SubtotalAmount   = data.SubtotalAmount
                };

                var product =
                    (from d in this.DbContext.PurchaseDetails
                     join p in this.DbContext.Products on d.ProductId equals p.ProductId
                     where d.PurchaseDetailId == data.PurchaseDetailId
                     select new { p.ProductId, p.Name }).SingleOrDefault();
                if (product != null)
                {
                    viewModel.Product.Text  = product.Name;
                    viewModel.Product.Value = product.ProductId.ToString();
                }

                var productDetail =
                    (from d in this.DbContext.PurchaseDetails
                     join pd in this.DbContext.ProductDetails on d.ProductDetailId equals pd.ProductDetailId
                     join ps1 in this.DbContext.ProductSpecifications on pd.FirstSpecificationId equals ps1.ProductSpecificationId
                     join ps2 in this.DbContext.ProductSpecifications on pd.SecondSpecificationId equals ps2.ProductSpecificationId into ps2Group
                     where d.PurchaseDetailId == data.PurchaseDetailId
                     from ps2New in ps2Group.DefaultIfEmpty()
                     select new
                {
                    Name = ps1.Name + (ps2New == null ? "" : " " + ps2New.Name),
                    ProductDetailId = pd.ProductDetailId
                }).SingleOrDefault();
                if (productDetail != null)
                {
                    viewModel.ProductDetail.Text  = productDetail.Name;
                    viewModel.ProductDetail.Value = productDetail.ProductDetailId.ToString();
                }

                response.DataCollection.Add(viewModel);
            }

            return(response);
        }