public static Flota CrearFlota(ProyectoAutoContext _db, string _nombre, int _idAdmin) { 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; } _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 CrearProveedor(ProyectoAutoContext _db, int _idFlota, string _nombreComercial, string _telefono, string _direccion, string _personaContacto, string _telefonoContacto, string _emailContacto) { Flota flota = _db.Flotas.Where(f => f.Id == _idFlota).FirstOrDefault(); Proveedor nuevoProveedor = new Proveedor(); nuevoProveedor.NombreComercial = _nombreComercial; nuevoProveedor.Telefono = _telefono; nuevoProveedor.Direccion = _direccion; nuevoProveedor.PersonaContacto = _personaContacto; nuevoProveedor.TelefonoContacto = _telefonoContacto; nuevoProveedor.EmailContacto = _emailContacto; nuevoProveedor.GastoTotalCombustible = 0; nuevoProveedor.GastoTotalMantenimiento = 0; flota.Proveedores.Add(nuevoProveedor); _db.SaveChanges(); }
public static void EliminarFlota(ProyectoAutoContext _db, int _idFlota) { Flota flota = _db.Flotas.Where(f => f.Id == _idFlota).FirstOrDefault(); List <int> autosEliminables = new List <int>(); List <int> operadoresEliminables = new List <int>(); foreach (Auto a in flota.Autos) { autosEliminables.Add(a.Id); } foreach (int aId in autosEliminables) { Auto.ElimiarAuto(_db, aId); } foreach (Operador o in flota.Operadores) { operadoresEliminables.Add(o.Id); } foreach (int oId in operadoresEliminables) { Operador.EliminarOperador(_db, oId); } if (flota.UsuarioFlotaId != null) { flota.UsuarioFlota.Usuario.UsuarioFlota = null; _db.UsuarioFlotas.Remove(flota.UsuarioFlota); } _db.Proveedores.RemoveRange(flota.Proveedores); _db.TiposVehiculo.RemoveRange(flota.TiposVehiculo); _db.Servicios.RemoveRange(flota.Servicios); _db.Alertas.RemoveRange(flota.Alerttas); _db.Recordatorios.RemoveRange(flota.Recordatorios); _db.SaveChanges(); _db.Flotas.Remove(flota); _db.SaveChanges(); }
public static void EliminarServicio(ProyectoAutoContext _db, int _idFlota, int _idServicio) { Flota flota = _db.Flotas.Where(f => f.Id == _idFlota).FirstOrDefault(); Servicio serv = flota.Servicios.Where(s => s.Id == _idServicio).FirstOrDefault(); List <MantencionServicio> ManSerEliminables = new List <MantencionServicio>(); foreach (Auto a in flota.Autos) { foreach (HistorialMantencion hm in a.Mantenciones) { foreach (MantencionServicio ms in hm.ServiciosAplicados) { if (ms.ServicioId == _idServicio) { ManSerEliminables.Add(ms); } } } } _db.MantencionServicios.RemoveRange(ManSerEliminables); _db.Servicios.Remove(serv); _db.SaveChanges(); }
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(); }
public static void EditarOperador(ProyectoAutoContext _db, int _idFlota, int _idOriginal, string _nuevoNombre, string _tipoLicencia, int _idNuevoUsuario, int _idNuevoAuto) { Flota flota = _db.Flotas.Where(f => f.Id == _idFlota).FirstOrDefault(); Operador operador = flota.Operadores.Where(o => o.Id == _idOriginal).FirstOrDefault(); operador.Nombre = _nuevoNombre; operador.TipoLicencia = _tipoLicencia; if (_idNuevoAuto == 0) { //if(operador.Auto != null) //{ // operador.Auto.Operador = null; // operador.Auto = null; //} if (operador.Autos.Count > 0) { operador.Autos.First().Operador = null; operador.Autos.Clear(); } } else { //if (operador.Auto != null) // operador.Auto.Operador = null; //Auto autoNuevo = flota.Autos.Where(a => a.Id == _idNuevoAuto).FirstOrDefault(); //operador.Auto = autoNuevo; //autoNuevo.Operador = operador; if (operador.Autos.Count > 0) { operador.Autos.First().Operador = null; operador.Autos.Clear(); } Auto autoNuevo = flota.Autos.Where(a => a.Id == _idNuevoAuto).FirstOrDefault(); operador.Autos.Add(autoNuevo); autoNuevo.Operador = operador; } if (_idNuevoUsuario == 0) { if (operador.Usuario != null) { operador.Usuario.Operador = null; operador.Usuario = null; } } else { if (operador.Usuario != null) { operador.Usuario.Operador = null; } Usuario nuevoUser = _db.Usuarios.Where(u => u.Id == _idNuevoUsuario).FirstOrDefault(); operador.Usuario = nuevoUser; nuevoUser.Operador = operador; } _db.SaveChanges(); }