示例#1
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);
                }
            }
        }