public IActionResult Agregar(ProductosViewModel vm)
        {
            FruteriashopContext context = new FruteriashopContext();

            if (vm.Archivo.ContentType != "image/jpeg" || vm.Archivo.Length > 1024 * 1024 * 2)
            {
                ModelState.AddModelError("", "Debes seleccionar un archivo jpeg de menos de 2MB.");
                CategoriasRepository categoriasRepository = new CategoriasRepository(context);
                vm.Categorias = categoriasRepository.GetAll();
                return(View(vm));
            }

            try
            {
                ProductosRepository repos = new ProductosRepository(context);
                repos.Insert(vm.Producto);

                //Guardar

                FileStream fs = new FileStream(Environment.WebRootPath + "/img_frutas/" + vm.Producto.Id + ".jpg", FileMode.Create);
                vm.Archivo.CopyTo(fs);
                fs.Close();
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                CategoriasRepository categoriasRepository = new CategoriasRepository(context);
                vm.Categorias = categoriasRepository.GetAll();
                return(View(vm));
            }
        }
        public IActionResult Editar(int id)
        {
            FruteriashopContext context = new FruteriashopContext();
            ProductosViewModel  vm      = new ProductosViewModel();

            ProductosRepository pr = new ProductosRepository(context);

            vm.Producto = pr.Get(id);

            if (vm.Producto == null)
            {
                return(RedirectToAction("Index"));
            }

            CategoriasRepository cr = new CategoriasRepository(context);

            vm.Categorias = cr.GetAll();

            if (System.IO.File.Exists(Environment.WebRootPath + $"/img_frutas/{vm.Producto.Id}.jpg"))
            {
                vm.Imagen = vm.Producto.Id + ".jpg";
            }
            else
            {
                vm.Imagen = "no-disponible.png";
            }

            return(View(vm));
        }
示例#3
0
 public CategoriasService()
 {
     using (FruteriashopContext context = new FruteriashopContext())
     {
         Repositories.Repository <Categorias> repos = new Repositories.Repository <Categorias>(context);
         Categorias = repos.GetAll().OrderBy(x => x.Nombre).ToList();
     }
 }
示例#4
0
        public IActionResult Index()
        {
            FruteriashopContext context = new FruteriashopContext();

            Repositories.Repository <Categorias> repos = new Repositories.Repository <Categorias>(context);

            return(View(repos.GetAll().OrderBy(x => x.Nombre)));
        }
        public IActionResult Agregar()
        {
            ProductosViewModel   vm      = new ProductosViewModel();
            FruteriashopContext  context = new FruteriashopContext();
            CategoriasRepository categoriasRepository = new CategoriasRepository(context);

            vm.Categorias = categoriasRepository.GetAll();
            return(View(vm));
        }
        public IActionResult Index(ProductosIndexViewModel vm)
        {
            FruteriashopContext  context = new FruteriashopContext();
            CategoriasRepository categoriasRepository = new CategoriasRepository(context);
            ProductosRepository  productosRepository  = new ProductosRepository(context);

            vm.Categorias = categoriasRepository.GetAll();
            vm.Productos  = productosRepository.GetProductosByCategoria(vm.idCategoria);
            return(View(vm));
        }
示例#7
0
        public IActionResult Ver(string categoria, string id)
        {
            using (FruteriashopContext context = new FruteriashopContext())
            {
                ProductosRepository repos = new ProductosRepository(context);

                Productos p = repos.GetProductosByCategoriaNombre(categoria, id.Replace("-", " "));

                return(View(p));
            }
        }
示例#8
0
        public IActionResult Categoria(string id)
        {
            using (FruteriashopContext context = new FruteriashopContext())
            {
                ProductosRepository repos = new ProductosRepository(context);
                CategoriaViewModel  vm    = new CategoriaViewModel();

                vm.Nombre    = id;
                vm.Productos = repos.GetProductosByCategoria(id).ToList();

                return(View(vm));
            }
        }
示例#9
0
        public IActionResult Editar(int id)
        {
            using (FruteriashopContext context = new FruteriashopContext())
            {
                CategoriasRepository repos = new CategoriasRepository(context);
                var categoria = repos.Get(id);
                if (categoria == null)
                {
                    return(RedirectToAction("Index"));
                }

                return(View(categoria));
            }
        }
示例#10
0
        public IActionResult Editar(ProductosViewModel vm)
        {
            FruteriashopContext context = new FruteriashopContext();

            if (vm.Archivo != null)
            {
                if (vm.Archivo.ContentType != "image/jpeg" || vm.Archivo.Length > 1024 * 1024 * 2)
                {
                    ModelState.AddModelError("", "Debes seleccionar un archivo jpeg de menos de 2MB.");
                    CategoriasRepository categoriasRepository = new CategoriasRepository(context);
                    vm.Categorias = categoriasRepository.GetAll();
                    return(View(vm));
                }
            }

            try
            {
                ProductosRepository repos = new ProductosRepository(context);

                var p = repos.Get(vm.Producto.Id);

                if (p != null)
                {
                    p.Nombre       = vm.Producto.Nombre;
                    p.IdCategoria  = vm.Producto.IdCategoria;
                    p.Precio       = vm.Producto.Precio;
                    p.Descripcion  = vm.Producto.Descripcion;
                    p.UnidadMedida = vm.Producto.UnidadMedida;
                    repos.Update(p);

                    //Guardar
                    if (vm.Archivo != null)
                    {
                        FileStream fs = new FileStream(Environment.WebRootPath + "/img_frutas/" + vm.Producto.Id + ".jpg", FileMode.Create);
                        vm.Archivo.CopyTo(fs);
                        fs.Close();
                    }
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                CategoriasRepository categoriasRepository = new CategoriasRepository(context);
                vm.Categorias = categoriasRepository.GetAll();
                return(View(vm));
            }
        }
示例#11
0
        public IActionResult Agregar(Categorias c)
        {
            try
            {
                FruteriashopContext  context = new FruteriashopContext();
                CategoriasRepository repos   = new CategoriasRepository(context);
                repos.Insert(c);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(c));
            }
        }
示例#12
0
 public IActionResult Eliminar(int id)
 {
     using (FruteriashopContext context = new FruteriashopContext())
     {
         ProductosRepository repos = new ProductosRepository(context);
         var p = repos.Get(id);
         if (p != null)
         {
             return(View(p));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
 }
示例#13
0
 public IActionResult Eliminar(Productos p)
 {
     using (FruteriashopContext context = new FruteriashopContext())
     {
         ProductosRepository repos = new ProductosRepository(context);
         var producto = repos.Get(p.Id);
         if (producto != null)
         {
             repos.Delete(producto);
             return(RedirectToAction("Index"));
         }
         else
         {
             ModelState.AddModelError("", "El producto no existe, o ya ha sido eliminado.");
             return(View(p));
         }
     }
 }
示例#14
0
        public IActionResult Eliminar(Categorias c)
        {
            try
            {
                using (FruteriashopContext context = new FruteriashopContext())
                {
                    CategoriasRepository repos = new CategoriasRepository(context);
                    var categoria = repos.Get(c.Id);
                    repos.Delete(categoria);

                    return(RedirectToAction("Index"));
                }
            }

            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View());
            }
        }
示例#15
0
        public IActionResult Editar(Categorias vm)
        {
            try
            {
                using (FruteriashopContext context = new FruteriashopContext())
                {
                    CategoriasRepository repos = new CategoriasRepository(context);
                    var original = repos.Get(vm.Id);

                    if (original != null)
                    {
                        original.Nombre = vm.Nombre;
                        repos.Update(original);
                    }
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(vm));
            }
        }
示例#16
0
 public CategoriasRepository(FruteriashopContext context) : base(context)
 {
 }
示例#17
0
 public ProductosRepository(FruteriashopContext context) : base(context)
 {
 }
示例#18
0
 public Repository(FruteriashopContext context)
 {
     Context = context;
 }