Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /* 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);
        }
Esempio n. 3
0
        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);
        }