Beispiel #1
0
        protected void imgBtnEliminar_Click(object sender, ImageClickEventArgs e)
        {
            if (_StatusEjercicio.Text == "2")
            {
                return;
            }

            int         id;
            GridViewRow row = (GridViewRow)((ImageButton)sender).NamingContainer;

            id = int.Parse(grid.DataKeys[row.RowIndex].Values["Id"].ToString());

            TechoFinanciero tf = uow.TechoFinancieroBusinessLogic.GetByID(id);


            uow.Errors.Clear();
            List <TechoFinancieroUnidadPresupuestal> lista;

            lista = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == tf.Id).ToList();


            if (lista.Count > 0)
            {
                uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema");
            }



            if (uow.Errors.Count == 0)
            {
                uow.TechoFinancieroBusinessLogic.Delete(tf);
                uow.SaveChanges();
                ModoLista();
                divMsgSuccess.Style.Add("display", "block");
                lblMensajeSuccess.Text = "El registro se ha eliminado correctamente";
            }


            if (uow.Errors.Count == 0)
            {
                BindGrid();
            }
            else
            {
                ModoLista();
                divMsgSuccess.Style.Add("display", "none");
                divMsgFail.Style.Add("display", "block");

                string mensaje;
                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajeFail.Text = mensaje;
            }
        }
Beispiel #2
0
        protected void btnModificar_Click(object sender, EventArgs e)
        {
            TechoFinanciero tf = uow.TechoFinancieroBusinessLogic.GetByID(int.Parse(_ElId.Text));
            decimal         importeAsignado;
            decimal         nuevoImporte;

            importeAsignado = tf.detalleUnidadesPresupuestales.Sum(p => p.Importe);
            nuevoImporte    = decimal.Parse(txtImporteEdicion.Value);
            uow.Errors.Clear();

            if (importeAsignado > nuevoImporte)
            {
                uow.Errors.Add("El nuevo importe es menor al que ya ha sido asignado a las entidades, verifique y corrija su información");
            }


            tf.Importe = nuevoImporte;
            uow.TechoFinancieroBusinessLogic.Update(tf);

            if (uow.Errors.Count == 0)
            {
                uow.SaveChanges();
            }


            if (uow.Errors.Count == 0)
            {
                BindGrid();
                txtImporteEdicion.Value = "0";

                ModoLista();

                divMsgSuccess.Style.Add("display", "block");
                lblMensajeSuccess.Text = "La modificación ha sido registrada correctamente";
            }
            else
            {
                divMsgSuccess.Style.Add("display", "none");
                divMsgFail.Style.Add("display", "block");

                string mensaje;
                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajeFail.Text = mensaje;
            }
        }
        private void MostrarAsignaciones()
        {
            int financiamiento = int.Parse(ddlFinanciamiento.SelectedValue.ToString());

            _financiamiento.Text = financiamiento.ToString();

            divTransferencia.Style.Add("display", "none");
            divNuevo.Style.Add("display", "none");


            if (financiamiento == 0)
            {
                return;
            }


            uow = new UnitOfWork();

            var lista = from tfup in uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get()
                        where tfup.TechoFinancieroId == financiamiento
                        select new { tfup.Id, tfup.UnidadPresupuestal, tfup.UnidadPresupuestalId, tfup.Importe, ImporteEjecutado = tfup.DetalleObraFinanciamiento.Sum(p => p.Importe), ImporteDisponible = tfup.Importe - tfup.DetalleObraFinanciamiento.Sum(p => p.Importe) };

            //this.grid.DataSource = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento).ToList();
            this.grid.DataSource = lista;
            this.grid.DataBind();

            TechoFinanciero tf = uow.TechoFinancieroBusinessLogic.GetByID(financiamiento);

            lblTotal.Text = "Techo Financiero :" + tf.Importe.ToString("C");


            divNuevo.Style.Add("display", "block");



            this.grid.DataSource = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento).ToList();



            var ListaUPs = from up in uow.UnidadPresupuestalBusinessLogic.Get().ToList()
                           join tfup in uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento).ToList()
                           on up.Id equals tfup.UnidadPresupuestalId
                           select up;


            ddlOrigen.DataSource     = ListaUPs.ToList();
            ddlOrigen.DataValueField = "Id";
            ddlOrigen.DataTextField  = "Nombre";
            ddlOrigen.DataBind();
        }
Beispiel #4
0
        private void BindGrid()
        {
            TechoFinanciero tf = uow.TechoFinancieroBusinessLogic.GetByID(idTechoFinanciero);

            decimal importetotal    = tf.Importe;
            decimal importeasignado = tf.detalleUnidadesPresupuestales.Sum(p => p.Importe);

            this.grid.DataSource = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == idTechoFinanciero, includeProperties: "UnidadPresupuestal").ToList();
            this.grid.DataBind();

            lblTechoFinanciero.Text   = importetotal.ToString("C");
            lblImporteAsignado.Text   = importeasignado.ToString("C");
            lblImporteDisponible.Text = (importetotal - importeasignado).ToString("C");

            BindCombos();
        }
Beispiel #5
0
        protected void imgBtnEdit_Click(object sender, ImageClickEventArgs e)
        {
            if (_StatusEjercicio.Text == "2")
            {
                return;
            }

            GridViewRow row = (GridViewRow)((ImageButton)sender).NamingContainer;

            _ElId.Text = grid.DataKeys[row.RowIndex].Values["Id"].ToString();

            TechoFinanciero tf = uow.TechoFinancieroBusinessLogic.GetByID(int.Parse(_ElId.Text));


            txtImporteEdicion.Value = tf.Importe.ToString();
            ModoEditar();
        }
Beispiel #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            uow = new UnitOfWork();
            idTechoFinanciero = int.Parse(Request.QueryString["id"].ToString());
            idEjercicio       = int.Parse(Session["EjercicioId"].ToString());

            if (!IsPostBack)
            {
                TechoFinanciero tf = uow.TechoFinancieroBusinessLogic.GetByID(idTechoFinanciero);

                lblUPnombre.Text = tf.Financiamiento.Fondo.Abreviatura.ToString() + " (" + tf.Financiamiento.ModalidadFinanciamiento.Nombre.ToString() + ":" + tf.Financiamiento.Año.Anio.ToString() + ")";

                divMsgSuccess.Style.Add("display", "none");
                divMsgFail.Style.Add("display", "none");

                BindGrid();

                verificarStatusDelEjercicio();
            }
        }
Beispiel #7
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            TechoFinanciero        obj;
            Financiamiento         fin;
            List <Financiamiento>  listaFinanciamientos;
            List <TechoFinanciero> listaTechosFin;

            int fondo            = int.Parse(ddlFondo.SelectedValue);
            int modalidad        = int.Parse(ddlModalidad.SelectedValue);
            int año              = int.Parse(ddlAño.SelectedValue);
            int idFinanciamiento = 0;

            listaFinanciamientos = uow.FinanciamientoBusinessLogic.Get(p => p.FondoId == fondo && p.ModalidadFinanciamientoId == modalidad && p.AñoId == año).ToList();

            //buscamos el financiamiento seleccionado y si no existe lo creamos
            if (listaFinanciamientos.Count == 0)
            {
                fin = new Financiamiento();

                fin.FondoId = fondo;
                fin.ModalidadFinanciamientoId = modalidad;
                fin.AñoId = año;

                uow.FinanciamientoBusinessLogic.Insert(fin);
                uow.SaveChanges();

                idFinanciamiento = fin.Id;
            }
            else
            {
                foreach (Financiamiento aux in listaFinanciamientos)
                {
                    idFinanciamiento = aux.Id;
                }
            }



            uow.Errors.Clear();
            listaTechosFin = uow.TechoFinancieroBusinessLogic.Get(p => p.EjercicioId == idEjercicio && p.FinanciamientoId == idFinanciamiento).ToList();

            if (listaTechosFin.Count == 0)//Nuevo Techo Financiero
            {
                obj = new TechoFinanciero();

                obj.EjercicioId      = this.idEjercicio;
                obj.FinanciamientoId = idFinanciamiento;
                obj.Importe          = decimal.Parse(txtImporte.Value);

                uow.TechoFinancieroBusinessLogic.Insert(obj);
            }
            else
            {
                uow.Errors.Add("El financiamiento que quiere registrar ya ha sido capturado anteriormente");
            }

            if (uow.Errors.Count == 0)
            {
                uow.SaveChanges();
            }


            if (uow.Errors.Count == 0)
            {
                BindGrid();
                txtImporte.Value = "0";

                ModoLista();

                divMsgSuccess.Style.Add("display", "block");
                lblMensajeSuccess.Text = "El Techo Financiero ha sido registrado correctamente";
            }
            else
            {
                divMsgSuccess.Style.Add("display", "none");
                divMsgFail.Style.Add("display", "block");

                string mensaje;
                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajeFail.Text = mensaje;
            }
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            Financiamiento         fin;
            List <Financiamiento>  listaFinanciamientos;
            List <TechoFinanciero> listaTechosFin;

            int fondo            = int.Parse(ddlFondo.SelectedValue);
            int modalidad        = int.Parse(ddlModalidad.SelectedValue);
            int año              = int.Parse(ddlAño.SelectedValue);
            int idFinanciamiento = 0;

            int idEjercicio = int.Parse(Session["EjercicioId"].ToString());
            int usuario     = int.Parse(Session["IdUser"].ToString());

            listaFinanciamientos = uow.FinanciamientoBusinessLogic.Get(p => p.FondoId == fondo && p.ModalidadFinanciamientoId == modalidad && p.AñoId == año).ToList();

            //buscamos el financiamiento seleccionado y si no existe lo creamos
            if (listaFinanciamientos.Count == 0)
            {
                fin = new Financiamiento();

                fin.FondoId = fondo;
                fin.ModalidadFinanciamientoId = modalidad;
                fin.AñoId = año;

                uow.FinanciamientoBusinessLogic.Insert(fin);
                uow.SaveChanges();

                idFinanciamiento = fin.Id;
            }
            else
            {
                foreach (Financiamiento aux in listaFinanciamientos)
                {
                    idFinanciamiento = aux.Id;
                }
            }



            uow.Errors.Clear();

            if (txtOficio.Value.Trim() == string.Empty)
            {
                uow.Errors.Add("No ha capturado el número de oficio correspondiente a este registro");
            }

            if (txtObservaciones.Value.Trim() == string.Empty)
            {
                uow.Errors.Add("No ha capturado las observaciones correspondientes");
            }


            listaTechosFin = uow.TechoFinancieroBusinessLogic.Get(p => p.EjercicioId == idEjercicio && p.FinanciamientoId == idFinanciamiento).ToList();

            if (listaTechosFin.Count == 0)//Nuevo Techo Financiero
            {
                List <TechoFinancieroTMPtransferencias> listaTMP = uow.TechoFinancieroTMPtransferenciasBL.Get(p => p.Usuario == usuario).ToList();

                //insertar el techo financiero
                TechoFinanciero obj = new TechoFinanciero();
                obj.EjercicioId      = idEjercicio;
                obj.FinanciamientoId = idFinanciamiento;
                obj.Importe          = listaTMP.Sum(q => q.Importe);
                uow.TechoFinancieroBusinessLogic.Insert(obj);

                //insertar la bitacora
                TechoFinancieroBitacora bitacora = new TechoFinancieroBitacora();
                bitacora.EjercicioId   = idEjercicio;
                bitacora.Movimiento    = 3;
                bitacora.Tipo          = EnumTipoMovimientoTechoFinanciero.NuevoFondo;
                bitacora.Fecha         = DateTime.Now;
                bitacora.Oficio        = txtOficio.Value;
                bitacora.Observaciones = txtObservaciones.Value;
                uow.TechoFinancieroBitacoraBL.Insert(bitacora);



                int i = 0;
                foreach (TechoFinancieroTMPtransferencias item in listaTMP)
                {
                    i++;

                    TechoFinancieroUnidadPresupuestal tfup = new TechoFinancieroUnidadPresupuestal();
                    tfup.UnidadPresupuestalId = item.OrigenId;
                    tfup.Importe = item.Importe;
                    obj.detalleUnidadesPresupuestales.Add(tfup);



                    TechoFinancieroBitacoraMovimientos bitacoraMovimientos = new TechoFinancieroBitacoraMovimientos();
                    bitacoraMovimientos.TechoFinancieroBitacora = bitacora;
                    bitacoraMovimientos.Submovimiento           = i;
                    bitacoraMovimientos.UnidadPresupuestalId    = item.OrigenId;
                    bitacoraMovimientos.Decremento = 0;
                    bitacoraMovimientos.Incremento = item.Importe;
                    obj.detalleBitacoraMovimientos.Add(bitacoraMovimientos);
                }
            }
            else
            {
                uow.Errors.Add("El financiamiento que quiere registrar ya ha sido capturado anteriormente");
            }



            if (uow.Errors.Count == 0)
            {
                uow.SaveChanges();
            }



            if (uow.Errors.Count == 0)
            {
                Response.Redirect("wfTechoFinanciero.aspx");
            }
            else
            {
                divMsgSuccess.Style.Add("display", "none");
                divMsgFail.Style.Add("display", "block");

                string mensaje;
                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajeFail.Text = mensaje;
            }
        }