コード例 #1
0
        /// <summary>
        /// Leonardo Carrion
        /// 22/mar/2021
        /// Efecto: redirecciona a la pantalla de Ver Ejecucion
        /// Requiere: dar clic en el boton de Ver
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnVer_Click(object sender, EventArgs e)
        {
            int idCajaChica = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString());

            List <Entidades.CajaChica> listaCajaChica = new List <Entidades.CajaChica>();

            Periodo periodo = new Periodo();

            periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue);

            Proyectos proyecto = new Proyectos();

            proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue);

            listaCajaChica = cajaChicaServicios.getCajaChicaPorPeriodoYProyecto(periodo, proyecto);

            Entidades.CajaChica cajaChica = (Entidades.CajaChica)listaCajaChica.Where(eje => eje.idCajaChica == idCajaChica).ToList().First();
            Session["ejecucionVer"] = cajaChica;

            Session["periodoSeleccionado"]  = periodo.anoPeriodo;
            Session["proyectoSeleccionado"] = proyecto.idProyecto;
            String url = Page.ResolveUrl("~/Catalogos/CajaChica/VerCajaChica.aspx");

            Response.Redirect(url);
        }
コード例 #2
0
        ///// <summary>
        ///// Leonardo Carrion
        ///// 24/mar/2021
        ///// Efecto: Cambia el estado de la ejecucion a aprobar y verifica que los montos de las partidas esten correctos
        ///// Requiere: dar clic en el boton de Si
        ///// Modifica: estado de ejecucion
        ///// Devuelve: mesnsaje de confirmacion de accion
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        protected void btnSiAprobar_Click(object sender, EventArgs e)
        {
            Entidades.CajaChica  cajaChica             = (Entidades.CajaChica)Session["ejecucionAprobar"];
            List <PartidaUnidad> listaUnidadesPartidas = cajaChicaUnidadPartidaServicios.getUnidadesPartidasMontoPorCajaChica(cajaChica);

            Double montoResta = listaUnidadesPartidas.Sum(part => part.monto);

            if ((cajaChica.monto - montoResta) == 0)
            {
                Boolean correcto = true;
                foreach (PartidaUnidad partidaUnidad in listaUnidadesPartidas)
                {
                    Unidad unidad = new Unidad();
                    unidad.idUnidad = partidaUnidad.idUnidad;
                    Partida partida = new Partida();
                    partida.idPartida = partidaUnidad.idPartida;
                    Double montoDisponible = cajaChicaUnidadPartidaServicios.getMontoDisponible(unidad, partida);
                    if ((montoDisponible - partidaUnidad.monto) < 0)
                    {
                        correcto = false;
                        break;
                    }
                }

                if (correcto)
                {
                    EstadoCajaChica estadoCajaChica = new EstadoCajaChica();
                    estadoCajaChica = estadoCajaChicaServicios.getEstadoCajaChicaSegunNombre("Aprobado");

                    Periodo periodo = new Periodo();
                    periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue);

                    Proyectos proyecto = new Proyectos();
                    proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue);

                    cajaChica.anoPeriodo        = periodo.anoPeriodo;
                    cajaChica.idProyedto        = proyecto.idProyecto;
                    cajaChica.idEstadoCajaChica = estadoCajaChica;
                    cajaChicaServicios.EditarCajaChica(cajaChica);
                    mostrarDatosTabla();

                    ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "cerrarModalAprobar();", true);
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se aprobó correctamente la Caja Chica número " + cajaChica.numeroCajaChica.ToString() + "');", true);
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Favor revisar los montos disponibles de cada partida" + "');", true);
                }
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto de la Caja Chica debe ser igual al monto repartido entre las unidades" + "');", true);
            }
        }
コード例 #3
0
        /// <summary>
        /// Leonardo Carrion
        /// 22/mar/2021
        /// Efecto: elimina la ejecucion seleccionada
        /// Requiere: dar clic en el boton de Eliminar e ingresar datos
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnEliminar_Click(object sender, EventArgs e)
        {
            Entidades.CajaChica cajaChica = (Entidades.CajaChica)Session["ejecucionEliminar"];

            cajaChicaUnidadPartidaServicios.eliminarCajaChicaUnidadPartidaPorCajaChica(cajaChica.idCajaChica);

            cajaChicaServicios.eliminarCajaChica(cajaChica.idCajaChica);

            String url = Page.ResolveUrl("~/Catalogos/CajaChica/AdministrarCajaChica.aspx");

            Response.Redirect(url);
        }
コード例 #4
0
        /// <summary>
        /// Leonardo Carrion
        /// 04/jun/2018
        /// Efecto: envia correo a los administradores con la informacion del destinatario ingresado
        /// Requiere: destinatario
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="institucion"></param>
        public void enviarCorreo(int idCajaChica)
        {
            List <Parametros> listaDestinatarios = new List <Parametros>();

            listaDestinatarios = parametroServicios.getCorreosDestinatarios();

            //Obtención de los correos de los usuarios a los que se les va a enviar el correo
            String destinatarios = "";

            foreach (Parametros parametro in listaDestinatarios)
            {
                destinatarios += parametro.valor + ";";
            }
            List <Entidades.CajaChica> listaCajaChica = new List <Entidades.CajaChica>();

            Periodo periodo = new Periodo();

            periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue);

            Proyectos proyecto = new Proyectos();

            proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue);

            listaCajaChica = cajaChicaServicios.getCajaChicaPorPeriodoYProyecto(periodo, proyecto);

            Entidades.CajaChica         cajaChica         = (Entidades.CajaChica)listaCajaChica.Where(eje => eje.idCajaChica == idCajaChica).ToList().First();
            Dictionary <String, String> informacionCorreo = new Dictionary <String, String>();

            informacionCorreo["destinatarios"]  = destinatarios;
            informacionCorreo["conCopia"]       = "";
            informacionCorreo["conCopiaOculta"] = "";
            informacionCorreo["asunto"]         = "Nueva solicitud,número de consecutivo " + cajaChica.numeroCajaChica;
            informacionCorreo["cuerpo"]         = "<br>Detalle: " + cajaChica.comentario + "<br>Monto:" + cajaChica.monto + " Colones" +
                                                  " <br><br> *Este correo es generado de forma automática, por favor no responder";
            //informacionCorreo["remitente"] = "*****@*****.**";
            informacionCorreo["remitente"] = "*****@*****.**";
            informacionCorreo["archivos"]  = "";

            Boolean enviado = Utilidades.enviarCorreo(informacionCorreo);

            try
            {
                threadEnviarCorreo.Abort();
            }
            catch
            {
            }
        }
コード例 #5
0
        ///// <summary>
        ///// Leonardo Carrion
        ///// 24/mar/2021
        ///// Efecto: Cambia el estado de la ejecucion a aprobar y verifica que los montos de las partidas esten correctos
        ///// Requiere: dar clic en el boton de Si
        ///// Modifica: estado de ejecucion
        ///// Devuelve: mesnsaje de confirmacion de accion
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        protected void btnSiEnviarCorreo_Click(object sender, EventArgs e)
        {
            Entidades.CajaChica  cajaChica             = (Entidades.CajaChica)Session["ejecucionEnviarCorreo"];
            List <PartidaUnidad> listaUnidadesPartidas = cajaChicaUnidadPartidaServicios.getUnidadesPartidasMontoPorCajaChica(cajaChica);

            Double montoResta = listaUnidadesPartidas.Sum(part => part.monto);

            if ((cajaChica.monto - montoResta) == 0)
            {
                Boolean correcto = true;
                foreach (PartidaUnidad partidaUnidad in listaUnidadesPartidas)
                {
                    Unidad unidad = new Unidad();
                    unidad.idUnidad = partidaUnidad.idUnidad;
                    Partida partida = new Partida();
                    partida.idPartida = partidaUnidad.idPartida;
                    Double montoDisponible = cajaChicaUnidadPartidaServicios.getMontoDisponible(unidad, partida);
                    if ((montoDisponible - partidaUnidad.monto) < 0)
                    {
                        correcto = false;
                        break;
                    }
                }

                if (correcto)
                {
                    enviarCorreo(cajaChica.idCajaChica);
                    cajaChicaServicios.actualizarEnviadoCajaChica(cajaChica.idCajaChica, true);
                    mostrarDatosTabla();

                    ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "cerrarModalEnviar();", true);
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se Envio correctamente el correo " + "');", true);
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Favor revisar los montos disponibles de cada partida" + "');", true);
                }
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto de la Caja Chica debe ser igual al monto repartido entre las unidades" + "');", true);
            }
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //controla los menus q se muestran y las pantallas que se muestras segun el rol que tiene el usuario
            //si no tiene permiso de ver la pagina se redirecciona a login
            int[] rolesPermitidos = { 2 };
            Utilidades.escogerMenu(Page, rolesPermitidos);
            if (!IsPostBack)
            {
                Periodo periodo = new Periodo();
                periodo.anoPeriodo = Convert.ToInt32(Session["periodoSeleccionado"]);

                Proyectos proyecto = new Proyectos();
                proyecto.idProyecto = Convert.ToInt32(Session["proyectoSeleccionado"]);
                proyecto            = proyectoServicios.ObtenerPorId(proyecto.idProyecto);

                lblPeriodo.Text  = periodo.anoPeriodo.ToString();
                lblProyecto.Text = proyecto.nombreProyecto;

                Entidades.CajaChica cajaChica = (Entidades.CajaChica)Session["ejecucionEliminar"];


                lblNumeroCajaChica.Text = cajaChica.numeroCajaChica.ToString();
                txtcomentario.Text      = cajaChica.comentario;
                List <Unidad> listaUnidadesAsociadas = cajaChicaUnidadPartidaServicios.getUnidadesPorCajaChica(cajaChica);

                Session["listaUnidadesAsociadas"] = listaUnidadesAsociadas;
                mostrarDatosTablaUnidadesAsociadas();

                List <Partida> listaPartidasAsociadas = cajaChicaUnidadPartidaServicios.getPartidasPorCajaChica(cajaChica);

                Session["listaPartidasAsociadas"] = listaPartidasAsociadas;
                mostrarDatosTablaPartidasAsociadas();



                txtMonto.Text = cajaChica.monto.ToString();

                Session["listaPartidaUnidadAsociadas"] = cajaChicaUnidadPartidaServicios.getUnidadesPartidasMontoPorCajaChica(cajaChica);
                mostrarDatosTablaUnidadPartidaAsociadas();
            }
        }
コード例 #7
0
        ///// <summary>
        ///// Leonardo Carrion
        ///// 24/mar/2021
        ///// Efecto: levanta modal para confirmar si se desea aprobar la ejecucion
        ///// Requiere: dar clic en el boton de aprobar
        ///// Modifica: -
        ///// Deuvelve: -
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        protected void btnAprobar_Click(object sender, EventArgs e)
        {
            int idCajaChica = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString());

            List <Entidades.CajaChica> listaCajaChica = new List <Entidades.CajaChica>();

            Periodo periodo = new Periodo();

            periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue);

            Proyectos proyecto = new Proyectos();

            proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue);

            listaCajaChica = cajaChicaServicios.getCajaChicaPorPeriodoYProyecto(periodo, proyecto);

            Entidades.CajaChica cajaChica = (Entidades.CajaChica)listaCajaChica.Where(eje => eje.idCajaChica == idCajaChica).ToList().First();

            Session["ejecucionAprobar"] = cajaChica;
            lblConfirmarAprobar.Text    = "¿Seguro o segura que desea aprobar la Caja Chica número " + cajaChica.numeroCajaChica + "?";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalAprobar();", true);
        }