Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            uow = new UnitOfWork(Session["IdUser"].ToString());

            unidadpresupuestalId = Utilerias.StrToInt(Session["UnidadPresupuestalId"].ToString());
            ejercicioId          = Utilerias.StrToInt(Session["EjercicioId"].ToString());

            TechoFinancieroStatus             tfestatus            = uow.TechoFinancieroStatusBusinessLogic.Get(tfe => tfe.EjercicioId == ejercicioId).FirstOrDefault();
            TechoFinancieroUnidadPresupuestal tfunidadpresupuestal = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(tfup => tfup.TechoFinanciero.EjercicioId == ejercicioId && tfup.UnidadPresupuestalId == unidadpresupuestalId).FirstOrDefault();

            DataAccessLayer.Models.POA poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault();

            totalobrasanteproyecto = String.Format("Total de obras y acciones en anteproyecto: {0} ", (poa == null) ? 0 : poa.GetTotalObrasAnteProyecto());
            totalobrasproyecto     = String.Format("Total de obras y acciones con financiamiento: {0} ", (poa == null)?0:poa.GetTotalObrasProyecto());


            if (tfunidadpresupuestal != null)
            {
                totalTechofinanciero = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(tfup => tfup.TechoFinanciero.EjercicioId == ejercicioId && tfup.UnidadPresupuestalId == unidadpresupuestalId).Sum(r => r.GetImporteDisponible());
            }

            if (tfestatus == null || tfestatus.Status == 1)
            {
                lblMensajeError.Text = "Aún no se ha cerrado la apertura de Techos financieros para este ejercicio.";
                divTechoFinancieroError.Style.Add("display", "block");
                divTechoFinancieroEstatus.Style.Add("display", "none");
                techofinancierocerrado = false;
            }
            else if (tfunidadpresupuestal == null)
            {
                lblMensajeError.Text = "Esta unidad presupuestal NO cuenta con techo financiero para este ejercicio";
                divTechoFinancieroError.Style.Add("display", "block");
                divTechoFinancieroEstatus.Style.Add("display", "none");
                techofinancierocerrado = false;
            }
            else if (totalTechofinanciero == 0)
            {
                divTechoFinancieroError.Style.Add("display", "none");
                divTechoFinancieroEstatus.Style.Add("display", "block");
                techofinancierocerrado = false;
            }
            else
            {
                divTechoFinancieroError.Style.Add("display", "none");
                divTechoFinancieroEstatus.Style.Add("display", "block");
                techofinancierocerrado = true;
            }


            if (!IsPostBack)
            {
                UnidadPresupuestal up = uow.UnidadPresupuestalBusinessLogic.GetByID(unidadpresupuestalId);

                lblTitulo.Text = String.Format("{0} <br /> Asignar financiamiento de POA para el ejercicio {1}", up.Nombre, uow.EjercicioBusinessLogic.GetByID(ejercicioId).Año);

                BindGrid();
            }
        }
Exemplo n.º 2
0
        protected void GridViewTechoFinanciero_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            GridView gridView = sender as GridView;

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HtmlButton btn = (HtmlButton)e.Row.FindControl("btnlineamientos");

                if (btn != null)
                {
                    if (gridView.DataKeys[e.Row.RowIndex].Values["Id"] != null)
                    {
                        TechoFinancieroUnidadPresupuestal tfup = (TechoFinancieroUnidadPresupuestal)e.Row.DataItem;

                        String fondoId = String.Empty;
                        fondoId = gridView.DataKeys[e.Row.RowIndex].Values["Id"].ToString();
                        btn.Attributes.Add("onclick", "fnc_MostrarLineamientos(this,'" + tfup.TechoFinanciero.Financiamiento.FondoId + "');");
                    }
                }
            }
        }
        protected void imgBtnEdit_Click(object sender, ImageClickEventArgs e)
        {
            GridViewRow row = (GridViewRow)((ImageButton)sender).NamingContainer;

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

            int id = int.Parse(_idUP.Text);

            //TechoFinancieroUnidadPresupuestal tfup = uow.TechoFinancieroUnidadPresuestalBusinessLogic.GetByID(id);

            TechoFinancieroUnidadPresupuestal tfup = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.UnidadPresupuestalId == id).First();

            txtOficioA.Value       = tfup.NumOficioAsignacionPresupuestal;
            txtOficioB.Value       = tfup.NumOficioAlcance;
            txtObservaciones.Value = tfup.ObservacionesAlcance;
            dtpFechaA.Value        = tfup.FechaOficioAsignacionPresupuestal.ToString();
            dtpFechaB.Value        = tfup.FechaOficioAlcance.ToString();

            divEdicion.Style.Add("display", "block");
            divUPS.Style.Add("display", "none");
        }
Exemplo n.º 4
0
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (_StatusEjercicio.Text == "2")
            {
                return;
            }

            TechoFinanciero techoFin;
            TechoFinancieroUnidadPresupuestal        obj;
            List <TechoFinancieroUnidadPresupuestal> listaTFUP;

            int idUnidadPresupuestal = int.Parse(ddlUP.SelectedValue);
            int auxId = 0;

            decimal sumaImportes = 0;

            techoFin = uow.TechoFinancieroBusinessLogic.GetByID(idTechoFinanciero);

            listaTFUP = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == idTechoFinanciero && p.UnidadPresupuestalId == idUnidadPresupuestal).ToList();

            uow.Errors.Clear();

            if (listaTFUP.Count == 0)
            {
                sumaImportes = techoFin.detalleUnidadesPresupuestales.Sum(p => p.Importe);
                sumaImportes = sumaImportes + decimal.Parse(txtImporte.Value);

                if (sumaImportes > techoFin.Importe)
                {
                    uow.Errors.Add("Este importe no puede registrarse porque sobregiraria el techo financiero de este Fondo");
                }
                else
                {
                    obj = new TechoFinancieroUnidadPresupuestal();
                    obj.TechoFinancieroId    = idTechoFinanciero;
                    obj.UnidadPresupuestalId = idUnidadPresupuestal;
                    obj.Importe        = decimal.Parse(txtImporte.Value);
                    obj.ImporteInicial = decimal.Parse(txtImporte.Value);
                    uow.TechoFinancieroUnidadPresuestalBusinessLogic.Insert(obj);
                }
            }
            else
            {
                foreach (TechoFinancieroUnidadPresupuestal elemento in listaTFUP)
                {
                    auxId = elemento.Id;
                }

                sumaImportes = techoFin.detalleUnidadesPresupuestales.Where(p => p.TechoFinancieroId == idTechoFinanciero && p.Id != auxId).Sum(p => p.Importe);
                sumaImportes = sumaImportes + decimal.Parse(txtImporte.Value);

                if (sumaImportes > techoFin.Importe)
                {
                    uow.Errors.Add("Este importe no puede registrarse porque sobregiraria el techo financiero de este Fondo");
                }
                else
                {
                    obj                = uow.TechoFinancieroUnidadPresuestalBusinessLogic.GetByID(auxId);
                    obj.Importe        = decimal.Parse(txtImporte.Value);
                    obj.ImporteInicial = decimal.Parse(txtImporte.Value);
                    uow.TechoFinancieroUnidadPresuestalBusinessLogic.Update(obj);
                }
            }


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


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


            if (uow.Errors.Count != 0)
            {
                divMsgFail.Style.Add("display", "block");

                string mensaje;

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

                lblMensajeFail.Text = mensaje;
            }



            BindGrid();
            txtImporte.Value = string.Empty;
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            string msg = String.Empty;

            poadetalleId = Utilerias.StrToInt(Request.QueryString["poadetalleId"].ToString());

            POADetalle poadetalle = uow.POADetalleBusinessLogic.GetByID(poadetalleId);

            Obra obra = uow.ObraBusinessLogic.Get(o => o.POADetalleId == poadetalleId).FirstOrDefault();

            if (obra == null)
            {
                obra                              = new Obra();
                obra.Numero                       = poadetalle.Numero;
                obra.Descripcion                  = poadetalle.Descripcion;
                obra.MunicipioId                  = poadetalle.MunicipioId;
                obra.Localidad                    = poadetalle.Localidad;
                obra.CriterioPriorizacionId       = poadetalle.CriterioPriorizacionId;
                obra.Convenio                     = poadetalle.Convenio;
                obra.AperturaProgramaticaId       = poadetalle.AperturaProgramaticaId;
                obra.AperturaProgramaticaMetaId   = poadetalle.AperturaProgramaticaMetaId;
                obra.AperturaProgramaticaUnidadId = poadetalle.AperturaProgramaticaUnidadId;
                obra.NumeroBeneficiarios          = poadetalle.NumeroBeneficiarios;
                obra.CantidadUnidades             = poadetalle.CantidadUnidades;
                obra.Empleos                      = poadetalle.Empleos;
                obra.Jornales                     = poadetalle.Jornales;

                obra.SituacionObraId = poadetalle.SituacionObraId;
                obra.NumeroAnterior  = poadetalle.NumeroAnterior;
                obra.ImporteLiberadoEjerciciosAnteriores = poadetalle.ImporteLiberadoEjerciciosAnteriores;

                obra.FuncionalidadId     = poadetalle.FuncionalidadId;
                obra.EjeId               = poadetalle.EjeId;
                obra.PlanSectorialId     = poadetalle.PlanSectorialId;
                obra.ModalidadId         = poadetalle.ModalidadId;
                obra.ProgramaId          = poadetalle.ProgramaId;
                obra.GrupoBeneficiarioId = poadetalle.GrupoBeneficiarioId;


                obra.ModalidadObra = poadetalle.ModalidadObra;
                obra.Observaciones = poadetalle.Observaciones;

                obra.POAId        = poadetalle.POAId;
                obra.POADetalleId = poadetalle.Id;

                uow.ObraBusinessLogic.Insert(obra);
            }


            //Superamos el techo financiero?

            int tfupId = Utilerias.StrToInt(ddlTechoFinancieroUnidadPresupuestal.SelectedValue);

            TechoFinancieroUnidadPresupuestal tfup = uow.TechoFinancieroUnidadPresuestalBusinessLogic.GetByID(tfupId);


            if (ViewState["accion"].Equals("N"))
            {
                var ofinanciamiento = uow.ObraFinanciamientoBusinessLogic.Get(of => of.ObraId == obra.Id & of.TechoFinancieroUnidadPresupuestalId == tfupId).FirstOrDefault();

                if (ofinanciamiento != null)
                {
                    uow.Errors.Add("El importe para este fondo ya fue asignado, intente modificarlo");
                }
                else if (tfup.GetImporteAsignado() + Convert.ToDecimal(txtImporte.Text) > tfup.Importe)
                {
                    uow.Errors.Add("El importe que intenta asignar más el importe asignado (" + tfup.GetImporteAsignado(currentId).ToString("C2") + "),superan el techo financiero (" + tfup.Importe.ToString("c2") + ") para el fondo seleccionado.");
                }
            }
            else
            {
                currentId = Convert.ToInt32(ViewState["currentId"]);

                if (tfup.GetImporteAsignado(currentId) + Convert.ToDecimal(txtImporte.Text) > tfup.Importe)
                {
                    uow.Errors.Add("El importe que intenta asignar más el importe asignado (" + tfup.GetImporteAsignado(currentId).ToString("C2") + "),superan el techo financiero (" + tfup.Importe.ToString("c2") + ") para el fondo seleccionado.");
                }
            }



            if (uow.Errors.Count > 0)
            {
                divMsg.Style.Add("display", "block");

                msg = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    msg += cad;
                }

                lblMensajes.Text = msg;

                return;
            }


            ObraFinanciamiento obrafinanciamiento;


            if (ViewState["accion"].Equals("N"))
            {
                obrafinanciamiento = new ObraFinanciamiento();
                obrafinanciamiento.TechoFinancieroUnidadPresupuestalId = Utilerias.StrToInt(ddlTechoFinancieroUnidadPresupuestal.SelectedValue);
                obrafinanciamiento.Importe = Convert.ToDecimal(txtImporte.Text);

                obra.DetalleFinanciamientos.Add(obrafinanciamiento);
            }
            else
            {
                currentId          = Convert.ToInt32(ViewState["currentId"]);
                obrafinanciamiento = uow.ObraFinanciamientoBusinessLogic.GetByID(currentId);
                obrafinanciamiento.TechoFinancieroUnidadPresupuestalId = Utilerias.StrToInt(ddlTechoFinancieroUnidadPresupuestal.SelectedValue);
                obrafinanciamiento.Importe = Convert.ToDecimal(txtImporte.Text);
            }


            uow.SaveChanges();

            if (uow.Errors.Count == 0)
            {
                divBtnNuevo.Style.Add("display", "block");
                divMsg.Style.Add("display", "none");

                BindearDropDownList();
                BindGrid();


                //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script01", "fnc_OcultarPanelEditar();", false);

                //Forzar un postback para actualizar gridview de financiamientos de la obra
                Response.Redirect(Request.Url.ToString());
            }
            else
            {
                divMsg.Style.Add("display", "block");

                msg = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    msg += cad;
                }

                lblMensajes.Text = msg;
            }
        }
        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;
            }
        }
        protected void btnOk_Click(object sender, EventArgs e)
        {
            int usuario        = int.Parse(Session["IdUser"].ToString());
            int idEjercicio    = int.Parse(Session["EjercicioId"].ToString());
            int financiamiento = int.Parse(_financiamiento.Text);
            int next           = uow.TechoFinancieroBitacoraBL.Get(p => p.EjercicioId == idEjercicio).ToList().Max(q => q.Movimiento);

            next++;

            if (txtOficio.Value == string.Empty)
            {
                return;
            }


            TechoFinancieroBitacora bitacora = new TechoFinancieroBitacora();

            bitacora.EjercicioId   = idEjercicio;
            bitacora.Movimiento    = next;
            bitacora.Tipo          = EnumTipoMovimientoTechoFinanciero.Transferencia;
            bitacora.Fecha         = DateTime.Now;
            bitacora.Oficio        = txtOficio.Value;
            bitacora.Observaciones = txtObservaciones.Value;

            uow.TechoFinancieroBitacoraBL.Insert(bitacora);

            List <TechoFinancieroTMPtransferencias> lista;

            lista = uow.TechoFinancieroTMPtransferenciasBL.Get(p => p.Usuario == usuario).ToList();


            TechoFinancieroBitacoraMovimientos bitmov;
            TechoFinancieroUnidadPresupuestal  tfup;

            int i = 0;

            foreach (TechoFinancieroTMPtransferencias elemento in lista)
            {
                i++;

                //Decrementamos


                bitmov = new TechoFinancieroBitacoraMovimientos();
                bitmov.TechoFinancieroId    = financiamiento;
                bitmov.Submovimiento        = i;
                bitmov.UnidadPresupuestalId = elemento.OrigenId;
                bitmov.Incremento           = 0;
                bitmov.Decremento           = elemento.Importe;
                bitacora.detalleMovimientos.Add(bitmov);



                tfup         = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == elemento.OrigenId).First();
                tfup.Importe = tfup.Importe - elemento.Importe;
                uow.TechoFinancieroUnidadPresuestalBusinessLogic.Update(tfup);

                //incrementamos
                bitmov = new TechoFinancieroBitacoraMovimientos();
                bitmov.TechoFinancieroId    = financiamiento;
                bitmov.Submovimiento        = i;
                bitmov.UnidadPresupuestalId = elemento.DestinoId;
                bitmov.Incremento           = elemento.Importe;
                bitmov.Decremento           = 0;
                bitacora.detalleMovimientos.Add(bitmov);



                List <TechoFinancieroUnidadPresupuestal> listaUP = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == elemento.DestinoId).ToList();

                if (listaUP.Count == 0)
                {
                    tfup = new TechoFinancieroUnidadPresupuestal();
                    tfup.TechoFinancieroId    = financiamiento;
                    tfup.UnidadPresupuestalId = elemento.DestinoId;
                    tfup.Importe = elemento.Importe;
                    uow.TechoFinancieroUnidadPresuestalBusinessLogic.Insert(tfup);
                }
                else
                {
                    tfup         = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == elemento.DestinoId).First();
                    tfup.Importe = tfup.Importe + elemento.Importe;
                    uow.TechoFinancieroUnidadPresuestalBusinessLogic.Update(tfup);
                }


                uow.SaveChanges();
            }



            if (uow.Errors.Count == 0)
            {
                divTransferencia.Style.Add("display", "none");
                divNuevo.Style.Add("display", "block");

                txtOficio.Value        = string.Empty;
                txtObservaciones.Value = string.Empty;

                MostrarAsignaciones();
            }
            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 btnAdd_Click(object sender, EventArgs e)
        {
            int origen         = int.Parse(ddlOrigen.SelectedValue);
            int destino        = int.Parse(ddlDestino.SelectedValue);
            int usuario        = int.Parse(Session["IdUser"].ToString());
            int financiamiento = int.Parse(_financiamiento.Text);

            decimal importeDisponible;
            decimal importeTransferencias;
            decimal importe;

            TechoFinancieroTMPtransferencias obj = new TechoFinancieroTMPtransferencias();

            uow.Errors.Clear();
            if (origen == destino)
            {
                uow.Errors.Add("La unidad presupuestal ORIGEN no puede ser la misma que la unidad presupuestal DESTINO");
            }


            List <TechoFinancieroTMPtransferencias> lista = uow.TechoFinancieroTMPtransferenciasBL.Get(p => p.Usuario == usuario && p.Financiamiento == financiamiento && p.OrigenId == origen && p.DestinoId == destino).ToList();

            if (lista.Count > 0)
            {
                uow.Errors.Add("Las unidades presupuestales Origen y Destino que indico ya están registradas");
            }

            //techo financiero disponible de la unidad presupuestal Origen
            TechoFinancieroUnidadPresupuestal tfup = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == origen).First();

            importeDisponible     = (tfup.Importe - tfup.DetalleObraFinanciamiento.Sum(p => p.Importe));
            importeTransferencias = uow.TechoFinancieroTMPtransferenciasBL.Get(p => p.Usuario == usuario && p.Financiamiento == financiamiento && p.OrigenId == origen).ToList().Sum(q => q.Importe);
            importe = decimal.Parse(txtImporte.Value);

            if (importeDisponible < (importeTransferencias + importe))
            {
                uow.Errors.Add("El importe que desea registrar dejaría sobregiraria el disponible de la Unidad Presupuestal Origen, verifique y corrija sus datos ");
            }



            obj.Usuario        = usuario;
            obj.Financiamiento = int.Parse(_financiamiento.Text);
            obj.OrigenId       = origen;
            obj.DestinoId      = destino;
            obj.Importe        = decimal.Parse(txtImporte.Value);

            uow.TechoFinancieroTMPtransferenciasBL.Insert(obj);



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

            if (uow.Errors.Count == 0)
            {
                MostrarDetalleTransferencia();
                txtImporte.Value = string.Empty;

                //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;
            }
        }