public IEnumerable<Database.Marca> GetAllMarcas()
 {
     var ctx = new Database.DB_InspeccionesEntities();
     var marcas = (from m in ctx.Marca
                   select m).ToList();
     return marcas;
 }
 public IEnumerable<Database.Pieza> GetAllPiezas()
 {
     var ctx = new Database.DB_InspeccionesEntities();
     var piezas = (from m in ctx.Pieza
                   select m).ToList();
     return piezas;
 }
        public IEnumerable<Models.Core.Tarea> GetTareas(int idUsuario, int estado)
        {
            List<Models.Core.Tarea> tareas = new List<Models.Core.Tarea>();
            var ctx = new Database.DB_InspeccionesEntities();

            var inspecciones = (from i in ctx.Inspeccion
                                where i.Estado == estado &&
                                i.UsuarioAsociado == idUsuario
                                select i).ToList();
            foreach (var item in inspecciones)
            {
                var tarea = new Models.Core.Tarea();
                tarea.IdInspeccion = item.Id;
                tarea.Nombre = item.Solicitud1.Contacto;
                tarea.Patente = item.Patente;
                tarea.Estado = Models.Core.Estado.GetEstado(item.Estado, Models.Core.TipoEstado.Inspeccion);
                tarea.FechaSolicitud = item.Solicitud1.FechaSolicitud.ToShortDateString();
                tarea.Modelo = item.Modelo1.Nombre;
                tarea.Marca = item.Modelo1.Marca1.Nombre;
                TimeSpan ts = DateTime.Now - item.Solicitud1.FechaSolicitud;
                tarea.DiasTranscurridos = ts.Days;
                // Diferencia de días

                tareas.Add(tarea);
            }
            return tareas;
        }
        public bool RutIsValid(string rut)
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var cliente = ctx.Cliente.Where(c => c.Rut == rut).FirstOrDefault();

            if (cliente != null) return true;
            return false;
        }
 public Database.Pieza GetPiezaById(int id)
 {
     var ctx = new Database.DB_InspeccionesEntities();
     var pieza = (from m in ctx.Pieza
         where m.Id == id
         select m).FirstOrDefault();
     return pieza ?? new Pieza();
 }
        public String GetTipoVehiculoModelo(int idTipoVehiculo)
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var modelo = (from v in ctx.Modelo
                          where v.Id == idTipoVehiculo
                          select v.TipoVehiculo).FirstOrDefault();

            return modelo;
        }
 public IEnumerable<String> GetTipoVehiculosModelo(int idModelo)
 {
     var ctx = new Database.DB_InspeccionesEntities();
     var modelo = (from v in ctx.Modelo
                      where v.Id == idModelo
                      select v).FirstOrDefault();
     var tModelo = (from v in ctx.Modelo
                    where v.Nombre == modelo.Nombre && v.Marca == modelo.Marca
                    select v.TipoVehiculo).Distinct();
     return tModelo;
 }
 public List<Models.Core.Marca> GetAllMarcas()
 {
     var ctx = new Database.DB_InspeccionesEntities();
     var marcas = (from m in ctx.Marca
                   where m.Estado == 1
                   select new Models.Core.Marca()
                   {
                       Id = m.Id,
                       Nombre = m.Nombre
                   }).ToList();
     return marcas;
 }
 public IEnumerable<Models.Core.Sucursal> GetAllSucursales()
 {
     var ctx = new Database.DB_InspeccionesEntities();
     var items = (from s in ctx.Sucursal
                  where s.Estado == 1
                  select new Models.Core.Sucursal()
                  {
                      Id = s.Id,
                      Nombre = s.Nombre.ToUpper()
                  }).ToList();
     return items;
 }
        public Models.Core.InfoSolicitud GetInfoSolicitud(int idSolicitud)
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var solicitudes = (from s in ctx.Solicitud
                               where s.Id == idSolicitud
                               select s).FirstOrDefault();
            var sol = new Models.Core.InfoSolicitud();
            if (solicitudes != null)
            {
                sol.Rut = solicitudes.Cliente1.Rut;
                sol.Nombre = solicitudes.Cliente1.Nombre;
                sol.ApePaterno = solicitudes.Cliente1.ApellidoPaterno;
                sol.ApeMaterno = solicitudes.Cliente1.ApellidoMaterno;
                sol.Direccion = solicitudes.Cliente1.Direccion;
                sol.Region = solicitudes.Cliente1.Comuna1.Provincia1.Region1.Nombre;
                sol.Provincia = solicitudes.Cliente1.Comuna1.Provincia1.Nombre;
                sol.Comuna = solicitudes.Cliente1.Comuna1.Nombre;
                sol.Fono1 = solicitudes.Cliente1.Fono1;
                sol.Fono2 = solicitudes.Cliente1.Fono2;
                sol.NombreCorredor = solicitudes.Corredor1.Nombre;
                sol.RutCorredor = solicitudes.Corredor1.Rut;
                sol.Motivo = "Negocio Nuevo";

                sol.Inspecciones = new List<Models.Core.InfoSolicitudInspeccion>();

                foreach (var item in solicitudes.Inspeccion)
                {
                    var ins = new Models.Core.InfoSolicitudInspeccion();

                    ins.Inspeccion = item.Id;
                    ins.Patente = item.Patente;

                    ins.Modelo = item.Modelo1.Marca1.Nombre + " " + item.Modelo1.Nombre;

                    string estado = "";
                    if (item.Estado == 1) estado = "Solicitada";
                    if (item.Estado == 2) estado = "Contactada";
                    if (item.Estado == 3) estado = "Finalizada";
                    if (item.Estado == 4) estado = "Cancelada";

                    ins.Estado = estado;

                    ins.Sucursal = item.Sucursal1.Nombre;

                    sol.Inspecciones.Add(ins);
                }

            }

            return sol;
        }
        public IEnumerable<Models.Core.Solicitud> GetSolicitudes()
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var sols = new List<Models.Core.Solicitud>();

            var solicitudes = (from s in ctx.Solicitud
                               select s).AsEnumerable();

            foreach (var item in solicitudes)
            {

                string estado = "";
                if(item.Estado == 1) estado = "Solicitada";
                if(item.Estado == 2) estado = "Contactada";
                if(item.Estado == 3) estado = "Finalizada";
                if(item.Estado == 4) estado = "Cancelada";

                var itemSol = new Models.Core.Solicitud() {
                    Id = item.Id,
                    Estado = estado,
                    FechaSolicitud = item.FechaSolicitud.ToShortDateString(),
                    Proveedor = item.Usuario.Rut + " " + item.Usuario.Nombre + " " + item.Usuario.Apellido
                };
                TimeSpan ts = DateTime.Now - DateTime.Now;
                if(estado == "Solicitada")
                {
                    ts = DateTime.Now - item.FechaSolicitud;
                }

                if (estado == "Contactada")
                {
                    ts = DateTime.Now- item.FechaSolicitud;
                }

                if (estado == "Finalizada")
                {
                    ts = item.FechaFinalizacion - item.FechaSolicitud;
                }

                if (estado == "Cancelada")
                {
                    ts = item.FechaFinalizacion - item.FechaSolicitud;
                }

                itemSol.DiasTranscurridos = ts.Days;

                sols.Add(itemSol);
            }

            return sols;
        }
        public IEnumerable<Models.Core.Provincia> GetAllProvincias(int idRegion)
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var provs = ctx.Provincia.Where(p => p.Region == idRegion).ToList();
            List<Models.Core.Provincia> provincias = new List<Models.Core.Provincia>();
            foreach (var item in provs)
            {
                Models.Core.Provincia prov = new Models.Core.Provincia();
                prov.Id = item.Id;
                prov.Nombre = item.Nombre;

                provincias.Add(prov);
            }
            return provincias;
        }
        public IEnumerable<Models.Core.Ciudad> GetAllCiudad(int idProvincia)
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var cius = ctx.Comuna.Where(c => c.Provincia == idProvincia).ToList();
            List<Models.Core.Ciudad> comunas = new List<Models.Core.Ciudad>();
            foreach (var item in cius)
            {
                Models.Core.Ciudad ciu = new Models.Core.Ciudad();
                ciu.Id = item.Id;
                ciu.Nombre = item.Nombre;

                comunas.Add(ciu);
            }
            return comunas;
        }
        public IEnumerable<Models.Core.Region> GetAllRegions()
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var region = ctx.Region.ToList();
            List<Models.Core.Region> regiones = new List<Models.Core.Region>();
            foreach (var item in region)
            {
                Models.Core.Region reg = new Models.Core.Region();
                reg.Id = item.Id;
                reg.Nombre = item.Nombre;

                regiones.Add(reg);
            }
            return regiones;
        }
        public bool VehiculoEsReinspeccion(string rut, string patente, int idModelo, string tipoVehiculo)
        {
            var vehEsReinspeccion = false;
            var ctx = new Database.DB_InspeccionesEntities();

            var insp = (from i in ctx.Inspeccion
                        where i.Modelo == idModelo &&
                              i.TipoVehiculo == tipoVehiculo &&
                              i.Patente == patente &&
                              i.Solicitud1.Cliente1.Rut == rut &&
                              (i.Estado == 2 || i.Estado == 3)
                        select i);

            if (insp != null) vehEsReinspeccion = true;

            return vehEsReinspeccion;
        }
        public Models.Core.Cliente GetCliente(string rutCliente)
        {
            rutCliente = rutCliente.Replace(".","");
            var ctx = new Database.DB_InspeccionesEntities();
            var cliente = ctx.Cliente.Where(c => c.Rut == rutCliente).FirstOrDefault();
            var clienteResponse = new Models.Core.Cliente();
            clienteResponse.Id = 0;
            if (cliente != null)
            {
                clienteResponse.Rut = rutCliente;
                clienteResponse.Id = cliente.Id;
                if (string.IsNullOrEmpty(cliente.Nombre))
                {
                    clienteResponse.EsEmpresa = true;
                    clienteResponse.RazonSocial = cliente.RazonSocial;
                    clienteResponse.Nombre = null;
                    clienteResponse.ApellidoMaterno = null;
                    clienteResponse.ApellidoPaterno = null;
                }
                else
                {
                    clienteResponse.EsEmpresa = false;
                    clienteResponse.RazonSocial = null;
                    clienteResponse.Nombre = cliente.Nombre;
                    clienteResponse.ApellidoMaterno = cliente.ApellidoMaterno;
                    clienteResponse.ApellidoPaterno = cliente.ApellidoPaterno;
                }
                clienteResponse.Direccion = cliente.Direccion;
                clienteResponse.Email = cliente.Email;
                clienteResponse.Fono1 = cliente.Fono1;
                clienteResponse.Fono2 = cliente.Fono2;
                clienteResponse.Comuna = cliente.Comuna;

                var comu = (from com in ctx.Comuna
                              where com.Id == cliente.Comuna
                              select com).FirstOrDefault();

                clienteResponse.Provincia = Convert.ToInt16(comu.Provincia);
                clienteResponse.Region = Convert.ToInt16(comu.Provincia1.Region);
                clienteResponse.Contacto = cliente.NombreContacto;
                clienteResponse.Estado = Models.Core.Estado.GetEstado(cliente.Estado, Models.Core.TipoEstado.Cliente);
            }

            return clienteResponse;
        }
        public IEnumerable<Models.Core.Modelo> GetAllModelos()
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var items = ctx.Modelo.Where(m => m.Estado == 1).Distinct();
            var modelos = new List<Models.Core.Modelo>();

            foreach (var item in items)
            {
                var modelo = new Models.Core.Modelo();
                modelo.Id = item.Id;
                modelo.Nombre = item.Nombre;
                modelo.TipoVehiculo = (from v in ctx.Modelo
                                       where v.Marca == item.Marca && v.Nombre == item.Nombre
                                       select v.TipoVehiculo).ToList();
                modelos.Add(modelo);
            }
            return modelos;
        }
Пример #18
0
        public ActionResult Login(Models.Core.Usuario usuario)
        {
            if (ModelState.IsValid)
            {
                if (Models.Core.Usuario.IsValid(usuario.Rut, usuario.Password))
                {
                    var ctx = new Database.DB_InspeccionesEntities();

                    Session["User"] = ctx.Usuario.FirstOrDefault(u => u.Rut == usuario.Rut);
                    return Redirect("~/Home/Index");
                }
                else
                {
                    Session["User"] = null;
                    ModelState.AddModelError("", "Nombre de usuario o contraseña incorrecto!");
                }
            }
            return View(usuario);
        }
Пример #19
0
 public static bool IsValid(string _rut, string _password)
 {
     var crypto = new SimpleCrypto.PBKDF2();
     bool isValid = false;
     try
     {
         using (var ctx = new Database.DB_InspeccionesEntities())
         {
             var user = ctx.Usuario.FirstOrDefault(u => u.Rut == _rut);
             if (user != null)
             {
                 string passCrypted = crypto.Compute(_password, user.PasswordSalt);
                 if (user.Password == passCrypted)
                 {
                     isValid = true;
                 }
             }
         }
         return isValid;
     }
     catch(Exception) {
         return isValid;
     }
 }
        public Models.Core.Inspeccion getInspeccionByID(int id)
        {
            var ctx = new Database.DB_InspeccionesEntities();
            var inspeccion = (from i in ctx.Inspeccion
                              where i.Id == id
                              select i).FirstOrDefault();
            var insp = new Models.Core.Inspeccion();

            if(inspeccion != null){

                insp.estadoDet = Models.Core.Estado.GetEstado(inspeccion.Solicitud1.Estado,Models.Core.TipoEstado.Inspeccion);
                insp.fechaSolicitud = inspeccion.Solicitud1.FechaSolicitud;
                insp.FechaInspeccion = Convert.ToDateTime(inspeccion.FechaInspeccion);
                insp.SucursalDetalle = inspeccion.Sucursal1.Nombre;
                insp.nombreCliente = inspeccion.Solicitud1.Cliente1.Nombre;
                insp.rutCliente = inspeccion.Solicitud1.Cliente1.Rut;
                insp.emailCliente = inspeccion.Solicitud1.Cliente1.Email;
                insp.telefonocliente = inspeccion.Solicitud1.Cliente1.Fono1;
                insp.rutCorredor = inspeccion.Solicitud1.Corredor1.Rut;
                insp.corredor = inspeccion.Solicitud1.Corredor1.Nombre;

                insp.Patente = inspeccion.Patente;
                insp.EstadoNeumaticos = inspeccion.EstadoNeumaticos;
                insp.Color = inspeccion.Color;
                insp.TipoVehiculo = inspeccion.TipoVehiculo;
                insp.NroMotor = inspeccion.NroMotor;
                insp.NroChasis = inspeccion.NroChasis;
                insp.Puertas = Convert.ToInt32(inspeccion.Puertas);
                insp.Transmision = inspeccion.Transmision;
                insp.Kilometraje = Convert.ToInt32(inspeccion.Kilometraje);
                insp.Cilindrada = Convert.ToInt32(inspeccion.Cilindrada);
                insp.EstadoPintura = inspeccion.EstadoPintura;

            }
            return insp;
        }
 public IEnumerable<Database.Region> GetAllRegions(string nombre)
 {
     var ctx = new Database.DB_InspeccionesEntities();
     return ctx.Region.Where(r => r.Nombre.Contains(nombre)).ToList();
 }
 public IEnumerable<Database.Marca> GetAllMarcasByNombre(string Nombre)
 {
     var ctx = new Database.DB_InspeccionesEntities();
     return ctx.Marca.Where(m => m.Nombre.Contains(Nombre) && m.Estado == 1).ToList();
 }
        public int SetSolicitud(string data)
        {
            try
            {
                JObject o = JObject.Parse(data);
                var ctx = new Database.DB_InspeccionesEntities();

                string motivo = (string)o["tipoNegocio"];
                DateTime fechaCoordinacion = Convert.ToDateTime((string)o["fechaCoordinacion"]);
                string rutCliente = (string)o["rutCliente"].ToString().Replace(".", "").Replace(".", "");
                string nombre = o["nombre"].ToString();
                string apellidoPaterno = o["apellidoPaterno"].ToString();
                string apellidoMaterno = o["apellidoMaterno"].ToString();
                bool esEmpresa = Convert.ToBoolean(o["esEmpresa"]);
                string direccion = o["direccion"].ToString();
                string telefono1 = o["telefono1"].ToString();
                string telefono2 = o["telefono2"].ToString();
                string email = o["Email"].ToString();
                string contacto = o["contacto"].ToString();
                int idUsuario = Convert.ToInt32(o["usuario"].ToString());
                int comuna = Convert.ToInt32(o["comuna"]);

                JArray vehiculos = (JArray)o["vehiculos"];

                var cliExiste = (from c in ctx.Cliente
                                 where c.Rut == rutCliente
                                 select c).FirstOrDefault();
                Database.Cliente cliente = null;
                if (cliExiste != null)
                {

                    //Se actualiza

                    cliente = cliExiste;
                }
                else
                {
                    cliente = new Database.Cliente()
                    {
                        Rut = rutCliente,
                        Nombre = nombre,
                        RazonSocial = nombre,
                        ApellidoPaterno = apellidoPaterno,
                        ApellidoMaterno = apellidoMaterno,
                        Direccion = direccion,
                        Comuna = comuna,
                        Fono1 = telefono1,
                        Fono2 = telefono2,
                        Email = email,
                        NombreContacto = contacto,
                        Estado = 1
                    };

                    ctx.Cliente.Add(cliente);
                    ctx.SaveChanges();
                }

                var solicitud = new Database.Solicitud()
                {
                    Cliente1 = cliente,
                    Contacto = contacto,
                    Corredor = 1,
                    Estado = 1,
                    FechaSolicitud = DateTime.Now,
                    FechaFinalizacion = DateTime.Now,
                    UsuarioSolicitud = idUsuario
                };
                ctx.Solicitud.Add(solicitud);
                ctx.SaveChanges();

                var usuario = (from u in ctx.Usuario
                               where u.Id == idUsuario
                               select u).FirstOrDefault();

                foreach (var item in vehiculos)
                {
                    int idUsuarioACargo = 0;
                    string nombreSucursal = item["Sucursal"].ToString();
                    var sucursal = (from s in ctx.Sucursal
                                    where s.Nombre == nombreSucursal
                                    select s).FirstOrDefault();
                    //Si es inspector
                    if (usuario.UsuarioSucursal.FirstOrDefault().Cargo == 1)
                    {
                        idUsuarioACargo = usuario.Id;
                    }
                    else
                    {
                        var InspSucursal = (from usuSuc in ctx.UsuarioSucursal
                                            where usuSuc.Sucursal == sucursal.Id
                                            select usuSuc).ToList();

                        if (InspSucursal.Count == 1)
                        {
                            idUsuarioACargo = InspSucursal[0].Usuario;
                        }
                        else
                        {
                            idUsuarioACargo = (from u in InspSucursal
                                               where u.Supervisor == 1
                                               select u).FirstOrDefault().Usuario;
                        }

                    }

                    var inspeccion = new Database.Inspeccion()
                    {
                        Sucursal = sucursal.Id,
                        UsuarioAsociado = idUsuarioACargo,
                        Estado = 1,
                        FechaInspeccion = DateTime.Now,
                        Patente = item["patente"].ToString(),
                        Modelo = Convert.ToInt32(item["idModelo"]),
                        Motivo = Convert.ToInt32(motivo),
                        Solicitud1 = solicitud,
                        TipoVehiculo = item["tipoVehiculo"].ToString(),
                        UsuarioInspector = 1
                    };
                    ctx.Inspeccion.Add(inspeccion);
                    ctx.SaveChanges();
                }
                //TODO: Añadir log
                return solicitud.Id;
            }
            catch(Exception ex)
            {
                var mensaje = ex.InnerException.ToString();
                //TODO: Añadir log.
                return 0;
            }
        }
        public int SetInspeccion(string data)
        {
            JObject o = JObject.Parse(data);
            var ctx = new Database.DB_InspeccionesEntities();
            int idInspeccion = Convert.ToInt32(o["inspeccion"].ToString());
            string observacion = o["lugarInspeccion"].ToString();
               // int clienteRecepcion = Convert.ToInt32(o["nombreContactado"].ToString());
            //var usuarioAsociado = (from u in ctx.Usuario where u.Id == clienteRecepcion select u).FirstOrDefault();
            //int motivoInspeccion = Convert.ToInt32(o["motivoInspeccion"].ToString());

            string motivo = o["motivoInspeccion"].ToString();
            int motivoInspeccion;
            if (motivo == "Negocio nuevo")
            {
                motivoInspeccion = 1;
            }
            else
            {
                motivoInspeccion = 2;
            }

            //int modelo = Convert.ToInt32(o["marcaVehiculo"].ToString());
            //var marcaVehiculo = (from m in ctx.Modelo where m.Id == modelo select m).FirstOrDefault();
            string patente = o["patente"].ToString();
            string color = o["color"].ToString();
            string transmission = o["transmision"].ToString();
            int puertas = Convert.ToInt32(o["puertas"].ToString());
            string numeroMotor = o["numeroMotor"].ToString();
            string numeroChasis = o["numeroChasis"].ToString();
            int kilometraje = Convert.ToInt32(o["kilometraje"].ToString());
            int cilindrada = Convert.ToInt32(o["cilindrada"].ToString());
            string tipoAlarma = o["tipoAlarma"].ToString();
            var ruedaRepuesto = Convert.ToBoolean(o["ruedaRepuesto"].ToString());
            var antena = Convert.ToBoolean(o["antena"].ToString());
            string tipoantena = o["tipoAntena"].ToString();
            string estadoNeumatico = o["estadoNeumatico"].ToString();
            string estadoPintura = o["estadoPintura"].ToString();

            var inspeccion = (from i in ctx.Inspeccion where i.Id == idInspeccion select i).FirstOrDefault();

            if (inspeccion == null)
            {
                return -1;
            }
            else
            {
                inspeccion.Observacion = observacion;
                //inspeccion.UsuarioAsociado = usuarioAsociado.Id;
                inspeccion.Motivo = motivoInspeccion;
                //inspeccion.Modelo = marcaVehiculo.Id;
                inspeccion.Patente = patente;
                inspeccion.Color = color;
                inspeccion.Transmision = transmission;
                inspeccion.Puertas = puertas;
                inspeccion.NroMotor = numeroMotor;
                inspeccion.NroChasis = numeroChasis;
                inspeccion.Kilometraje = kilometraje;
                inspeccion.Cilindrada = cilindrada;
                inspeccion.TipoAlarma = tipoAlarma;
                if (ruedaRepuesto)
                {
                    inspeccion.RuedaRepuesto = 1;
                }
                else
                {
                    inspeccion.RuedaRepuesto = 0;
                }

                if (antena)
                {
                    inspeccion.Antena = 1;
                }
                else {
                    inspeccion.Antena = 0;
                }

                inspeccion.TipoAntena = tipoantena;
                inspeccion.EstadoNeumaticos = estadoNeumatico;
                inspeccion.EstadoPintura = estadoPintura;

                inspeccion.Estado = 3;

                var inspeccionesSolicitud = (from i in ctx.Inspeccion
                where i.Solicitud == inspeccion.Solicitud
                                             select i  ).ToList();
                var todas = true;

                foreach (var item in inspeccionesSolicitud)
                {
                    if (item.Estado != 3)
                    {
                        todas = false;
                    }
                }

                if (todas)
                {
                    var solicitud = (from s in ctx.Solicitud
                                     where s.Id == inspeccion.Solicitud
                                     select s).FirstOrDefault();
                    if (solicitud != null)
                    {
                        solicitud.Estado = 3;
                    }
                }

                ctx.SaveChanges();
                return 0;
            }
        }