Пример #1
0
        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();
        }
Пример #2
0
        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);
        }