public SubregistroNacimientosRespuesta ConsultaSubregistroNacimientos(Collection <string> colAnos, Collection <string> colMeses, Collection <Municipio> colMunicipios) { SubregistroNacimientosRespuesta respuesta = new SubregistroNacimientosRespuesta(); try { IList <string> anosLista = new List <string>(colAnos); string anosUnion = string.Join(",", anosLista); IList <string> mesesLista = new List <string>(colMeses); string mesesUnion = string.Join(",", mesesLista); IList <string> municipiosLista = new List <string>(); foreach (Municipio m in colMunicipios) { municipiosLista.Add(m.MpioId.ToString()); } string municipiosUnion = string.Join(",", municipiosLista); respuesta = reporteDAO.ConsultaDTSubregistroNacimientos(anosUnion, mesesUnion, municipiosUnion); int total = 0; int totalConDuplicados = 0; foreach (SubregistroTotal s in respuesta.ColTotales) { if (s.IdGrupo < Constantes.REGISTRO_DUPLICADO) { total += s.Total; } totalConDuplicados += s.Total; } respuesta.Total = totalConDuplicados; decimal d = (decimal)totalConDuplicados * 100 / total; respuesta.TotalPorcentaje = Math.Round(d, 2); foreach (SubregistroTotal s in respuesta.ColTotales) { //if (s.IdGrupo < Constantes.REGISTRO_DUPLICADO) //{ d = (decimal)s.Total * 100 / total; s.TotalPorcentaje = Math.Round(d, 2); int caseSwitch = s.IdGrupo; switch (caseSwitch) { case Constantes.SUBREGISTRO: respuesta.TotalSubregistro = s.Total; respuesta.PorcentajeSubregistro = s.TotalPorcentaje; break; case Constantes.REGISTRO_OPORTUNO: respuesta.TotalRegistroOportuno = s.Total; respuesta.PorcentajeRegistroOportuno = s.TotalPorcentaje; break; case Constantes.REGISTRO_EXTEMPORANEO: respuesta.TotalRegistroExtemporaneo = s.Total; respuesta.PorcentajeRegistroExtemporaneo = s.TotalPorcentaje; break; case Constantes.REGISTRO_DUPLICADO: respuesta.TotalRegistroDuplicado = s.Total; respuesta.PorcentajeRegistroDuplicado = s.TotalPorcentaje; break; default: Console.WriteLine("Default case"); break; } //} } return(respuesta); } catch (DAOException e) { Bitacora.Error(e.Message); if (e.Codigo == 1) { throw new BusinessException(e.Message); } else { throw new BusinessException("No se completó la consulta de subregistro, favor de intentar nuevamente: " + e.Message); } } }