public TotalesSubregistroNacimientosRespuesta ConsultaTotalesSubregistroNacimientos(string anosUnion, string mesesUnion, string municipiosUnion) { TotalesSubregistroNacimientosRespuesta totalesSubregistroNacimientosRespuesta = new TotalesSubregistroNacimientosRespuesta(); try { using (DataSet dataSet = new DataSet()) { dataSet.Locale = CultureInfo.InvariantCulture; EjecutaProcedimiento(PRN_CONSULTA_TOTALES_SUBREGISTRO_NACIMIENTOS, CreaParametrosSubregistroNacimientos(anosUnion, mesesUnion, municipiosUnion), dataSet); if (this.Codigo == 0 && ValidaDataSet(dataSet)) { totalesSubregistroNacimientosRespuesta.ColTotales = new Collection <SubregistroTotal>(); foreach (DataRow r in dataSet.Tables[0].Rows) { SubregistroTotal sub = new SubregistroTotal { IdGrupo = r.Field <int>("IdGrupo"), NombreGrupo = r.Field <string>("NombreGrupo"), Total = r.Field <int>("Total") }; totalesSubregistroNacimientosRespuesta.ColTotales.Add(sub); } } else { throw new EmptyDataException(this.Mensaje); } } } catch (Exception de) { Bitacora.Error(de.Message); if (de is EmptyDataException) { throw new DAOException(1, de.Message); } throw new DAOException(-1, de.Message); } return(totalesSubregistroNacimientosRespuesta); }
/* Consulta los totales con porcentaje de la información procesada de las tres categorias: subregistro, registrados y extemporáneos. */ public TotalesSubregistroNacimientosRespuesta ConsultaTotalesSubregistroNacimientos() { Servicio servicio = new Servicio(); ConsultasViewModel modelView = new ConsultasViewModel(); SubregistroPeticion solicitudDeConsulta = new SubregistroPeticion(); /* Tomando datos de web. */ Collection <string> ColAnos = new Collection <string>(); Collection <string> ColMeses = new Collection <string>(); Collection <Municipio> ColMunicipios = new Collection <Municipio>(); /* Pasando valores. */ solicitudDeConsulta.ColAnos = ColAnos; solicitudDeConsulta.ColMeses = ColMeses; solicitudDeConsulta.ColMunicipios = ColMunicipios; /* Obtenener totales de la información procesada. */ TotalesSubregistroNacimientosRespuesta respuestaTotalesDelSubregistro = servicio.ConsultaTotalesSubregistroNacimientos(solicitudDeConsulta); return(respuestaTotalesDelSubregistro); }
public TotalesSubregistroNacimientosRespuesta ConsultaTotalesSubregistroNacimientos(Collection <string> colAnos, Collection <string> colMeses, Collection <Municipio> colMunicipios) { TotalesSubregistroNacimientosRespuesta totalesSubregistroNacimientosRespuesta = new TotalesSubregistroNacimientosRespuesta(); 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); totalesSubregistroNacimientosRespuesta = reporteDAO.ConsultaTotalesSubregistroNacimientos(anosUnion, mesesUnion, municipiosUnion); int total = 0; foreach (SubregistroTotal s in totalesSubregistroNacimientosRespuesta.ColTotales) { if (s.IdGrupo < Constantes.REGISTRO_DUPLICADO) { total += s.Total; } } totalesSubregistroNacimientosRespuesta.Total = total; foreach (SubregistroTotal s in totalesSubregistroNacimientosRespuesta.ColTotales) { if (s.IdGrupo < Constantes.REGISTRO_DUPLICADO) { decimal d = (decimal)s.Total * 100 / total; s.TotalPorcentaje = Math.Round(d, 2); int caseSwitch = s.IdGrupo; switch (caseSwitch) { case Constantes.SUBREGISTRO: totalesSubregistroNacimientosRespuesta.TotalSubregistro = s.Total; totalesSubregistroNacimientosRespuesta.PorcentajeSubregistro = s.TotalPorcentaje; break; case Constantes.REGISTRO_OPORTUNO: totalesSubregistroNacimientosRespuesta.TotalRegistroOportuno = s.Total; totalesSubregistroNacimientosRespuesta.PorcentajeRegistroOportuno = s.TotalPorcentaje; break; case Constantes.REGISTRO_EXTEMPORANEO: totalesSubregistroNacimientosRespuesta.TotalRegistroExtemporaneo = s.Total; totalesSubregistroNacimientosRespuesta.PorcentajeRegistroExtemporaneo = s.TotalPorcentaje; break; default: Console.WriteLine("Default case"); break; } } } } 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); } } return(totalesSubregistroNacimientosRespuesta); }