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 async Task <int> Save(TUpsertRequest obj, CancellationToken cancellationToken = default)
        {
            var domainToSave = _mapper.Map <TDatabase>(obj);
            await _context.Set <TDatabase>().AddAsync(domainToSave, cancellationToken);

            _context.SaveChanges();

            return(domainToSave.Id);
        }
Ejemplo n.º 3
0
        public ActionResult Create(MarcaEditViewModel marcaVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(marcaVm));
            }

            Marca marca = ConstruirMarca(marcaVm);

            if (_dbContext.Marcas.Any(m => m.NombreMarca == marca.NombreMarca))
            {
                ModelState.AddModelError(string.Empty, "Registro repetido!!!");
                return(View(marcaVm));
            }

            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    var    folder = "~/Content/Images/Marcas/";
                    string file   = "";
                    _dbContext.Marcas.Add(marca);
                    _dbContext.SaveChanges();
                    if (marcaVm.LogoFile != null)
                    {
                        file = $"{marca.MarcaId}.jpg";
                        var response = Helper.UploadPhoto(marcaVm.LogoFile, folder, file);
                        if (!response)
                        {
                            file = "SinImagenDisponible.jpg";
                        }
                    }
                    else
                    {
                        file = "SinImagenDisponible.jpg";
                    }
                    marca.Logo = $"{folder}{file}";
                    _dbContext.Entry(marca).State = EntityState.Modified;
                    _dbContext.SaveChanges();
                    transaction.Commit();
                    TempData["Msg"] = "Registro agregado";

                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, e.Message);
                    return(View(marcaVm));
                }
            }
        }
Ejemplo n.º 4
0
        public async Task EditAsync(int id, CarServiceModel carServiceModel)
        {
            Car carFromDb = await this.context
                            .Cars
                            .SingleOrDefaultAsync(car => car.Id == id);

            if (carFromDb == null)
            {
                throw new ArgumentNullException(nameof(carFromDb));
            }

            carFromDb.Brand            = carServiceModel.Brand;
            carFromDb.Model            = carServiceModel.Model;
            carFromDb.Picture          = carServiceModel.Picture;
            carFromDb.PricePerDay      = carServiceModel.PricePerDay;
            carFromDb.ManufacturedOn   = carServiceModel.ManufacturedOn;
            carFromDb.AirConditioner   = carServiceModel.AirConditioner;
            carFromDb.AutomaticGearbox = carServiceModel.AutomaticGearbox;
            carFromDb.Diesel           = carServiceModel.Diesel;
            carFromDb.Group            = carServiceModel.Group;
            carFromDb.CarStatus        = carServiceModel.CarStatus;
            carFromDb.CarStatusId      = carServiceModel.CarStatusId;

            this.context.Cars.Update(carFromDb);

            context.SaveChanges();
        }
        protected ResponseResultType SaveChanges()
        {
            var hasChanges = DbContext.SaveChanges() > 0;

            if (hasChanges)
            {
                return(ResponseResultType.Success);
            }

            return(ResponseResultType.NoChanges);
        }
Ejemplo n.º 6
0
        public ActionResult Create(TipoEditViewModel tipoVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(tipoVm));
            }

            var tipo = ConstruirTipo(tipoVm);

            if (!_dbContext.Tipos.Any(t => t.Descripcion == tipoVm.Descripcion))
            {
                _dbContext.Tipos.Add(tipo);
                _dbContext.SaveChanges();
                TempData["Msg"] = "Registro agregado";

                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Registro repetido...");
                return(View(tipoVm));
            }
        }
Ejemplo n.º 7
0
        public ActionResult Create(UsuarioEditViewModel usuarioVm)
        {
            if (!ModelState.IsValid)
            {
                usuarioVm.ListaRoles = _applicationDb.Roles.ToList();

                return(View(usuarioVm));
            }

            if (_dbContext.Usuarios.Any(e => e.DocumentoNro == usuarioVm.DocumentoNro))
            {
                ModelState.AddModelError(string.Empty, "Nro. de documento repetido");
                usuarioVm.ListaRoles = _applicationDb.Roles.ToList();

                return(View(usuarioVm));
            }
            if (_dbContext.Usuarios.Any(e => e.NombreUsuario == usuarioVm.NombreUsuario))
            {
                ModelState.AddModelError(string.Empty, "Nombre de usuario repetido");
                usuarioVm.ListaRoles = _applicationDb.Roles.ToList();

                return(View(usuarioVm));
            }

            Usuario empleado = ConstruirUsuario(usuarioVm);

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Usuarios.Add(empleado);
                    _dbContext.SaveChanges();
                    UssersHelper.CreateUserASP(usuarioVm.NombreUsuario, usuarioVm.Rol);
                    tran.Commit();
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    ModelState.AddModelError(string.Empty, ex.Message);
                    usuarioVm.ListaRoles = _applicationDb.Roles.ToList();
                    return(View(usuarioVm));
                }
            }
        }
Ejemplo n.º 8
0
        public ActionResult Create(AutoEditViewModel autoVm)
        {
            if (!ModelState.IsValid)
            {
                autoVm.Tipos    = _dbContext.Tipos.OrderBy(t => t.Descripcion).ToList();
                autoVm.Marcas   = _dbContext.Marcas.OrderBy(m => m.NombreMarca).ToList();
                autoVm.Modelos  = _dbContext.Modelos.OrderBy(m => m.NombreModelo).ToList();
                autoVm.Usuarios = ConstruirListaChoferes();

                return(View(autoVm));
            }

            Auto auto = ConstruirAuto(autoVm);

            if (_dbContext.Autos.Any(a => a.Patente == auto.Patente))
            {
                autoVm.Tipos    = _dbContext.Tipos.OrderBy(t => t.Descripcion).ToList();
                autoVm.Marcas   = _dbContext.Marcas.OrderBy(m => m.NombreMarca).ToList();
                autoVm.Modelos  = _dbContext.Modelos.OrderBy(m => m.NombreModelo).ToList();
                autoVm.Usuarios = ConstruirListaChoferes();
                ModelState.AddModelError(string.Empty, "Auto con patente repetida!!");
                return(View(autoVm));
            }

            try
            {
                _dbContext.Autos.Add(auto);
                _dbContext.SaveChanges();
                TempData["Msg"] = "Auto agregado";
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                autoVm.Tipos    = _dbContext.Tipos.OrderBy(t => t.Descripcion).ToList();
                autoVm.Marcas   = _dbContext.Marcas.OrderBy(m => m.NombreMarca).ToList();
                autoVm.Modelos  = _dbContext.Modelos.OrderBy(m => m.NombreModelo).ToList();
                autoVm.Usuarios = ConstruirListaChoferes();

                ModelState.AddModelError(string.Empty, "Error al intentar agregar un auto!!");
                return(View(autoVm));
            }
        }
Ejemplo n.º 9
0
 protected void SeedEverything(RentACarDbContext context)
 {
     context.Database.EnsureCreated();
     context.SaveChanges();
 }
Ejemplo n.º 10
0
        public ActionResult Create(ViajeEditViewModel viajeVm)
        {
            if (!ModelState.IsValid)
            {
                viajeVm.Autos    = _dbContext.Autos.Where(a => a.Disponible).ToList();
                viajeVm.Clientes = CargarListaClientes();

                return(View(viajeVm));
            }

            Viaje viaje = new Viaje
            {
                ViajeId         = viajeVm.ViajeId,
                AutoId          = viajeVm.AutoId,
                UsuarioId       = viajeVm.UsuarioId,
                FechaHoraSalida = viajeVm.FechaHoraSalida,
                Estado          = EstadoViaje.EnProceso
            };

            if (_dbContext.Viajes.Any(v => v.UsuarioId == viaje.UsuarioId &&
                                      v.Estado == EstadoViaje.EnProceso))
            {
                viajeVm.Autos    = _dbContext.Autos.Where(a => a.Disponible).ToList();
                viajeVm.Clientes = CargarListaClientes();

                ModelState.AddModelError(string.Empty, "Error: Usuario con viaje sin terminar...");
                return(View(viajeVm));
            }

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Viajes.Add(viaje);
                    var autoEnViaje = _dbContext.Autos.SingleOrDefault(a => a.AutoId == viaje.AutoId);
                    if (autoEnViaje == null)
                    {
                        viajeVm.Autos    = _dbContext.Autos.Where(a => a.Disponible).ToList();
                        viajeVm.Clientes = CargarListaClientes();

                        ModelState.AddModelError(String.Empty, "Joder... estamos en problemas");
                        return(View(viajeVm));
                    }

                    autoEnViaje.Disponible = false;
                    _dbContext.Entry(autoEnViaje).State = EntityState.Modified;
                    _dbContext.SaveChanges();
                    tran.Commit();
                    TempData["Msg"] = "Viaje guardado...";
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    viajeVm.Autos    = _dbContext.Autos.Where(a => a.Disponible).ToList();
                    viajeVm.Clientes = CargarListaClientes();

                    ModelState.AddModelError(String.Empty, "Error al intentar guardar un viaje...");
                    tran.Rollback();
                    return(View(viajeVm));
                }
            }
        }