private bool EditProduct()
        {
            if (SelectedProduct != null)
            {
                if (SelectedProduct.IsValid())
                {
                    PharmacyProduct product = _uow.PharmacyProductRepo.Get(p => p.QtyOrdered == SelectedProduct.QtyOrdered).FirstOrDefault();
                    if (SelectedProduct.QtyOrdered != 0 && product == null)
                    {
                        SelectedProduct.DateOfOrder = DateTime.Now;
                    }

                    _uow.PharmacyProductRepo.Edit(SelectedProduct);
                    int ok = _uow.Save();
                    if (ok > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        MessageBox.Show("De data is niet veranderd!", "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                        return(false);
                    }
                }
                else
                {
                    MessageBox.Show(SelectedProduct.Error, "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Beispiel #2
0
        public ProductViewModel(int id)
        {
            this.CmbIsEnabled = false;

            this.LogoutCommand          = new RelayCommand <IClosable>(this.Logout);
            this.CancelCommand          = new RelayCommand <IClosable>(this.ShowStorageView);
            this.ShowProfileViewCommand = new RelayCommand <IClosable>(this.ShowProfileView);
            this.AddProductCommand      = new RelayCommand <IClosable>(this.AddProduct);

            Pharmacy = _uow.PharmacyRepo.Get(p => p.PharmacyID == id,
                                             p => p.PharmacyProducts.Select(pp => pp.Product))
                       .FirstOrDefault();

            PharmacyProduct = new PharmacyProduct()
            {
                PharmacyID  = Pharmacy.PharmacyID,
                DateOfOrder = DateTime.Now,
                Product     = new Product()
            };

            PharmacyProducts = new ObservableCollection <PharmacyProduct>(_uow.PharmacyProductRepo.Get(pp => pp.PharmacyID == Pharmacy.PharmacyID, pp => pp.Product));
            Products         = new ObservableCollection <Product>(_uow.ProductRepo.Get());
            Suppliers        = new ObservableCollection <Supplier>(_uow.SupplierRepo.Get().OrderBy(s => s.Name));
            Categories       = new ObservableCollection <ProductCategory>(_uow.ProductCategoryRepo.Get().OrderBy(c => c.Name));
            Preparations     = new ObservableCollection <ProductPreparation>(_uow.ProductPreparationRepo.Get()
                                                                             .OrderBy(p => p.Name == "Overige").ThenBy(p => p.Name));

            QtyStockIssues = CountStockIssues(10);
        }
Beispiel #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            PharmacyProduct pharmacyProduct = db.PharmacyProducts.Find(id);

            db.PharmacyProducts.Remove(pharmacyProduct);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #4
0
 private void FillingPharmacyProduct(PharmacyProduct pharmacyProduct)
 {
     pharmacyProduct.Product.ProductCategory    = SelectedCategory;
     pharmacyProduct.Product.ProductSubcategory = SelectedSubcategory;
     pharmacyProduct.DateOfOrder   = DateTime.Now;
     pharmacyProduct.Product.Price = decimal.Parse(ValidPrice);
     pharmacyProduct.Product.Cost  = decimal.Parse(ValidCost);
     pharmacyProduct.QtyInStorage  = int.Parse(ValidInStorage);
     if (!string.IsNullOrWhiteSpace(ValidOrdered))
     {
         pharmacyProduct.QtyOrdered = int.Parse(ValidOrdered);
     }
 }
Beispiel #5
0
        // GET: PharmacyProducts/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PharmacyProduct pharmacyProduct = db.PharmacyProducts.Find(id);

            if (pharmacyProduct == null)
            {
                return(HttpNotFound());
            }
            return(View(pharmacyProduct));
        }
Beispiel #6
0
        // GET: PharmacyProducts/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PharmacyProduct pharmacyProduct = db.PharmacyProducts.Find(id);

            if (pharmacyProduct == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PharmacySubCatId = new SelectList(db.PharmacySubCategories, "PharmacySubCatId", "PharmacySubCatName", pharmacyProduct.PharmacySubCatId);
            return(PartialView(pharmacyProduct));
        }
Beispiel #7
0
        // GET: PharmacyProducts/ProductDetails/5
        public ActionResult ProductDetails(int?id)
        {
            PharmacyProduct product = new PharmacyProduct();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            product = db.PharmacyProducts.Find(id);
            if (product == null)
            {
                return(HttpNotFound());
            }
            return(View(product));
        }
Beispiel #8
0
 public ActionResult Edit([Bind(Include = "ProductId,ProductName,ProductPrice,ProductDetails,PharmacySubCatId,ExpiryDate,Quantity,ProductType,Manufacturer", Exclude = "ProductImage")] PharmacyProduct pharmacyProduct, HttpPostedFileBase ProductImage)
 {
     if (ModelState.IsValid)
     {
         if (ProductImage != null)
         {
             if (ProductImage.ContentLength > 0)
             {
                 byte[] imgBinaryData = new byte[ProductImage.ContentLength];
                 int    readresult    = ProductImage.InputStream.Read(imgBinaryData, 0, ProductImage.ContentLength);
                 pharmacyProduct.ProductImage = imgBinaryData;
             }
         }
         db.Entry(pharmacyProduct).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PharmacySubCatId = new SelectList(db.PharmacySubCategories, "PharmacySubCatId", "PharmacySubCatName", pharmacyProduct.PharmacySubCatId);
     return(PartialView(pharmacyProduct));
 }
Beispiel #9
0
 private int AddNewPharmacyProduct(PharmacyProduct product)
 {
     _uow.PharmacyProductRepo.Add(product);
     return(_uow.Save());
 }
Beispiel #10
0
        private bool AddProduct()
        {
            string productError = ValidateInputFieldsProduct(SelectedCategory, SelectedSubcategory, PharmacyProduct.Product.SupplierID);

            if (string.IsNullOrWhiteSpace(productError))
            {
                if (PharmacyProduct.Product.IsValid() && PharmacyProduct.IsValid())
                {
                    if (!IsNumericValid())
                    {
                        MessageBox.Show(Error, "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                        return(false);
                    }

                    FillingPharmacyProduct(PharmacyProduct);

                    if (!Products.Contains(PharmacyProduct.Product))
                    {
                        int okProduct = AddNewProduct(PharmacyProduct.Product);
                        if (okProduct == 0)
                        {
                            MessageBox.Show("Het product is niet toegevoegd!", "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                            return(false);
                        }
                    }

                    Product KnownProduct = _uow.ProductRepo.Get(p => p.Code == PharmacyProduct.Product.Code).FirstOrDefault();
                    PharmacyProduct.ProductID = KnownProduct.ProductID;

                    if (!PharmacyProducts.Contains(PharmacyProduct))
                    {
                        int okPharmacyProduct = AddNewPharmacyProduct(PharmacyProduct);

                        if (okPharmacyProduct > 0)
                        {
                            return(true);
                        }
                        else
                        {
                            MessageBox.Show("Er is iets misgelopen bij de toevoeging van het product aan de stock", "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                            return(false);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Dit product zit al in uw stock!", "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                        return(false);
                    }
                }
                else
                {
                    if (PharmacyProduct.Product.Error != "")
                    {
                        MessageBox.Show(PharmacyProduct.Product.Error, "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    else
                    {
                        MessageBox.Show(PharmacyProduct.Error, "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    return(false);
                }
            }
            else
            {
                MessageBox.Show(productError, "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
        }