public List <ModeloCasosPrueba> Obtener(string seccion) { DAOSeccion daoSeccion = new DAOSeccion(); DAOCasosPrueba daoCasosPrueba = new DAOCasosPrueba(); DAOEstatusCP daoEstatus = new DAOEstatusCP(); var idSeccion = daoSeccion.ObtenerByNombre(seccion).Id; var idPendientes = daoEstatus.ObtenerByNombre("Pendiente a ejecutar").Id; var casosprueba = daoCasosPrueba.ObtenerByEstatus(idPendientes, idSeccion); return(casosprueba.ToList()); }
public void CambiarStatus(EntitiesCPEstatus modelo) { DAOCasosPrueba daoCasosPrueba = new DAOCasosPrueba(); DAOEstatusCP daoEstatus = new DAOEstatusCP(); DAOSeccion daoSeccion = new DAOSeccion(); foreach (string nombre in modelo.cp) { ModeloEstatusCP modeloestatus = daoEstatus.ObtenerByNombre(modelo.estatus); ModeloSeccion modeloseccion = daoSeccion.ObtenerByNombre(modelo.seccion); ModeloCasosPrueba modelupdate = daoCasosPrueba.ObtenerByNombre(nombre, modeloseccion.Id); modelupdate.IdEstatus = modeloestatus.Id; modelupdate.FechaEjecucion = DateTime.Now; var idupdate = modelupdate.Id; daoCasosPrueba.Actualizar(idupdate, modelupdate); } }
public List <EntitieReporteEjecutadosPorEjecutar> EjecutadosPendientes() { List <EntitieReporteEjecutadosPorEjecutar> reporte = new List <EntitieReporteEjecutadosPorEjecutar>(); DAOCasosPrueba daoCasosPrueba = new DAOCasosPrueba(); DAOPersonal daoPersoanl = new DAOPersonal(); DAOSeccion daoSeccion = new DAOSeccion(); DAOEstatusCP daoEstatus = new DAOEstatusCP(); List <ModeloCasosPrueba> casosPrueba = daoCasosPrueba.ObtenerTodo(); var agrupado = casosPrueba.GroupBy(info => info.IdSeccion).Select(group => new { IdSeccion = group.Key, Total = group.Count() }); foreach (var indice in agrupado) { EntitieReporteEjecutadosPorEjecutar repcasoPrueba = new EntitieReporteEjecutadosPorEjecutar(); repcasoPrueba.Seccion = daoSeccion.ObtenerById(indice.IdSeccion).Seccion; repcasoPrueba.TotalCP = indice.Total; var resulSeccion = daoCasosPrueba.ObtenerByIdSeccion(indice.IdSeccion); DateTime fechaMin = resulSeccion.Select(x => x.FechaEstimadaInicio).Min(); DateTime fechaMax = resulSeccion.Select(x => x.FechaEstimadaFin).Max(); repcasoPrueba.FechaFin = fechaMax.ToShortDateString(); repcasoPrueba.FechaInicio = fechaMin.ToShortDateString(); var personalQA = resulSeccion.Select(x => x.persoanlEje).Distinct(); string responsablesQA = String.Empty; foreach (var personaQA in personalQA) { responsablesQA += daoPersoanl.ObtenerById(personaQA).Personal + ","; } repcasoPrueba.ResponsableQA = responsablesQA; var idEstatusPendiente = daoEstatus.ObtenerByNombre("Pendiente a ejecutar").Id; repcasoPrueba.PorEjecutarReal = resulSeccion.Where(x => x.IdEstatus == idEstatusPendiente).Count(); var idEstatusEjecutadoExito = daoEstatus.ObtenerByNombre("Ejecutados exitosamente").Id; repcasoPrueba.EjecutadosExito = resulSeccion.Where(x => x.IdEstatus.Equals(idEstatusEjecutadoExito)).Count(); var idEstatusEjecutadoIncidencia = daoEstatus.ObtenerByNombre("Incidencia").Id; repcasoPrueba.EjecutadosIncidencia = resulSeccion.Where(x => x.IdEstatus.Equals(idEstatusEjecutadoIncidencia)).Count(); repcasoPrueba.EjecutadosReal = repcasoPrueba.EjecutadosIncidencia + repcasoPrueba.EjecutadosExito; int diasLab = DiasLaborables(fechaMin, fechaMax); repcasoPrueba.MediaDia = indice.Total / diasLab; DateTime fechaEst = fechaMax; if (fechaMax > DateTime.Now) { fechaEst = DateTime.Now; } int diasLabFechaEst = DiasLaborables(fechaMin, fechaEst); int CantCPEst = (Int32)(repcasoPrueba.MediaDia * diasLabFechaEst); if (fechaMax < DateTime.Now) { CantCPEst = indice.Total; } double porcentajeReal, porcentajeEstimado; porcentajeReal = (repcasoPrueba.EjecutadosReal * 100) / indice.Total; porcentajeEstimado = (CantCPEst * 100) / indice.Total; repcasoPrueba.AvanceEstimado = (Int32)porcentajeEstimado; repcasoPrueba.AvanceReal = (Int32)porcentajeReal; repcasoPrueba.EjecutadosEstimado = CantCPEst; repcasoPrueba.PorEjecutarEstimado = indice.Total - CantCPEst; reporte.Add(repcasoPrueba); } return(reporte); }