示例#1
0
        //
        // GET: /Horarios/

        public ActionResult Index()
        {
            HorariosDL horariosData = new HorariosDL();
            JefeAreaDL jefeAreaData = new JefeAreaDL();
            List<HorariosVM> listaHorariosVM = new List<HorariosVM>();
            List<JefeArea> listaJefes = jefeAreaData.ObtenerJefes();

            foreach (JefeArea item in listaJefes)
            {
                HorariosVM horarioVM = new HorariosVM();
                horarioVM.IdJefe = item.IdJefe;
                JefeArea jefeArea = jefeAreaData.ObtenerJefe(item.IdJefe);
                horarioVM.NombreJefe = jefeArea.Nombre + " " + jefeArea.Apellidos;
                Horarios horario = horariosData.ObtenerHorario(item.IdJefe);

                horarioVM.Lunes = horario.Lunes;
                horarioVM.Martes = horario.Martes;
                horarioVM.Miercoles = horario.Miercoles;
                horarioVM.Jueves = horario.Jueves;
                horarioVM.Viernes = horario.Viernes;
                listaHorariosVM.Add(horarioVM);
            }

            return PartialView(listaHorariosVM);
        }
        public ActionResult ObtenerResultado(int? semanaResultado)
        {
            JefeAreaDL jefeAreaData = new JefeAreaDL();
            ReunionesDL reunionesData = new ReunionesDL();
            HorariosDL horarioData = new HorariosDL();
            List<JefeArea> listaJefes = jefeAreaData.ObtenerJefes();
            List<Reuniones> listaReuniones;
            Horarios horarioJefe;
            DateTime inicioResultado = new DateTime();
            DateTime finResultado = new DateTime();
            DateTime fechaInicio = DateTime.Now.AddDays(-365);
            DateTime fechaFin = DateTime.Now;
            
            while (((int)fechaInicio.DayOfWeek == 0 ? 7 : (int)fechaInicio.DayOfWeek) != 1)
            {
                fechaInicio = fechaInicio.AddDays(1);
            }

            int nroSemana = 1;
            foreach (DateTime sem in CadaSemana(fechaInicio, fechaFin))
            {
                if (nroSemana == semanaResultado)
                {
                    inicioResultado = sem;
                    finResultado = sem.AddDays(7);
                    break;
                }

                nroSemana++;
            }


            List<ResultadosVM> listaResultados = new List<ResultadosVM>();

            foreach (JefeArea iJefe in listaJefes)
            {
                ResultadosVM resultadoJefe = new ResultadosVM();
                horarioJefe = horarioData.ObtenerHorario(iJefe.IdJefe);
                listaReuniones = reunionesData.ObtenerReuniones(inicioResultado, finResultado, iJefe.IdJefe);

                resultadoJefe.NombreJefe = iJefe.Nombre + " " + iJefe.Apellidos;
                resultadoJefe.Cumplimiento = CalcularCumplimiento(horarioJefe, listaReuniones);

                listaResultados.Add(resultadoJefe);
            }

            return PartialView(listaResultados);
        }