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(); } }
// El tipo devuelto puede ser modificado a IEnumerable, sin embargo, para ser compatible con //paginación y ordenación // , se deben agregar los siguientes parametros: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable <DataAccessLayer.Models.Obra> GridViewObra_GetData() { unidadpresupuestalId = Utilerias.StrToInt(Session["UnidadPresupuestalId"].ToString()); ejercicioId = Utilerias.StrToInt(Session["EjercicioId"].ToString()); DataAccessLayer.Models.POA poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault(); if (poa == null) { return(null); } return(uow.ObraBusinessLogic.Get(obra => obra.POAId == poa.Id).OrderBy(r => r.Consecutivo)); }
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()); poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault(); if (!IsPostBack) { UnidadPresupuestal up = uow.UnidadPresupuestalBusinessLogic.GetByID(unidadpresupuestalId); lblTituloPOA.Text = String.Format("{0} <br /> Anteproyecto de POA para el ejercicio {1}", up.Nombre, uow.EjercicioBusinessLogic.GetByID(ejercicioId).Año); BindearDropDownList(); } }
private void BindGrid() { unidadpresupuestalId = Utilerias.StrToInt(Session["UnidadPresupuestalId"].ToString()); ejercicioId = Utilerias.StrToInt(Session["EjercicioId"].ToString()); DataAccessLayer.Models.POA poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault(); if (poa == null) { return; } List <Obra> obras = uow.ObraBusinessLogic.Get(ob => ob.POAId == poa.Id).ToList(); List <int> colObrasId = new List <int>(); foreach (var item in obras) { colObrasId.Add(item.POADetalleId); } this.GridViewPOADetalle.DataSource = uow.POADetalleBusinessLogic.Get(pd => !colObrasId.Contains(pd.Id) & pd.Extemporanea == false & pd.POAId == poa.Id, orderBy: r => r.OrderBy(ro => ro.Consecutivo)).ToList(); this.GridViewPOADetalle.DataBind(); }
public static object AddRecord(RegistroObra registro) { UnitOfWork uow = new UnitOfWork(HttpContext.Current.Session["IdUser"].ToString()); int unidadpresupuestalId = Utilerias.StrToInt(HttpContext.Current.Session["UnidadPresupuestalId"].ToString()); int ejercicioId = Utilerias.StrToInt(HttpContext.Current.Session["EjercicioId"].ToString()); DataAccessLayer.Models.POA poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault(); POADetalle poadetalle = null; if (poa == null) { poa = new DataAccessLayer.Models.POA(); poa.UnidadPresupuestalId = unidadpresupuestalId; poa.EjercicioId = ejercicioId; } Obra obra = new Obra(); obra.Numero = registro.Numero; obra.Descripcion = registro.Descripcion; obra.MunicipioId = registro.MunicipioId; obra.LocalidadId = registro.LocalidadId; obra.CriterioPriorizacionId = registro.CriterioPriorizacionId; obra.Convenio = registro.Convenio; obra.AperturaProgramaticaId = registro.AperturaProgramaticaId; obra.AperturaProgramaticaUnidadId = registro.UnidadMedidaId; obra.CantidadUnidades = registro.CantidadUnidades; obra.NumeroBeneficiarios = registro.NumeroBeneficiarios; obra.Empleos = registro.Empleos; obra.Jornales = registro.Jornales; obra.SituacionObraId = registro.SituacionObraId; obra.NumeroAnterior = registro.NumeroAnterior; obra.ImporteLiberadoEjerciciosAnteriores = registro.ImporteLiberadoEjerciciosAnteriores; obra.ModalidadObra = (enumModalidadObra)registro.ModalidadEjecucionId; if(registro.FuncionalidadId==0) { obra.FuncionalidadId =null; }else { obra.FuncionalidadId =registro.FuncionalidadId; }; if (registro.EjeId == 0) { obra.EjeId = null; } else { obra.EjeId = registro.EjeId; }; if (registro.PlanSectorialId == 0) { obra.PlanSectorialId = null; } else { obra.PlanSectorialId = registro.PlanSectorialId; }; if (registro.ModalidadPVDId == 0) { obra.ModalidadId = null; } else { obra.ModalidadId = registro.ModalidadPVDId; }; if (registro.ProgramaPVDId == 0) { obra.ProgramaId = null; } else { obra.ProgramaId = registro.ProgramaPVDId; }; if (registro.GrupoBeneficiarioId == 0) { obra.GrupoBeneficiarioId = null; } else { obra.GrupoBeneficiarioId = registro.GrupoBeneficiarioId; }; //Crear un poadetalle para una nueva obra poadetalle = new POADetalle(); poadetalle.Numero = obra.Numero; poadetalle.Descripcion = obra.Descripcion; poadetalle.MunicipioId = obra.MunicipioId; poadetalle.LocalidadId = obra.LocalidadId; poadetalle.CriterioPriorizacionId = obra.CriterioPriorizacionId; poadetalle.Convenio = obra.Convenio; poadetalle.AperturaProgramaticaId = obra.AperturaProgramaticaId; poadetalle.AperturaProgramaticaMetaId = obra.AperturaProgramaticaMetaId; poadetalle.AperturaProgramaticaUnidadId = obra.AperturaProgramaticaUnidadId; poadetalle.NumeroBeneficiarios = obra.NumeroBeneficiarios; poadetalle.CantidadUnidades = obra.CantidadUnidades; poadetalle.Empleos = obra.Empleos; poadetalle.Jornales = obra.Jornales; poadetalle.FuncionalidadId = obra.FuncionalidadId; poadetalle.EjeId = obra.EjeId; poadetalle.PlanSectorialId = obra.PlanSectorialId; poadetalle.ModalidadId = obra.ModalidadId; poadetalle.ProgramaId = obra.ProgramaId; poadetalle.GrupoBeneficiarioId = obra.GrupoBeneficiarioId; poadetalle.SituacionObraId = obra.SituacionObraId; poadetalle.NumeroAnterior = obra.NumeroAnterior; poadetalle.ImporteLiberadoEjerciciosAnteriores = obra.ImporteLiberadoEjerciciosAnteriores; poadetalle.ModalidadObra = obra.ModalidadObra; poadetalle.Observaciones = obra.Observaciones; poadetalle.Extemporanea = true; poadetalle.POA = poa; obra.POA = poa; obra.POADetalle = poadetalle; uow.ObraBusinessLogic.Insert(obra); uow.SaveChanges(); return uow.GetResult(); }
public static object GetListadoObras(string WhereNumero, string WhereDescripcion, string WhereMunicipio, string WhereLocalidad, string WhereUnidadPresupuestal, string WhereContratista, string WhereFondos, string WherePresupuesto) { UnitOfWork uow = new UnitOfWork(); SqlDataReader reader =null; int unidadpresupuestalId = Utilerias.StrToInt(HttpContext.Current.Session["UnidadPresupuestalId"].ToString()); int ejercicioId = Utilerias.StrToInt(HttpContext.Current.Session["EjercicioId"].ToString()); DataAccessLayer.Models.POA poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault(); List<object> list = new List<object>(); using (SqlConnection con = new SqlConnection(uow.Contexto.Database.Connection.ConnectionString)) { using (SqlCommand cmd = new SqlCommand("sp_MulticriterioPOAAjustado", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@POAId", SqlDbType.Int).Value = poa.Id; cmd.Parameters.Add("@WhereNumero", SqlDbType.VarChar).Value = WhereNumero; cmd.Parameters.Add("@WhereDescripcion", SqlDbType.VarChar).Value = WhereDescripcion; cmd.Parameters.Add("@WhereMunicipio", SqlDbType.VarChar).Value = WhereMunicipio; cmd.Parameters.Add("@WhereLocalidad", SqlDbType.VarChar).Value = WhereLocalidad; cmd.Parameters.Add("@WhereUnidadPresupuestal", SqlDbType.VarChar).Value = WhereUnidadPresupuestal; cmd.Parameters.Add("@WhereContratista", SqlDbType.VarChar).Value = WhereContratista; cmd.Parameters.Add("@WhereFondos", SqlDbType.VarChar).Value = WhereFondos; cmd.Parameters.Add("@WherePresupuesto", SqlDbType.VarChar).Value = WherePresupuesto; con.Open(); reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { int ObraId = Convert.ToInt32(reader["ObraId"]); string Numero = reader["Numero"].ToString(); string Descripcion = reader["Descripcion"].ToString(); string Municipio = reader["Municipio"].ToString(); string Localidad = reader["Localidad"].ToString(); string UnidadPresupuestal = reader["UnidadPresupuestal"].ToString(); string SubUnidadPresupuestal = reader["SubUnidadPresupuestal"].ToString(); string Contratista = reader["Contratista"].ToString(); string Fondos = reader["Fondos"].ToString(); decimal Presupuesto = Convert.ToDecimal(reader["Presupuesto"]); list.Add(new { ObraId = ObraId, Numero = Numero, Descripcion = Descripcion, Municipio = Municipio, Localidad = Localidad, UnidadPresupuestal = UnidadPresupuestal,SubUnidadPresupuestal=SubUnidadPresupuestal, Contratista = Contratista, Fondos = Fondos, Presupuesto = Presupuesto }); } } else { Console.WriteLine("No rows found."); } reader.Close(); } //using command }//using connection return list; }
protected void btnGuardar_Click(object sender, EventArgs e) { string msg = "Se ha guardado correctamente"; unidadpresupuestalId = Utilerias.StrToInt(Session["UnidadPresupuestalId"].ToString()); ejercicioId = Utilerias.StrToInt(Session["EjercicioId"].ToString()); DataAccessLayer.Models.POA poa = uow.POABusinessLogic.Get(p => p.UnidadPresupuestalId == unidadpresupuestalId & p.EjercicioId == ejercicioId).FirstOrDefault(); POADetalle poadetalle = null; if (poa == null) { poa = new DataAccessLayer.Models.POA(); poa.UnidadPresupuestalId = unidadpresupuestalId; poa.EjercicioId = ejercicioId; } if (_Accion.Text.Equals("N")) { poadetalle = new POADetalle(); } else { currentId = Convert.ToInt32(_ID.Text); poadetalle = uow.POADetalleBusinessLogic.GetByID(currentId); msg = "Se ha actualizado correctamente"; } poadetalle.Numero = txtNumero.Value; poadetalle.Descripcion = txtDescripcion.Value; poadetalle.MunicipioId = Utilerias.StrToInt(ddlMunicipio.SelectedValue); poadetalle.LocalidadId = Utilerias.StrToInt(ddlLocalidad.SelectedValue); poadetalle.CriterioPriorizacionId = Utilerias.StrToInt(ddlCriterioPriorizacion.SelectedValue); //Garantizar que se limpie correctamente el campo Nombre del Convenio switch (poadetalle.CriterioPriorizacionId) { case 2: break; default: txtNombreConvenio.Value = String.Empty; break; } poadetalle.Convenio = txtNombreConvenio.Value; poadetalle.AperturaProgramaticaId = Utilerias.StrToInt(ddlSubsubprograma.SelectedValue); poadetalle.AperturaProgramaticaMetaId = null; poadetalle.AperturaProgramaticaUnidadId = Utilerias.StrToInt(ddlUnidadMedida.SelectedValue); poadetalle.NumeroBeneficiarios = Utilerias.StrToInt(txtNumeroBeneficiarios.Value.ToString().Replace(",", null)); poadetalle.CantidadUnidades = Utilerias.StrToInt(txtCantidadUnidades.Value.ToString().Replace(",", null)); poadetalle.Empleos = Utilerias.StrToInt(txtEmpleos.Value.ToString().Replace(",", null)); poadetalle.Jornales = Utilerias.StrToInt(txtJornales.Value.ToString().Replace(",", null)); //Los campos relativos al Plan Veracruzano de Desarrollo, son opcionales poadetalle.FuncionalidadId = null; poadetalle.EjeId = null; poadetalle.PlanSectorialId = null; poadetalle.ModalidadId = null; poadetalle.ProgramaId = null; poadetalle.GrupoBeneficiarioId = null; if (ddlSubFuncion.SelectedIndex > 0) { poadetalle.FuncionalidadId = Utilerias.StrToInt(ddlSubFuncion.SelectedValue); } if (ddlEje.SelectedIndex > 0) { poadetalle.EjeId = Utilerias.StrToInt(ddlEje.SelectedValue); } if (ddlPlanSectorial.SelectedIndex > 0) { poadetalle.PlanSectorialId = Utilerias.StrToInt(ddlPlanSectorial.SelectedValue); } if (ddlModalidadElemento.SelectedIndex > 0) { poadetalle.ModalidadId = Utilerias.StrToInt(ddlModalidadElemento.SelectedValue); } if (ddlProgramaPresupuesto.SelectedIndex > 0) { poadetalle.ProgramaId = Utilerias.StrToInt(ddlProgramaPresupuesto.SelectedValue); } if (ddlGrupoBeneficiario.SelectedIndex > 0) { poadetalle.GrupoBeneficiarioId = Utilerias.StrToInt(ddlGrupoBeneficiario.SelectedValue); } poadetalle.SituacionObraId = Utilerias.StrToInt(ddlSituacionObra.SelectedValue); //Garantizar que se limpien correctamente los campos Numero anterior e Importe Liberado switch (poadetalle.SituacionObraId) { case 3: case 4: break; default: txtNumeroAnterior.Value = String.Empty; txtImporteLiberadoEjerciciosAnteriores.Value = "0"; break; } poadetalle.ModalidadObra = (enumModalidadObra)Convert.ToInt32(ddlModalidad.SelectedValue); poadetalle.ImporteTotal = Utilerias.StrToDecimal(txtImporteTotal.Value.ToString()); poadetalle.NumeroAnterior = txtNumeroAnterior.Value; poadetalle.ImporteLiberadoEjerciciosAnteriores = Utilerias.StrToDecimal(txtImporteLiberadoEjerciciosAnteriores.Value.ToString()); poadetalle.Observaciones = txtObservaciones.InnerText; poadetalle.Extemporanea = false; if (_Accion.Text.Equals("N")) { poadetalle.POA = poa; uow.POADetalleBusinessLogic.Insert(poadetalle); } else { uow.POADetalleBusinessLogic.Update(poadetalle); } uow.SaveChanges(); if (uow.Errors.Count == 0) { // Esto solo es necesario para recargar en memoria // los cambios que se realizan mediante un trigger uow = null; uow = new UnitOfWork(); //Este gridview usa un enlace de Modelo, por esto No requiere //asignar nuevamente su propiedad Datasource //vease método GridViewObras_GetData this.GridViewObras.DataBind(); divEdicion.Style.Add("display", "none"); divBtnNuevo.Style.Add("display", "block"); } else { divMsg.Style.Add("display", "block"); msg = string.Empty; foreach (string cad in uow.Errors) { msg += cad; } lblMensajes.Text = msg; } }