public IActionResult EditLot(EditLotViewModel loteModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var lote = new Input.Lote
                    {
                        Id           = loteModel.LotId,
                        Descripcion  = loteModel.Descripcion,
                        NombreImagen = loteModel.Imagen?.FileName,
                        Imagen       = loteModel.Imagen != null?ConvertFileToByte(loteModel.Imagen) : null
                    };

                    TempData["SuccesMessage"] = "El lote se ha editado correctamente";

                    _loteManager.Save(lote);

                    return(RedirectToAction("Index"));
                }

                return(View(loteModel));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, string.Empty);
                return(RedirectToAction("Status", "Error", new { code = 404 }));
            }
        }
示例#2
0
 public Output.Lote Save(Input.Lote lote)
 {
     if (lote.Id.HasValue)
     {
         return(Update(lote));
     }
     else
     {
         return(Create(lote));
     }
 }
示例#3
0
        public Output.Lote Create(Input.Lote lote)
        {
            using (var context = _context.Get())
            {
                var estado = context.Estado.Where(x => x.Activo.Value && x.Codigo.Equals(Ecommerce.Common.Constant.Properties.Estado.Abierto)).FirstOrDefault();

                var item = new Domain.Models.Lote
                {
                    Descripcion  = lote.Descripcion,
                    Activo       = true,
                    NombreImagen = lote.NombreImagen,
                    Imagen       = lote.Imagen,
                    IdEstado     = estado.Id
                };

                context.Add(item);
                context.SaveChanges();

                return(_transformMapper.Transform <Domain.Models.Lote, Output.Lote>(item));
            }
        }
示例#4
0
        public Output.Lote Update(Input.Lote lote)
        {
            using (var context = _context.Get())
            {
                var item = context.Lote
                           .Include("Articulo")
                           .Include("IdEstadoNavigation")
                           .Include("Articulo.UsuarioAdjudicadoNavigation")
                           .Include("Articulo.Solicitud")
                           .Include("Articulo.Solicitud.IdUsuarioNavigation")
                           .Include("IdEstadoNavigation")
                           .Where(x => x.Id.Equals(lote.Id)).FirstOrDefault();

                item.Descripcion   = lote.Descripcion;
                item.NombreImagen  = lote.NombreImagen;
                item.Imagen        = lote.Imagen;
                item.Actualizacion = DateTime.Now;

                context.SaveChanges();
                return(_transformMapper.Transform <Domain.Models.Lote, Output.Lote>(item));
            }
        }
        public IActionResult CreateLot(CreateLotViewModel loteModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var lote = new Input.Lote
                    {
                        Id           = loteModel.LotId,
                        Descripcion  = loteModel.Descripcion,
                        NombreImagen = loteModel.Imagen?.FileName,
                        Imagen       = ConvertFileToByte(loteModel.Imagen)
                    };

                    TempData["SuccesMessage"] = "Se ha creado un lote";

                    _loteManager.Save(lote);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    if (loteModel.Imagen == null)
                    {
                        ModelState.AddModelError("Image", "Error al cargar la imagen");
                    }

                    return(View(loteModel));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, string.Empty);
                return(RedirectToAction("Status", "Error", new { code = 404 }));
            }
        }