예제 #1
0
        public ActionResult Create(ProductoEditViewModel productoVm)
        {
            if (!ModelState.IsValid)
            {
                productoVm.Categorias  = CombosHelper.GetCategorias();
                productoVm.Proveedores = CombosHelper.GetProveedores();

                return(View(productoVm));
            }

            var producto = Mapper.Map <ProductoEditViewModel, Producto>(productoVm);

            if (!_dbContext.Productos.Any(ct => ct.NombreProducto == producto.NombreProducto &&
                                          ct.CategoriaId == producto.CategoriaId))
            {
                using (var tran = _dbContext.Database.BeginTransaction())
                {
                    try
                    {
                        var folder = "~/Content/Images/Productos/";
                        var file   = "";
                        _dbContext.Productos.Add(producto);
                        _dbContext.SaveChanges();
                        if (productoVm.FotoFile != null)
                        {
                            file = $"{producto.ProductoId}.jpg";
                            var response = FileHelper.UploadPhoto(productoVm.FotoFile, folder, file);
                            if (!response)
                            {
                                file = "SinImagenDisponible.jpg";
                            }
                        }
                        else
                        {
                            file = "SinImagenDisponible.jpg";
                        }

                        producto.Foto = $"{folder}{file}";
                        _dbContext.Entry(producto).State = EntityState.Modified;
                        _dbContext.SaveChanges();
                        tran.Commit();
                        TempData["Msg"] = "Registro agregado";
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception e)
                    {
                        productoVm.Categorias  = CombosHelper.GetCategorias();
                        productoVm.Proveedores = CombosHelper.GetProveedores();

                        ModelState.AddModelError(string.Empty, e.Message);
                        return(View(productoVm));
                    }
                }
            }
            productoVm.Categorias  = CombosHelper.GetCategorias();
            productoVm.Proveedores = CombosHelper.GetProveedores();

            ModelState.AddModelError(string.Empty, "Registro repetido...");
            return(View(productoVm));
        }
예제 #2
0
 public ActionResult Create()
 {
     ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre");
     ViewBag.EstadoId    = new SelectList(CombosHelper.GetEstados(), "EstadoId", "Nombre");
     ViewBag.MunicipioId = new SelectList(CombosHelper.GetMunicipios(0), "MunicipioId", "Nombre");
     ViewBag.LocalidadId = new SelectList(CombosHelper.GetLocalidades(0), "LocalidadId", "Nombre");
     return(View());
 }
예제 #3
0
        public ActionResult Create(ProductoViewModel productoViewModel)
        {
            if (ModelState.IsValid)
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var producto = ToModel(productoViewModel);
                        db.Productos.Add(producto);
                        db.SaveChanges();

                        if (productoViewModel.ArchivoImagen != null)
                        {
                            var folder = "~/Content/Productos";
                            var file   = $"{producto.ProductoId}.jpg";

                            var response = FileHelper.UploadPhoto(productoViewModel.ArchivoImagen, folder, file);
                            if (response)
                            {
                                var pic = $"{folder}/{file}";
                                producto.Imagen          = pic;
                                db.Entry(producto).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                        }
                        transaction.Commit();

                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        if (ex.InnerException != null &&
                            ex.InnerException.InnerException != null &&
                            ex.InnerException.InnerException.Message.Contains("IX"))
                        {
                            transaction.Rollback();
                            ModelState.AddModelError(string.Empty, "Este Producto ya existe.");
                        }
                        else
                        {
                            transaction.Rollback();
                            ModelState.AddModelError(string.Empty, ex.Message);
                            ViewBag.CategoriaId    = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", productoViewModel.CategoriaId);
                            ViewBag.MarcaId        = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre", productoViewModel.MarcaId);
                            ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(productoViewModel.CategoriaId), "SubCategoriaId", "Nombre", productoViewModel.SubCategoriaId);
                            return(View(productoViewModel));
                        }
                    }
                }
            }

            ViewBag.CategoriaId    = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", productoViewModel.CategoriaId);
            ViewBag.MarcaId        = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre", productoViewModel.MarcaId);
            ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(productoViewModel.CategoriaId), "SubCategoriaId", "Nombre", productoViewModel.SubCategoriaId);
            return(View(productoViewModel));
        }
예제 #4
0
        // GET: Productos/Create
        public ActionResult Create()
        {
            var productoVm = new ProductoEditViewModel
            {
                Categorias  = CombosHelper.GetCategorias(),
                Proveedores = CombosHelper.GetProveedores()
            };

            return(View(productoVm));
        }
예제 #5
0
        public ActionResult AddProduct()
        {
            AddProductViewModel producto = new AddProductViewModel
            {
                Categorias = CombosHelper.GetCategorias(),
                Productos  = CombosHelper.GetProductos(0)
            };

            return(View(producto));
        }
예제 #6
0
        // GET: Productos/Create
        public ActionResult Create()
        {
            var productoViewModel = new ProductoViewModel();

            productoViewModel.Estado = true;

            ViewBag.CategoriaId    = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre");
            ViewBag.MarcaId        = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre");
            ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(0), "SubCategoriaId", "Nombre");
            return(View(productoViewModel));
        }
예제 #7
0
        public ActionResult AddProduct(AddProductViewModel addProduct)
        {
            if (!ModelState.IsValid)
            {
                addProduct.Categorias = CombosHelper.GetCategorias();
                addProduct.Productos  = CombosHelper.GetProductos(addProduct.CategoriaId);
                return(View(addProduct));
            }

            var pr = _dbContext.Productos
                     .SingleOrDefault(p => p.ProductoId == addProduct.ProductoId);

            if (pr.UnidadesEnExistencia < addProduct.Cantidad)
            {
                ModelState.AddModelError(string.Empty, "Stock insuficiente");
                addProduct.Categorias = CombosHelper.GetCategorias();
                addProduct.Productos  = CombosHelper.GetProductos(addProduct.CategoriaId);
                ViewBag.Stock         = pr.UnidadesEnExistencia;
                return(View(addProduct));
            }

            try
            {
                DetalleVentaTmp detalleTmp = _dbContext.DetalleVentasTmp
                                             .SingleOrDefault(dvt => dvt.ProductoId == addProduct.ProductoId);
                if (detalleTmp == null)
                {
                    detalleTmp = new DetalleVentaTmp
                    {
                        ProductoId     = addProduct.ProductoId,
                        PrecioUnitario = addProduct.PrecioUnitario,
                        Cantidad       = addProduct.Cantidad
                    };
                    _dbContext.DetalleVentasTmp.Add(detalleTmp);
                }
                else
                {
                    detalleTmp.Cantidad += addProduct.Cantidad;
                    _dbContext.Entry(detalleTmp).State = EntityState.Modified;
                }

                _dbContext.SaveChanges();
                return(RedirectToAction("Create"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, "Error al intentar guardar un item de vta");
                addProduct.Categorias = CombosHelper.GetCategorias();
                addProduct.Productos  = CombosHelper.GetProductos(addProduct.CategoriaId);
                ViewBag.Stock         = pr.UnidadesEnExistencia;

                return(View(addProduct));
            }
        }
예제 #8
0
 public ActionResult Edit(Solicitud solicitud)
 {
     if (ModelState.IsValid)
     {
         db.Entry(solicitud).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", solicitud.CategoriaId);
     ViewBag.EstadoId    = new SelectList(CombosHelper.GetEstados(), "EstadoId", "Nombre", solicitud.EstadoId);
     ViewBag.MunicipioId = new SelectList(CombosHelper.GetMunicipios(solicitud.MunicipioId), "MunicipioId", "Nombre", solicitud.MunicipioId);
     ViewBag.LocalidadId = new SelectList(CombosHelper.GetLocalidades(solicitud.LocalidadId), "LocalidadId", "Nombre", solicitud.LocalidadId);
     return(View(solicitud));
 }
        // GET: Items/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Item item = db.Items.Find(id);

            if (item == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nome", item.CategoriaId);
            return(View(item));
        }
예제 #10
0
        public ActionResult Create(Solicitud solicitud)
        {
            if (ModelState.IsValid)
            {
                solicitud.Status   = "Espera";
                solicitud.Password = solicitud.Correo;
                db.Solicituds.Add(solicitud);
                db.SaveChanges();
                return(RedirectToAction("Mensaje"));
            }

            ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", solicitud.CategoriaId);
            ViewBag.EstadoId    = new SelectList(CombosHelper.GetEstados(), "EstadoId", "Nombre", solicitud.EstadoId);
            ViewBag.MunicipioId = new SelectList(CombosHelper.GetMunicipios(solicitud.MunicipioId), "MunicipioId", "Nombre", solicitud.MunicipioId);
            ViewBag.LocalidadId = new SelectList(CombosHelper.GetLocalidades(solicitud.LocalidadId), "LocalidadId", "Nombre", solicitud.LocalidadId);
            return(View(solicitud));
        }
예제 #11
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Solicitud solicitud = db.Solicituds.Find(id);

            if (solicitud == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", solicitud.CategoriaId);
            ViewBag.EstadoId    = new SelectList(CombosHelper.GetEstados(), "EstadoId", "Nombre", solicitud.EstadoId);
            ViewBag.MunicipioId = new SelectList(CombosHelper.GetMunicipios(solicitud.MunicipioId), "MunicipioId", "Nombre", solicitud.MunicipioId);
            ViewBag.LocalidadId = new SelectList(CombosHelper.GetLocalidades(solicitud.LocalidadId), "LocalidadId", "Nombre", solicitud.LocalidadId);
            return(View(solicitud));
        }
예제 #12
0
        // GET: Productos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Producto producto = db.Productos.Find(id);

            if (producto == null)
            {
                return(HttpNotFound());
            }

            var productoViewModel = ToViewModel(producto);

            ViewBag.CategoriaId    = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", producto.CategoriaId);
            ViewBag.MarcaId        = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre", producto.MarcaId);
            ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(producto.CategoriaId), "SubCategoriaId", "Nombre", producto.SubCategoriaId);
            return(View(productoViewModel));
        }
        public ActionResult Create(Item item)
        {
            try
            {
                db.Items.Add(item);
                db.SaveChanges();

                if (item.FotoFile != null)
                {
                    var folder = "/Content/ItemFoto";
                    var file   = string.Format("{0}.jpg", item.ItemId);

                    var atualizadoFoto = FilesHelper.UploadPhoto(item.FotoFile, folder, file);
                    if (atualizadoFoto)
                    {
                        var pic = string.Format("{0}/{1}", folder, file);
                        item.Foto = pic;
                    }
                }
                db.Entry(item).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                if (db.Items.Where(c => c.Nome.Equals(item.Nome)).Any())
                {
                    ModelState.AddModelError(string.Empty, "Já existe um item com este nome.");
                }
                else
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }


            ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nome", item.CategoriaId);
            return(View(item));
        }
예제 #14
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var producto = _dbContext.Productos
                           .SingleOrDefault(ct => ct.ProductoId == id);

            if (producto == null)
            {
                return(HttpNotFound());
            }

            ProductoEditViewModel productoVm = Mapper
                                               .Map <Producto, ProductoEditViewModel>(producto);

            productoVm.Categorias  = CombosHelper.GetCategorias();
            productoVm.Proveedores = CombosHelper.GetProveedores();

            return(View(productoVm));
        }
예제 #15
0
        public ActionResult Edit(ProductoEditViewModel productoVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(productoVm));
            }

            var producto = Mapper.Map <ProductoEditViewModel, Producto>(productoVm);

            productoVm.Categorias  = CombosHelper.GetCategorias();
            productoVm.Proveedores = CombosHelper.GetProveedores();

            try
            {
                if (_dbContext.Productos.Any(ct => ct.NombreProducto == producto.NombreProducto &&
                                             ct.ProductoId != producto.ProductoId))
                {
                    productoVm.Categorias  = CombosHelper.GetCategorias();
                    productoVm.Proveedores = CombosHelper.GetProveedores();

                    ModelState.AddModelError(string.Empty, "Registro repetido");
                    return(View(productoVm));
                }
                _dbContext.Entry(producto).State = EntityState.Modified;
                _dbContext.SaveChanges();
                TempData["Msg"] = "Registro editado";
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                productoVm.Categorias  = CombosHelper.GetCategorias();
                productoVm.Proveedores = CombosHelper.GetProveedores();

                ModelState.AddModelError(string.Empty, "Error inesperado al intentar editar un registro");
                return(View(productoVm));
            }
        }
 // GET: Items/Create
 public ActionResult Create()
 {
     ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nome");
     return(View());
 }