Beispiel #1
0
        internal Incidencia GetIncidenciaDeServicio(Servicio servicio)
        {
            ServicioIncidencia servicioIncidencia = db.DbServicioDeIncidencia.Include("Incidencia").Include("Servicio").Where(si => si.Servicio.Id == servicio.Id).FirstOrDefault();
            Incidencia         incidencia         = db.DbIncidencias.Include("Vehiculo").Include("Usuario").Where(i => i.Id == servicioIncidencia.Incidencia.Id).FirstOrDefault();

            return(incidencia);
        }
Beispiel #2
0
        public double CalcularDistancia(Incidencia aIncidencia, Taller aTaller)
        {
            double lng = Math.Pow((aIncidencia.Longitud - aTaller.Longitud), 2);
            double lat = Math.Pow((aIncidencia.Latitud - aTaller.Latitud), 2);

            return(Math.Sqrt(lng + lat));
        }
Beispiel #3
0
        public bool AgregarIncidencia(DateTime fechaSugerida, long pKm, string pDireccion, string pMatricula, string pComentario, long pUsuario, double lng, double lat)
        {
            Vehiculo   aVehiculo   = db.DbVehiculos.Where(v => v.Matricula == pMatricula).FirstOrDefault();
            Usuario    aUsuario    = db.DbUsuarios.Find(pUsuario);
            Incidencia aIncidencia = new Incidencia(fechaSugerida, pKm, pDireccion, aVehiculo, pComentario, aUsuario, lng, lat);

            db.DbIncidencias.Add(aIncidencia);
            if (db.SaveChanges() > 0)
            {
                return(true);
            }
            return(false);
        }
Beispiel #4
0
        public List <Taller> GetTalleresDistanciaOk(Incidencia aIncidencia)
        {
            var           talleres   = db.DbTalleres.ToList();
            List <Taller> talleresOk = new List <Taller>();

            foreach (var item in talleres)
            {
                if (CalcularDistancia(aIncidencia, item) < 1.30)
                {
                    talleresOk.Add(item);
                }
            }

            return(talleresOk);
        }
Beispiel #5
0
        internal void ControlStatusIncidencia(Servicio servicio)
        {
            db = new DbCARS();//esto karina me dijo que podia
            List <Servicio> servicios  = new List <Servicio>();
            Incidencia      incidencia = db.DbServicioDeIncidencia.Include("Incidencia").Include("Servicio").Where(si => si.Servicio.Id == servicio.Id).FirstOrDefault().Incidencia;

            incidencia = db.DbIncidencias.Include("Usuario").Include("Vehiculo").Where(i => i.Id == incidencia.Id).FirstOrDefault();
            List <ServicioIncidencia> servicioDeIncidencia = db.DbServicioDeIncidencia.Include("Incidencia").Include("Servicio").Where(si => si.Incidencia.Id == incidencia.Id).ToList();
            List <Servicio>           cancelado            = new List <Servicio>();
            List <Servicio>           terminado            = new List <Servicio>();

            foreach (var item in servicioDeIncidencia)
            {
                if (item.Servicio.Estado == TipoEstado.Cancelado)
                {
                    cancelado.Add(item.Servicio);
                }
                if (item.Servicio.Estado == TipoEstado.Terminado)
                {
                    terminado.Add(item.Servicio);
                }
            }


            if (cancelado.Count == servicioDeIncidencia.Count())
            {
                incidencia.Estado = EstadoIncidencia.Cancelada;
                ModificarIncidencia(ref incidencia);
            }
            else if (terminado.Count + cancelado.Count == servicioDeIncidencia.Count())
            {
                incidencia.Estado = EstadoIncidencia.Finalizada;
                ModificarIncidencia(ref incidencia);
            }
            else if (terminado.Count + cancelado.Count != servicioDeIncidencia.Count())
            {
                if (incidencia.Estado != EstadoIncidencia.Procesando)
                {
                    incidencia.Estado = EstadoIncidencia.Procesando;
                    ModificarIncidencia(ref incidencia);
                }
            }
        }
Beispiel #6
0
        internal void CreateServicio(Incidencia aIncidencia, Servicio servicio, string taller)
        {
            if (aIncidencia.Estado == EstadoIncidencia.Pendiente)
            {
                aIncidencia.Estado          = EstadoIncidencia.Procesando;
                db.Entry(aIncidencia).State = EntityState.Modified;
            }
            servicio.Taller   = GetTallerByDbId(long.Parse(taller));
            servicio.Vehiculo = aIncidencia.Vehiculo;
            servicio.Hora     = DateTime.Now;//arreglar esto

            db.DbServicios.Add(servicio);
            db.Entry(servicio.Taller).State   = EntityState.Unchanged;
            db.Entry(servicio.Vehiculo).State = EntityState.Unchanged;
            db.SaveChanges();

            ServicioIncidencia servicioIncidencia = new ServicioIncidencia(servicio, aIncidencia);

            db.DbServicioDeIncidencia.Add(servicioIncidencia);
            db.SaveChanges();
        }
Beispiel #7
0
 private void ModificarIncidencia(ref Incidencia incidencia)
 {
     db.Entry(incidencia).State = EntityState.Modified;
     db.SaveChanges();
 }
Beispiel #8
0
 public void CambiarEstadoIncidencia(Incidencia i, EstadoIncidencia estado)
 {
     i.Estado = estado;
     ModificarIncidencia(ref i);
 }
Beispiel #9
0
        public Incidencia GetIncidenciaByDbId(long id)
        {
            Incidencia aIncidencia = db.DbIncidencias.Include("Vehiculo").Include("Usuario").Where(i => i.Id == id).FirstOrDefault();

            return(aIncidencia);
        }