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); }
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)); }
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); }
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); }
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); } } }
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(); }
private void ModificarIncidencia(ref Incidencia incidencia) { db.Entry(incidencia).State = EntityState.Modified; db.SaveChanges(); }
public void CambiarEstadoIncidencia(Incidencia i, EstadoIncidencia estado) { i.Estado = estado; ModificarIncidencia(ref i); }
public Incidencia GetIncidenciaByDbId(long id) { Incidencia aIncidencia = db.DbIncidencias.Include("Vehiculo").Include("Usuario").Where(i => i.Id == id).FirstOrDefault(); return(aIncidencia); }