Beispiel #1
0
 public ProductController(IUnitOfWork unitOfWork, IWebHostEnvironment webHost, IorwoodDbContext context)
 {
     ProductVM   = new ProductUpsertViewModel();
     _webHost    = webHost;
     _unitOfWork = unitOfWork;
     _context    = context;
 }
Beispiel #2
0
        public IActionResult UpsertProductStock(int id)
        {
            ProductVM = new ProductUpsertViewModel()
            {
                Product = new Model.Entity.Product()
            };

            ProductVM.Product = _unitOfWork.Product.FirstOrDefault(u => u.Id == id);

            return(View(ProductVM));
        }
Beispiel #3
0
        public IActionResult Upsert(int?id)
        {
            ProductVM = new ProductUpsertViewModel()
            {
                Product      = new Model.Entity.Product(),
                CategoryList = _unitOfWork.Category.CategoryListForDropDown().ToList(),
                ExtraList    = _unitOfWork.Extra.ExtraListForDropDown().ToList(),
                UnitList     = _unitOfWork.Unit.UnitListForDropDown().ToList()
            };

            if (id == null)
            {
                return(View(ProductVM));
            }
            else
            {
                ProductVM.Product = _unitOfWork.Product.FirstOrDefault(u => u.Id == id);
                if (ProductVM.Product == null)
                {
                    return(NotFound());
                }
                return(View(ProductVM));
            }
        }
Beispiel #4
0
        public IActionResult Upsert(ProductUpsertViewModel ProductVM)
        {
            try
            {
                var files   = HttpContext.Request.Form.Files;
                var webRoot = _webHost.WebRootPath.ToString();



                //Extra bos gelende IsValid olmur
                if (!ModelState.IsValid)
                {
                    ProductVM.CategoryList = _unitOfWork.Category.CategoryListForDropDown().ToList();
                    ProductVM.ExtraList    = _unitOfWork.Extra.ExtraListForDropDown().ToList();
                    ProductVM.UnitList     = _unitOfWork.Unit.UnitListForDropDown().ToList();
                    return(View(ProductVM));
                }
                if (ProductVM.Product.Id == 0)
                {
                    //string fileName = Guid.NewGuid().ToString() + Path.GetExtension(files[0].FileName);
                    //string directory = Path.Combine(webRoot + @"\images\ProductHomePage");
                    //string fullPath = Path.Combine(directory, fileName);

                    //using (FileStream fileStream = System.IO.File.Create(fullPath))
                    //{
                    //    files[0].CopyTo(fileStream);
                    //}

                    ProductVM.Product.Image = "";// @"\images\ProductHomePage\" + fileName;
                    _unitOfWork.Product.Add(ProductVM.Product);
                    _unitOfWork.Save();
                }
                else
                {
                    if (files.Count > 0)
                    {
                        var imageDIr = webRoot + ProductVM.Product.Image.TrimStart();
                        if (System.IO.File.Exists(imageDIr))
                        {
                            System.IO.File.Delete(imageDIr);
                        }

                        string fileName  = Guid.NewGuid().ToString() + Path.GetExtension(files[0].FileName);
                        string directory = Path.Combine(webRoot + @"\images\ProductHomePage");
                        string fullPath  = Path.Combine(directory, fileName);

                        using (FileStream fileStream = System.IO.File.Create(fullPath))
                        {
                            files[0].CopyTo(fileStream);
                        }

                        ProductVM.Product.Image = @"\images\ProductHomePage\" + fileName;
                    }
                    else
                    {
                        //ProductVM.Product.Image = productFromDB.Image;
                    }
                    _unitOfWork.Product.Update(ProductVM.Product);
                    _unitOfWork.Save();
                }
            }
            catch (Exception ex)
            {
                //_unitOfWork.Category.Add(new Category { Name = ex.Message , OrderList = 3 });
                //_unitOfWork.Save();
            }
            return(RedirectToAction(nameof(Index)));
        }