Ejemplo n.º 1
0
        public List <SugerenciaEL> GetSugerencia(String cboDistrito, String cboLocal, String dtpInicio, String dtpFin)
        {
            DAABRequest.Parameter[] arrParam =
            {
                new DAABRequest.Parameter("@idDistrito",  DbType.Int32,  ParameterDirection.Input),
                new DAABRequest.Parameter("@idLocal",     DbType.Int32,  ParameterDirection.Input),
                new DAABRequest.Parameter("@fechaInicio", DbType.String,                         20,ParameterDirection.Input),
                new DAABRequest.Parameter("@fechaFin",    DbType.String,                         20,ParameterDirection.Input),
                new DAABRequest.Parameter("@coderr",      DbType.Int32,  ParameterDirection.Output),
                new DAABRequest.Parameter("@msgerr",      DbType.String,                       1000,ParameterDirection.Output)
            };

            arrParam[0].Value = cboDistrito;
            arrParam[1].Value = cboLocal;
            arrParam[2].Value = dtpInicio;
            arrParam[3].Value = dtpFin;

            configPARDOSDB objPardosDb = new configPARDOSDB();
            DAABRequest    objRequest  = objPardosDb.CreaRequest();

            objRequest.CommandType = CommandType.StoredProcedure;
            objRequest.Command     = "USPS_SugerenciasXDistritoLocal";
            objRequest.Parameters.AddRange(arrParam);

            List <SugerenciaEL> lstSugerencia = new List <SugerenciaEL>();
            IDataReader         dr            = null;

            try
            {
                dr = objRequest.Factory.ExecuteReader(ref objRequest).ReturnDataReader;
                while (dr.Read())
                {
                    SugerenciaEL oSugerencia = new SugerenciaEL();
                    oSugerencia              = new SugerenciaEL();
                    oSugerencia.Id           = Funciones.CheckInt(dr["IdSugerencia"]);
                    oSugerencia.Comentario   = Funciones.CheckStr(dr["Comentario"]);
                    oSugerencia.FechaIngreso = Funciones.CheckDate(dr["FechaIngreso"]);
                    oSugerencia.Prioridad    = Funciones.CheckStr(dr["Prioridad"]);
                    oSugerencia.Descripcion  = Funciones.CheckStr(dr["Descripcion"]);
                    LocalEL   olocal   = new LocalEL();
                    UsuarioEL oUsuario = new UsuarioEL();
                    olocal.Id          = Funciones.CheckInt(dr["Id"]);
                    oUsuario.Email     = Funciones.CheckStr(dr["Email"]);
                    olocal.Usuario     = oUsuario;
                    olocal.Nombre      = Funciones.CheckStr(dr["NombreLocal"]);
                    olocal.Responsable = Funciones.CheckStr(dr["Responsable"]);

                    oSugerencia.Local = olocal;
                    lstSugerencia.Add(oSugerencia);
                }
            }
            catch (Exception e)
            {
                lstSugerencia = null;
                throw e;
            }
            finally
            {
                if (dr != null && dr.IsClosed == false)
                {
                    dr.Close();
                }
                objRequest.Parameters.Clear();
                objRequest.Factory.Dispose();
            }
            return(lstSugerencia);
        }
Ejemplo n.º 2
0
        public List <SugerenciaEL> GetSugerenciaEvaluada(int evalProcDetId)
        {
            DAABRequest.Parameter[] arrParam =
            {
                new DAABRequest.Parameter("@idEPD",  DbType.Int32,  ParameterDirection.Input),
                new DAABRequest.Parameter("@coderr", DbType.Int32,  ParameterDirection.Output),
                new DAABRequest.Parameter("@msgerr", DbType.String,                       1000, ParameterDirection.Output)
            };

            arrParam[0].Value = evalProcDetId;

            configPARDOSDB objPardosDb = new configPARDOSDB();
            DAABRequest    objRequest  = objPardosDb.CreaRequest();

            objRequest.CommandType = CommandType.StoredProcedure;
            objRequest.Command     = "GFR.USPS_SugerenciaEvaluada";
            objRequest.Parameters.AddRange(arrParam);

            List <SugerenciaEL> lstSugerencias = new List <SugerenciaEL>();
            IDataReader         dr             = null;

            try
            {
                dr = objRequest.Factory.ExecuteReader(ref objRequest).ReturnDataReader;
                while (dr.Read())
                {
                    SugerenciaEL item = new SugerenciaEL();

                    item.Id          = Funciones.CheckInt(dr["Id"]);
                    item.Descripcion = Funciones.CheckStr(dr["descripcion"]);
                    item.Fecha       = Convert.ToDateTime(dr["fecha"]);

                    ProcedimientoEL oProcedimiento = new ProcedimientoEL()
                    {
                        Id     = Funciones.CheckInt(dr["procedimientoId"]),
                        Nombre = Funciones.CheckStr(dr["Procedimiento"])
                    };
                    item.Procedimiento = oProcedimiento;

                    EmpleadoEL oEmpleado = new EmpleadoEL()
                    {
                        NombreCompleto = Funciones.CheckStr(dr["Empleado"])
                    };

                    item.Empleado = oEmpleado;

                    lstSugerencias.Add(item);
                }
            }
            catch (Exception e)
            {
                lstSugerencias = null;
                throw e;
            }
            finally
            {
                if (dr != null && dr.IsClosed == false)
                {
                    dr.Close();
                }
                objRequest.Parameters.Clear();
                objRequest.Factory.Dispose();
            }
            return(lstSugerencias);
        }
Ejemplo n.º 3
0
        public ActionResult EvaluarSugerencia(String cboDistrito, String cboLocal, String dtpInicio, String dtpFin)
        {
            EvaluacionSugerenciaHelper  evaluacion = new EvaluacionSugerenciaHelper();
            DetalleEvaluacionsugerencia detalle    = new DetalleEvaluacionsugerencia();

            int año = 0;
            int mes = 0;
            int dia = 0;

            if (dtpInicio == null || dtpFin == null || dtpInicio == "" || dtpFin == "")
            {
                ModelState.AddModelError("validacion", "Se debe ingresar la fecha de busqueda.");
                return(View("~/views/Sugerencia/Index.cshtml"));
            }

            //yyyy-mm-dd
            año = int.Parse(dtpInicio.Substring(0, 4));
            mes = int.Parse(dtpInicio.Substring(5, 2));
            dia = int.Parse(dtpInicio.Substring(8, 2));

            DateTime thisDate1 = new DateTime(año, mes, dia);

            año = int.Parse(dtpFin.Substring(0, 4));
            mes = int.Parse(dtpFin.Substring(5, 2));
            dia = int.Parse(dtpFin.Substring(8, 2));

            DateTime thisDate2 = new DateTime(año, mes, dia);

            Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");

            SugerenciaEL records = new SugerenciaEL();
            ListaPaginada <SugerenciaEL> listaContentSugerencia = new ListaPaginada <SugerenciaEL>();



            tb_distrito distrito = db.tb_distrito.Find(int.Parse(cboDistrito));
            tb_local    local    = db.tb_local.Find(int.Parse(cboLocal));

            List <SugerenciaEL> listaSugerencias = sugerenciaBL.GetSugerencias(cboDistrito, cboLocal, dtpInicio,
                                                                               dtpFin);

            if (listaSugerencias.Count == 0)
            {
                ModelState.AddModelError("validacion", "No hay sugerencias por evaluar.");
                return(View("~/views/Sugerencia/Index.cshtml"));
            }

            if (cboDistrito.Equals("0"))
            {
                evaluacion.nombre_distrito = "TODOS";
            }
            else
            {
                evaluacion.nombre_distrito = distrito.Nombre;
            }
            if (cboLocal.Equals("0"))
            {
                evaluacion.nombre_local = "TODOS";
            }
            else
            {
                evaluacion.nombre_local = local.nombre;
            }

            evaluacion.fecha_inicio           = thisDate1.ToString("dd/MM/yyyy");
            evaluacion.fecha_fin              = thisDate2.ToString("dd/MM/yyyy");
            evaluacion.descripcion_evaluacion = "Se ha evaluado las solicitudes ingresadas en las fechas: " + thisDate1.ToString("MMMM dd, yyyy") + " a " + thisDate2.ToString("MMMM dd, yyyy");
            List <DetalleEvaluacionsugerencia> detalleEvaluacionLista = new List <DetalleEvaluacionsugerencia>();

            List <tb_sugerencia_parametro> sugerencia_parametros = new List <tb_sugerencia_parametro>();

            var parametrosParametros = from c in db.tb_sugerencia_parametro select c;

            tb_sugerencia_parametro parametros = new tb_sugerencia_parametro();

            foreach (tb_sugerencia_parametro solicitudd in parametrosParametros)
            {
                sugerencia_parametros.Add(solicitudd);
            }


            int total_prioridad_alta  = 0;
            int total_prioridad_baja  = 0;
            int total_prioridad_media = 0;
            int total_sugerencias     = 0;

            foreach (SugerenciaEL sugerencia in listaSugerencias)
            {
                DetalleEvaluacionsugerencia detalleSugerencia = new DetalleEvaluacionsugerencia();
                /**/
                detalleSugerencia.codigo_sugerencia        = Convert.ToString(sugerencia.Id);
                detalleSugerencia.administrador_sugerencia = sugerencia.Local.Responsable;
                detalleSugerencia.fecha_sugerencia         = sugerencia.FechaIngreso.ToString("dd/MM/yyyy");
                detalleSugerencia.prioridad_sugerencia     = sugerencia.Prioridad;
                detalleSugerencia.enviar_sugerencia        = "N";
                detalleSugerencia = evaluarPrioridad(sugerencia.Descripcion, sugerencia_parametros, detalleSugerencia, evaluacion);
                detalleSugerencia.detalle_sugerencia   = detalleSugerencia.detalle_sugerencia;
                detalleSugerencia.prioridad_sugerencia = detalleSugerencia.prioridad_sugerencia;

                detalleSugerencia.descripcion_sugerencia = sugerencia.Descripcion;

                tb_local locals = db.tb_local.Find(sugerencia.Local.Id);
                detalleSugerencia.correo_electronico = locals.Usuario.Email;

                detalleSugerencia.descripcion_local = locals.tb_distrito.Nombre + " - " + locals.direccion;


                if (detalleSugerencia.prioridad_sugerencia.Equals("ALTA"))
                {
                    total_prioridad_alta += 1;
                }
                else if (detalleSugerencia.prioridad_sugerencia.Equals("MEDIA"))
                {
                    total_prioridad_media += 1;
                }
                else if (detalleSugerencia.prioridad_sugerencia.Equals("BAJA"))
                {
                    total_prioridad_baja += 1;
                }
                detalleEvaluacionLista.Add(detalleSugerencia);
                /**/
            }

            total_sugerencias = total_prioridad_alta + total_prioridad_media + total_prioridad_baja;
            evaluacion.descripcion_evaluacion = evaluacion.descripcion_evaluacion + ". " +
                                                "Se han evaluado " + total_sugerencias + " solicitudes. De las cuales " + total_prioridad_alta + " son de prioridad alta, " + total_prioridad_media + " son de prioridad media y " + total_prioridad_baja + " son de prioridad baja.";


            evaluacion.DetalleEvaluacionsugerencia = detalleEvaluacionLista;



            /*ACTUALIZAR ESTADO DE SUGERENCIA*/

            /* foreach (DetalleEvaluacionsugerencia sugerencia in detalleEvaluacionLista)
             * {
             *   tb_sugerencia sugerencias = db.tb_sugerencia.Find(sugerencia.Id);
             *   if (sugerencia.prioridad_sugerencia.Equals("ALTA"))
             *   {
             *       sugerencias.prioridad = "1";
             *   }
             *   else if (sugerencia.prioridad_sugerencia.Equals("MEDIA"))
             *   {
             *       sugerencias.prioridad = "2";
             *   }
             *   else if (sugerencia.prioridad_sugerencia.Equals("BAJA"))
             *   {
             *       sugerencias.prioridad = "3";
             *   }
             *
             *   sugerencias.estado = 2; // Estado dos es REVISADO
             *   db.Entry(sugerencias).State = System.Data.EntityState.Modified;
             *   db.SaveChanges();
             * }*/
            /*ACTUALIZAR ESTADO DE SUGERENCIA*/

            return(View(evaluacion));
        }