Ejemplo n.º 1
0
        public ActionResult Create(ModeloEditViewModel modeloVm)
        {
            if (!ModelState.IsValid)
            {
                modeloVm.Marcas = _dbContext.Marcas.ToList();
                modeloVm.Tipos  = _dbContext.Tipos.ToList();
                return(View(modeloVm));
            }

            Modelo modelo = ConstruirModelo(modeloVm);

            if (_dbContext.Modelos.Any(m => m.MarcaId == modelo.MarcaId &&
                                       m.TipoId == modelo.TipoId &&
                                       m.NombreModelo == modelo.NombreModelo))
            {
                modeloVm.Marcas = _dbContext.Marcas.ToList();
                modeloVm.Tipos  = _dbContext.Tipos.ToList();
                ModelState.AddModelError(string.Empty, "Modelo repetido!!!");
                return(View(modeloVm));
            }

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    var folder = "~/Content/Images/Modelos/";
                    var file   = "";
                    _dbContext.Modelos.Add(modelo);
                    _dbContext.SaveChanges();
                    if (modeloVm.FotoFile != null)
                    {
                        file = $"{modelo.ModeloId}.jpg";
                        var response = Helper.UploadPhoto(modeloVm.FotoFile, folder, file);
                        if (!response)
                        {
                            file = "SinImagenDisponible.jpg";
                        }
                    }
                    else
                    {
                        file = "SinImagenDisponible.jpg";
                    }

                    modelo.Foto = $"{folder}{file}";
                    _dbContext.Entry(modelo).State = EntityState.Modified;
                    _dbContext.SaveChanges();
                    tran.Commit();
                    TempData["Msg"] = "Registro agregado";
                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    modeloVm.Marcas = _dbContext.Marcas.ToList();
                    modeloVm.Tipos  = _dbContext.Tipos.ToList();

                    ModelState.AddModelError(string.Empty, e.Message);
                    return(View(modeloVm));
                }
            }
        }
Ejemplo n.º 2
0
        public ActionResult Create()
        {
            ModeloEditViewModel vm = new ModeloEditViewModel
            {
                Marcas = _dbContext.Marcas.ToList(),
                Tipos  = _dbContext.Tipos.ToList()
            };

            return(View(vm));
        }
Ejemplo n.º 3
0
 private Modelo ConstruirModelo(ModeloEditViewModel modeloVm)
 {
     return(new Modelo
     {
         ModeloId = modeloVm.ModeloId,
         MarcaId = modeloVm.MarcaId,
         TipoId = modeloVm.TipoId,
         NombreModelo = modeloVm.NombreModelo,
         Foto = modeloVm.Foto
     });
 }
Ejemplo n.º 4
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Modelo modelo = _dbContext.Modelos
                            .Include(m => m.Marca)
                            .Include(m => m.Tipo)
                            .SingleOrDefault(m => m.ModeloId == id);

            if (modelo == null)
            {
                return(HttpNotFound("Código de Modelo inexistente"));
            }

            ModeloEditViewModel modeloVm = ConstruirModeloEditViewModel(modelo);

            return(View(modeloVm));
        }