public static void CrearUsuario(ProyectoAutoContext _db, string _nombre, string _email, string _password, RolUsuario _rol, int _idFlota) { string passEncriptada = PasswordHash.CreateHash(_password.Trim()); Usuario nuevoUser = new Usuario() { Nombre = _nombre, Email = _email, Password = passEncriptada, Rol = _rol }; _db.Usuarios.Add(nuevoUser); int idFlota = _idFlota; if (idFlota != 0) { Flota flotaAsignar = _db.Flotas.Where(f => f.Id == idFlota).FirstOrDefault(); UsuarioFlota uf = new UsuarioFlota() { Usuario = nuevoUser, Flota = flotaAsignar }; _db.UsuarioFlotas.Add(uf); _db.SaveChanges(); flotaAsignar.UsuarioFlota = uf; nuevoUser.UsuarioFlota = uf; } _db.SaveChanges(); }
public static void EditarFlota(ProyectoAutoContext _db, int _idOriginal, string _nombreNuevo, int _idAdminNuevo, int _idPackServicio) { Flota flotaOriginal = _db.Flotas.Where(f => f.Id == _idOriginal).FirstOrDefault(); Usuario nuevoAdmin = _db.Usuarios.Where(u => u.Id == _idAdminNuevo).FirstOrDefault(); int idAdminOriginal = 0; if (flotaOriginal.UsuarioFlotaId != null) { idAdminOriginal = flotaOriginal.UsuarioFlota.Usuario.Id; } int idPackOriginal = 0; if (flotaOriginal.PackId != null) { idPackOriginal = flotaOriginal.PackServicio.Id; } if (_idAdminNuevo != idAdminOriginal) { // Si tiene una relacion anterior Desaparece if (flotaOriginal.UsuarioFlotaId != null) { flotaOriginal.UsuarioFlota.Usuario.UsuarioFlota = null; _db.UsuarioFlotas.Remove(flotaOriginal.UsuarioFlota); } //Si se selecciono algo diferente a "Sin Asignar", hay que hacer la nueva relacion if (_idAdminNuevo != 0) { UsuarioFlota uf = new UsuarioFlota() { Usuario = nuevoAdmin, Flota = flotaOriginal }; _db.UsuarioFlotas.Add(uf); _db.SaveChanges(); nuevoAdmin.UsuarioFlota = uf; flotaOriginal.UsuarioFlota = uf; } } if (_idPackServicio != idPackOriginal) { PackServicio pack = _db.PackServicios.Where(p => p.Id == _idPackServicio).FirstOrDefault(); flotaOriginal.PackServicio = pack; } flotaOriginal.Nombre = _nombreNuevo; _db.SaveChanges(); }
public static Flota CrearFlota(ProyectoAutoContext _db, string _nombre, int _idAdmin, string _nombrePackInicial) { Flota nuevaFlota = new Flota(); nuevaFlota.Nombre = _nombre; nuevaFlota.Servicios = new List <Servicio>(); nuevaFlota.TiposVehiculo = new List <TipoVehiculo>(); _db.Flotas.Add(nuevaFlota); if (_idAdmin != 0) { Usuario admin = _db.Usuarios.Where(u => u.Id == _idAdmin).FirstOrDefault(); UsuarioFlota uf = new UsuarioFlota() { Usuario = admin, Flota = nuevaFlota }; _db.UsuarioFlotas.Add(uf); _db.SaveChanges(); nuevaFlota.UsuarioFlota = uf; admin.UsuarioFlota = uf; } PackServicio packInicial = _db.PackServicios.Where(p => p.Nombre == _nombrePackInicial).FirstOrDefault(); nuevaFlota.PackServicio = packInicial; _db.SaveChanges(); //Creacion de datos default List <Servicio> serviciosDefault = CrearServiciosDefault(); List <TipoVehiculo> tiposVehiculoDefault = CrearTiposVehiculoDefault(); for (int i = 0; i < serviciosDefault.Count; i++) { nuevaFlota.Servicios.Add(serviciosDefault[i]); } for (int i = 0; i < tiposVehiculoDefault.Count; i++) { nuevaFlota.TiposVehiculo.Add(tiposVehiculoDefault[i]); } _db.SaveChanges(); return(nuevaFlota); }
public static void EditarUsuario(ProyectoAutoContext _db, int _idOriginal, string _nuevoNombre, string _nuevoEmail, RolUsuario _nuevoRol, int _nuevaFlotaId) { Usuario userOriginal = _db.Usuarios.Where(u => u.Id == _idOriginal).FirstOrDefault(); //Dependiendo del rol, primero se remueven las relaciones que se tenian como el rol anterior if (_nuevoRol == RolUsuario.Normal) { if (userOriginal.UsuarioFlotaId != null) { userOriginal.UsuarioFlota.Flota.UsuarioFlota = null; _db.UsuarioFlotas.Remove(userOriginal.UsuarioFlota); } } else if (_nuevoRol == RolUsuario.AdminDeFlota) { if (userOriginal.OperadorId != null) { userOriginal.Operador.Usuario = null; } int idFlotaOriginal = 0; if (userOriginal.UsuarioFlotaId != null) { idFlotaOriginal = userOriginal.UsuarioFlota.Flota.Id; } if (_nuevaFlotaId != idFlotaOriginal) { if (userOriginal.UsuarioFlotaId != null) { userOriginal.UsuarioFlota.Flota.UsuarioFlota = null; _db.UsuarioFlotas.Remove(userOriginal.UsuarioFlota); } if (_nuevaFlotaId != 0) { Flota flotaBuscada = _db.Flotas.Where(f => f.Id == _nuevaFlotaId).FirstOrDefault(); UsuarioFlota uf = new UsuarioFlota() { Usuario = userOriginal, Flota = flotaBuscada }; _db.UsuarioFlotas.Add(uf); _db.SaveChanges(); userOriginal.UsuarioFlota = uf; flotaBuscada.UsuarioFlota = uf; } } } else { if (userOriginal.OperadorId != null) { userOriginal.Operador.Usuario = null; } if (userOriginal.UsuarioFlotaId != null) { userOriginal.UsuarioFlota.Flota.UsuarioFlota = null; _db.UsuarioFlotas.Remove(userOriginal.UsuarioFlota); } } userOriginal.Nombre = _nuevoNombre; userOriginal.Email = _nuevoEmail; userOriginal.Rol = _nuevoRol; _db.SaveChanges(); }