Ejemplo n.º 1
0
        public void AddProduct_Redirects_ValidProductViewModel()
        {
            //arrange

            var addEditProductViewModel   = new AddEditProductViewModel();
            var mockProductRepository     = RepositoryMocks.GetProductRepository();
            var mockOrderRepository       = RepositoryMocks.GetOrderRepository();
            var mockOrderDetailRepository = RepositoryMocks.GetOrderDetailRepository();

            var product = mockProductRepository.Object.GetProductById(1);

            addEditProductViewModel.Id          = product.Id;
            addEditProductViewModel.Name        = product.Name;
            addEditProductViewModel.Category    = product.Category;
            addEditProductViewModel.Price       = product.Price;
            addEditProductViewModel.ImageUrl    = product.ImageUrl;
            addEditProductViewModel.Description = product.Description;

            var employeeController = new EmployeeController(mockProductRepository.Object, mockOrderRepository.Object, mockOrderDetailRepository.Object);

            //act
            var result = employeeController.AddProduct(addEditProductViewModel);

            //assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("ProductManagement", redirectToActionResult.ActionName);
        }
Ejemplo n.º 2
0
        public ActionResult AddEditProduct(Int32?ProductId)
        {
            var model = new AddEditProductViewModel();

            model.Fill(CargarDatosContext(), ProductId);
            return(View(model));
        }
Ejemplo n.º 3
0
        public MainWindowViewModel()
        {
            _productListViewModel = ContainerHelper.Container.Resolve <ProductListViewModel>();
            _addEditViewModel     = ContainerHelper.Container.Resolve <AddEditProductViewModel>();

            NavCommand = new RelayCommand <string>(OnNav);

            _productListViewModel.AddProductRequested  += NavToAddProduct;
            _productListViewModel.EditProductRequested += NavToEditProduct;
            _addEditViewModel.Done += NavToProductList;
        }
Ejemplo n.º 4
0
 public AddEditProductPage(Product prod = null, bool delete = false)
 {
     InitializeComponent();
     _addProductViewModel = new AddEditProductViewModel(Navigation, prod, delete);
     BindingContext       = _addProductViewModel;
     if (delete)
     {
         Title             = "Delete Product";
         SubmitButton.Text = "Delete Product";
     }
 }
Ejemplo n.º 5
0
        public MainWindowViewModel()
        {
            _ProductListViewModel = SportsStoreContainer.Container.Resolve <ProductListViewModel>();
            _ProductListViewModel.EditProductRequested += NavigateToEditProduct;

            _AddEditProductViewModel = SportsStoreContainer.Container.Resolve <AddEditProductViewModel>();
            _AddEditProductViewModel.CancelCommandRequest += OnNavigate;
            _AddEditProductViewModel.SaveCommandRequest   += OnNavigate;

            NavigateCommand      = new RelayCommand <string>(OnNavigate);
            AddNewProductCommand = new RelayCommand <string>(OnAddNewProduct);
        }
Ejemplo n.º 6
0
        public void OnGet(int id)
        {
            var product = _context.Products.Include(p => p.Item)
                          .Where(p => p.Id == id)
                          .Select(s => new AddEditProductViewModel()
            {
                Id              = s.Id,
                Name            = s.Name,
                Description     = s.Description,
                QuantityInStock = s.Item.QuantityInStock,
                Price           = s.Item.Price
            }).FirstOrDefault();

            Product = product;
        }
Ejemplo n.º 7
0
        public IActionResult EditProduct(int id)
        {
            var product = _productRepository.GetProductById(id);

            if (product == null)
            {
                return(RedirectToAction("ProductManagement", _productRepository.Products));
            }

            var vm = new AddEditProductViewModel()
            {
                Id = product.Id, Name = product.Name, Category = product.Category, Price = product.Price, ImageUrl = product.ImageUrl, Description = product.Description
            };

            return(View(vm));
        }
Ejemplo n.º 8
0
 public async System.Threading.Tasks.Task <ActionResult> AddProduct(AddEditProductViewModel model, FormCollection fc)
 {
     try
     {
         var postResult = ConstantHelpers.PostUrlAsync(Baseurl, "SAV/products", model).Result;
         if (postResult.Message.Equals("Success"))
         {
             return(RedirectToAction("ListProduct", "Product"));
         }
         return(View(model));
     }
     catch (Exception ex)
     {
         TryUpdateModel(model);
         return(View(model));
     }
 }
Ejemplo n.º 9
0
        public IActionResult AddProduct(AddEditProductViewModel addProductViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(addProductViewModel));
            }

            var product = new Product()
            {
                Name        = addProductViewModel.Name,
                Category    = addProductViewModel.Category,
                Price       = addProductViewModel.Price,
                ImageUrl    = addProductViewModel.ImageUrl,
                Description = addProductViewModel.Description
            };

            _productRepository.AddProduct(product);
            return(RedirectToAction("ProductManagement"));
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> AddEditProduct(int id)
        {
            AddEditProductViewModel model = new AddEditProductViewModel();

            model.CategoryList = await _context.Categories.Select(c => new SelectListItem
            {
                Text  = c.Title,
                Value = c.Id.ToString()
            }).ToListAsync();

            model.UnitList = await _context.Units.Select(u => new SelectListItem
            {
                Text  = u.Title,
                Value = u.Id.ToString()
            }).ToListAsync();

            if (id != 0)
            {
                using (_serviceProvider.GetRequiredService <ApplicationDbContext>())
                {
                    Product product = await _context.Products.Where(p => p.Id == id).SingleOrDefaultAsync();

                    if (product != null)
                    {
                        model.Id         = product.Id;
                        model.Name       = product.Name;
                        model.OrderPoint = product.OrderPoint;
                        model.Price      = product.Price;
                        model.Code       = product.Code;
                        model.Inventory  = product.Inventory;
                        model.Issenoble  = product.Issenoble;
                        model.IdUnit     = product.IdUnit;
                        model.IdCategory = product.IdCategory;
                        model.ImageName  = product.ImageName;
                    }
                }
            }

            return(PartialView("AddEditProduct", model));
        }
Ejemplo n.º 11
0
        public IActionResult EditProduct(AddEditProductViewModel addProductViewModel)
        {
            var product = _productRepository.GetProductById(addProductViewModel.Id);

            if (product != null)
            {
                product.Name        = addProductViewModel.Name;
                product.Category    = addProductViewModel.Category;
                product.Price       = addProductViewModel.Price;
                product.ImageUrl    = addProductViewModel.ImageUrl;
                product.Description = addProductViewModel.Description;

                if (!ModelState.IsValid)
                {
                    return(View(addProductViewModel));
                }

                _productRepository.UpdateProduct(product);
                return(RedirectToAction("ProductManagement", _productRepository.Products));
            }

            return(RedirectToAction("ProductManagement", _productRepository.Products));
        }
Ejemplo n.º 12
0
 public AddEditProduct(Product product = null)
 {
     InitializeComponent();
     DataContext = new AddEditProductViewModel(product);
 }
Ejemplo n.º 13
0
        public async System.Threading.Tasks.Task <ActionResult> AddProduct()
        {
            var vm = new AddEditProductViewModel();

            return(View(vm));
        }
Ejemplo n.º 14
0
        public ActionResult AddEditProduct(AddEditProductViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    model.Fill(CargarDatosContext(), model.ProductId);
                    TryUpdateModel(model);
                    PostMessage(MessageType.Error);
                    return(View(model));
                }

                Product product = null;

                if (model.ProductId.HasValue)
                {
                    product = context.Product.FirstOrDefault(x => x.ProductId == model.ProductId);
                }
                else
                {
                    product       = new Product();
                    product.State = ConstantHelpers.ESTADO.ACTIVO;
                    context.Product.Add(product);
                }

                product.SubFamilyId            = model.SubFamilyId.Value;
                product.TypeExistenceId        = model.TypeExistenceId;
                product.MeasureUnitPrimaryId   = model.MeasureUnitPrimaryId;
                product.MeasureUnitSecondaryId = model.MeasureUnitSecondaryId;
                product.InternalCode           = model.InternalCode;
                product.IsActive                    = model.IsActive;
                product.Barcode                     = model.Barcode;
                product.Color                       = model.Color;
                product.InvoiceDescription          = model.InvoiceDescription;
                product.LocalDescription            = model.LocalDescription;
                product.DesignName                  = model.DesignName;
                product.DesignNumber                = model.DesignNumber;
                product.LotNumberPurchase           = model.LotNumberPurchase;
                product.TaxPercentageAdvalorenId    = model.TaxPercentageAdvalorenId;
                product.TaxPercentageAffectionIGVId = model.TaxPercentageAffectionIGVId;
                product.TaxPercentagePerceptionId   = model.TaxPercentagePerceptionId;
                product.TaxPercentageDetractionId   = model.TaxPercentageDetractionId;
                product.IsSale                      = model.IsSale;
                product.IsPurchase                  = model.IsPurchase;
                product.OtherMeasureUnit            = model.OtherMeasureUnit;
                product.ConversionFactor            = model.ConversionFactor;
                product.MinimumStock                = model.MinimumStock;
                product.MinimumLot                  = model.MinimumLot;

                context.SaveChanges();
                PostMessage(MessageType.Success);

                return(RedirectToAction("ListProduct", "Master"));
            }
            catch (Exception ex)
            {
                PostMessage(MessageType.Error);
                model.Fill(CargarDatosContext(), model.ProductId);
                return(View(model));
            }
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> AddEditProduct(AddEditProductViewModel model, string ImgName, int id, IEnumerable <IFormFile> files)
        {
            if (ModelState.IsValid)
            {
                //upload audio
                var uploads = Path.Combine(_appEnvironment.WebRootPath, "upload\\normalimage\\");

                foreach (var file in files)
                {
                    if (file != null && file.Length > 0)
                    {
                        var filename = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName);

                        using (var fs = new FileStream(Path.Combine(uploads, filename), FileMode.Create))
                        {
                            await file.CopyToAsync(fs);

                            model.ImageName = filename;
                        }
                        InsertShowImage.ImageResizer img = new InsertShowImage.ImageResizer();
                        img.Resize(uploads + filename,
                                   _appEnvironment.WebRootPath + "\\upload\\thumbnailimage\\" + filename);
                    }
                }

                //upload audio

                if (id == 0)
                {
                    if (model.ImageName == null)
                    {
                        model.ImageName = "defaultpic.png";
                    }
                    using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>())
                    {
                        Product productModel = AutoMapper.Mapper.Map <AddEditProductViewModel, Product>(model);
                        db.Products.Add(productModel);
                        await db.SaveChangesAsync();
                    }
                    TempData["Notif"] = Notification.ShowNotif(MessageType.Add, type: ToastType.green);
                    //return PartialView("_Succefullyresponse", redirecturl);
                    //return Json(new { status = "success", message = "محصول با موفقیت ایجاد شد" });
                    return(RedirectToAction("Index"));
                }
                else
                {
                    if (model.ImageName == null)
                    {
                        model.ImageName = ImgName;
                    }
                    using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>())
                    {
                        Product productModel = AutoMapper.Mapper.Map <AddEditProductViewModel, Product>(model);
                        db.Products.Update(productModel);
                        await db.SaveChangesAsync();
                    }
                    TempData["Notif"] = Notification.ShowNotif(MessageType.Edit, type: ToastType.blue);
                    //return Json(new { status = "success", message = "اطلاعات محصول با موفقیت ویرایش شد" });
                    //return PartialView("_Succefullyresponse", redirecturl);
                    return(RedirectToAction("Index"));
                }
            }
            if (id == 0)
            {
                TempData["Notif"] = Notification.ShowNotif(MessageType.addError, type: ToastType.yellow);
            }
            else
            {
                TempData["Notif"] = Notification.ShowNotif(MessageType.editError, type: ToastType.yellow);
            }

            model.CategoryList = await _context.Categories.Select(c => new SelectListItem()
            {
                Text  = c.Title,
                Value = c.Id.ToString()
            }).ToListAsync();

            model.UnitList = await _context.Units.Select(u => new SelectListItem()
            {
                Text  = u.Title,
                Value = u.Id.ToString()
            }).ToListAsync();

            return(PartialView("AddEditProduct", model));
        }