protected void imgBtnEdit_Click(object sender, ImageClickEventArgs e) { GridViewRow row = (GridViewRow)((ImageButton)sender).NamingContainer; _ID.Text = GridViewObras.DataKeys[row.RowIndex].Values["Id"].ToString(); currentId = Convert.ToInt32(GridViewObras.DataKeys[row.RowIndex].Values["Id"].ToString()); POADetalle poadetalle = uow.POADetalleBusinessLogic.GetByID(currentId); BindControles(poadetalle); Obra obra = uow.ObraBusinessLogic.Get(o => o.POADetalleId == poadetalle.Id).FirstOrDefault(); if (obra == null) { HabilitarDesHabilitarControles(true); } else { HabilitarDesHabilitarControles(false); } divEdicion.Style.Add("display", "block"); divBtnNuevo.Style.Add("display", "none"); divMsg.Style.Add("display", "none"); _Accion.Text = "A"; ClientScript.RegisterStartupScript(this.GetType(), "script01", "fnc_ocultarDivObraAnterior();", true); ClientScript.RegisterStartupScript(this.GetType(), "script02", "fnc_ocultarDivDatosConvenio();", true); }
protected void Page_Load(object sender, EventArgs e) { uow = new UnitOfWork(Session["IdUser"].ToString()); poadetalleId = Utilerias.StrToInt(Request.QueryString["poadetalleId"].ToString()); enproyectopoa = Convert.ToBoolean(Request.QueryString["EnProyecto"]); if (enproyectopoa) { divlinkPOAFinanciamiento.Style.Add("display", "block"); divlinkPOAAjustadoFinanciamiento.Style.Add("display", "none"); } else { divlinkPOAFinanciamiento.Style.Add("display", "none"); divlinkPOAAjustadoFinanciamiento.Style.Add("display", "block"); } POADetalle poadetalle = uow.POADetalleBusinessLogic.GetByID(poadetalleId); obraNumero = poadetalle.Numero; obraDescripcion = poadetalle.Descripcion; unidadpresupuestalId = Utilerias.StrToInt(Session["UnidadPresupuestalId"].ToString()); ejercicioId = Utilerias.StrToInt(Session["EjercicioId"].ToString()); if (!IsPostBack) { BindearDropDownList(); BindGrid(); } }
protected void imgBtnEliminar_Click(object sender, ImageClickEventArgs e) { //Se busca el ID de la fila seleccionada GridViewRow row = (GridViewRow)((ImageButton)sender).NamingContainer; string msg = "Se ha eliminado correctamente"; currentId = Utilerias.StrToInt(GridViewObras.DataKeys[row.RowIndex].Value.ToString()); POADetalle poadetalle = uow.POADetalleBusinessLogic.GetByID(currentId); Obra obra = uow.ObraBusinessLogic.Get(o => o.POADetalleId == poadetalle.Id).FirstOrDefault(); if (obra != null) { divEdicion.Style.Add("display", "none"); divBtnNuevo.Style.Add("display", "block"); divMsg.Style.Add("display", "block"); lblMensajes.Text = String.Format("La obra {0} no puede eliminarse porque ya tiene asignado financiamientos.", poadetalle.Numero); return; } uow.POADetalleBusinessLogic.Delete(poadetalle); uow.SaveChanges(); if (uow.Errors.Count == 0) { divEdicion.Style.Add("display", "none"); divBtnNuevo.Style.Add("display", "block"); divMsg.Style.Add("display", "none"); this.GridViewObras.DataBind(); } else { divEdicion.Style.Add("display", "none"); divBtnNuevo.Style.Add("display", "block"); divMsg.Style.Add("display", "block"); msg = string.Empty; foreach (string cad in uow.Errors) { msg += cad; } lblMensajes.Text = msg; } }
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(); }
protected override void Seed(DataAccessLayer.Models.Contexto context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. E.g. // // context.People.AddOrUpdate( // p => p.FullName, // new Person { FullName = "Andrew Peters" }, // new Person { FullName = "Brice Lambson" }, // new Person { FullName = "Rowan Miller" } // ); // context.Usuarios.AddOrUpdate( new Usuario { Id = 1, Login = "******", Password = "******", Nombre = "Usuario de SEDARPA", Activo = true }, new Usuario { Id = 2, Login = "******", Password = "******", Nombre = "Usuario de IIEV", Activo = true }, new Usuario { Id = 3, Login = "******", Password = "******", Nombre = "Usuario de INVERBIO", Activo = true } ); context.Ejercicios.AddOrUpdate( new Ejercicio { Id = 1, Año = 2009, Activo = false }, new Ejercicio { Id = 2, Año = 2010, Activo = false }, new Ejercicio { Id = 3, Año = 2011, Activo = false }, new Ejercicio { Id = 4, Año = 2012, Activo = false }, new Ejercicio { Id = 5, Año = 2013, Activo = false }, new Ejercicio { Id = 6, Año = 2014, Activo = true }, new Ejercicio { Id = 7, Año = 2015, Activo = false }, new Ejercicio { Id = 8, Año = 2016, Activo = false } ); context.UnidadesPresupuestales.AddOrUpdate( new UnidadPresupuestal { Id = 1, Clave = "102S11001", Abreviatura = "SEDARPA", Nombre = "Secretaria de Desarrollo Agropecuario, Rural y Pesca", Orden = 1 }, new UnidadPresupuestal { Id = 2, Clave = "104C80803", Abreviatura = "IIEV", Nombre = "Instituto de Espacios Educativos", Orden = 2 }, new UnidadPresupuestal { Id = 3, Clave = "104S80801", Abreviatura = "COBAEV", Nombre = "Colegio de Bachilleres del Estado de Veracruz", Orden = 3 } ); UnidadPresupuestal sedarpa = context.UnidadesPresupuestales.Local.FirstOrDefault(u => u.Clave == "102S11001"); sedarpa.DetalleSubUnidadesPresupuestales.Add(new UnidadPresupuestal { Id = 4, Clave = "102S80808", Abreviatura = "CODEPAP", Nombre = "Consejo de desarrollo del Papaloapan", Orden = 1 }); sedarpa.DetalleSubUnidadesPresupuestales.Add(new UnidadPresupuestal { Id = 5, Clave = "102S80809", Abreviatura = "INVERBIO", Nombre = "Instituto Veracruzano de Bioenergéticos", Orden = 2 }); Usuario usedarpa = context.Usuarios.Local.FirstOrDefault(u => u.Login == "sedarpa"); Usuario uiiev = context.Usuarios.Local.FirstOrDefault(u => u.Login == "iiev"); Usuario uinverbio = context.Usuarios.Local.FirstOrDefault(u => u.Login == "inverbio"); usedarpa.DetalleUnidadesPresupuestales.Add(new UsuarioUnidadPresupuestal { UnidadPresupuestalId = 1 }); uiiev.DetalleUnidadesPresupuestales.Add(new UsuarioUnidadPresupuestal { UnidadPresupuestalId = 2 }); uinverbio.DetalleUnidadesPresupuestales.Add(new UsuarioUnidadPresupuestal { UnidadPresupuestalId = 5 }); context.Municipios.AddOrUpdate( new Municipio { Id = 1, Clave = "M001", Nombre = "Acajete", Orden = 1 }, new Municipio { Id = 2, Clave = "M002", Nombre = "Acatlán", Orden = 2 }, new Municipio { Id = 3, Clave = "M003", Nombre = "Acayucan", Orden = 3 }, new Municipio { Id = 4, Clave = "M004", Nombre = "Actopan", Orden = 4 } ); context.TiposLocalidad.AddOrUpdate( new TipoLocalidad { Id = 1, Clave = "TL001", Nombre = "Poblado urbano", Orden = 1 }, new TipoLocalidad { Id = 2, Clave = "TL002", Nombre = "Poblado rural", Orden = 2 }, new TipoLocalidad { Id = 3, Clave = "TL003", Nombre = "Colonia popular", Orden = 3 }, new TipoLocalidad { Id = 4, Clave = "TL004", Nombre = "Poblado indígena", Orden = 4 } ); context.SituacionesObra.AddOrUpdate( new SituacionObra { Id = 1, Clave = "SO001", Nombre = "Nueva", Orden = 1 }, new SituacionObra { Id = 2, Clave = "SO002", Nombre = "Proceso (Concluir financieramente)", Orden = 2 }, new SituacionObra { Id = 3, Clave = "SO003", Nombre = "Proceso (Concluir fisica y financieramente)", Orden = 3 } ); context.Fondos.AddOrUpdate( new Fondo { Id = 1, Clave = "F010", Abreviatura = "FORTAMUNDF", Nombre = "Fondo de Aportaciones para el Fortalecimiento de los Municipios y Demarcaciones Territoriales del Distrito Federal", Orden = 1 }, new Fondo { Id = 2, Clave = "F020", Abreviatura = "FAIS", Nombre = "Fondo para la Infraestructura Social", Orden = 2 }, new Fondo { Id = 3, Clave = "F030", Abreviatura = "Otros", Nombre = "Otros fondos", Orden = 3 } ); Fondo fais = context.Fondos.Local.FirstOrDefault(f => f.Clave == "F010"); fais.DetalleSubFondos.Add(new Fondo { Id = 4, Clave = "F011", Abreviatura = "FISE", Nombre = "Fondo para la Infraestructura Social Estatal", Orden = 1 }); fais.DetalleSubFondos.Add(new Fondo { Id = 5, Clave = "F012", Abreviatura = "FISM", Nombre = "Fondo para la Infraestructura Social Municipal ", Orden = 2 }); context.ModalidadesFinanciamiento.AddOrUpdate( new ModalidadFinanciamiento { Id = 1, Clave = "MF001", Nombre = "Actual", Orden = 1 }, new ModalidadFinanciamiento { Id = 2, Clave = "MF002", Nombre = "Remanente", Orden = 2 }, new ModalidadFinanciamiento { Id = 3, Clave = "MF003", Nombre = "Intereses", Orden = 3 }, new ModalidadFinanciamiento { Id = 4, Clave = "MF004", Nombre = "Prestamo", Orden = 4 } ); context.AperturaProgramaticaUnidades.AddOrUpdate( new AperturaProgramaticaUnidad { Id = 1, Clave = "APU001", Nombre = "Planta", Orden = 1 }, new AperturaProgramaticaUnidad { Id = 2, Clave = "APU002", Nombre = "Pozo", Orden = 2 }, new AperturaProgramaticaUnidad { Id = 3, Clave = "APU003", Nombre = "Tanque", Orden = 3 }, new AperturaProgramaticaUnidad { Id = 4, Clave = "APU004", Nombre = "Metro lineal", Orden = 4 }, new AperturaProgramaticaUnidad { Id = 5, Clave = "APU005", Nombre = "Sistema", Orden = 5 }, new AperturaProgramaticaUnidad { Id = 6, Clave = "APU006", Nombre = "Obra", Orden = 6 }, new AperturaProgramaticaUnidad { Id = 7, Clave = "APU007", Nombre = "Pozo", Orden = 7 }, new AperturaProgramaticaUnidad { Id = 8, Clave = "APU008", Nombre = "Olla", Orden = 8 } ); context.AperturaProgramaticaBeneficiarios.AddOrUpdate( new AperturaProgramaticaBeneficiario { Id = 1, Clave = "APB001", Nombre = "Persona", Orden = 1 }, new AperturaProgramaticaBeneficiario { Id = 2, Clave = "APB002", Nombre = "Productor", Orden = 2 }, new AperturaProgramaticaBeneficiario { Id = 3, Clave = "APB003", Nombre = "Familia", Orden = 3 }, new AperturaProgramaticaBeneficiario { Id = 4, Clave = "APB004", Nombre = "Alumno", Orden = 4 } ); context.AperturaProgramatica.AddOrUpdate( new AperturaProgramatica { Id = 1, Clave = "SC", Nombre = "Agua y saneamiento (Agua potable)", Orden = 1, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 2, Clave = "SD", Nombre = "Agua y saneamiento (Drenaje)", Orden = 2, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 3, Clave = "SE", Nombre = "Urbanización municipal", Orden = 3, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 4, Clave = "SG", Nombre = "Electrificación", Orden = 4, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 5, Clave = "SO", Nombre = "Salud", Orden = 5, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 6, Clave = "SJ", Nombre = "Educación", Orden = 6, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 7, Clave = "SH", Nombre = "Vivienda", Orden = 7, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 8, Clave = "UB", Nombre = "Caminos rurales", Orden = 8, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 9, Clave = "IR", Nombre = "Infraestructura productiva rural", Orden = 9, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 10, Clave = "UM", Nombre = "Equipamiento urbano", Orden = 10, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 11, Clave = "PE", Nombre = "Protección y preservación ecológica", Orden = 11, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 12, Clave = "BE", Nombre = "Bienes muebles", Orden = 12, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 13, Clave = "BI", Nombre = "Bienes inmuebles", Orden = 13, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 14, Clave = "PM", Nombre = "Planeación municipal", Orden = 14, EjercicioId = 6, Nivel = 1 }, new AperturaProgramatica { Id = 15, Clave = "SB", Nombre = "Estímulos a la educación", Orden = 15, EjercicioId = 6, Nivel = 1 } ); AperturaProgramatica sc = context.AperturaProgramatica.Local.FirstOrDefault(ap => ap.Clave == "SC"); sc.DetalleSubElementos.Add(new AperturaProgramatica { Id = 16, Clave = "01", Nombre = "Rehabilitación", Orden = 1, EjercicioId = 6, Nivel = 2 }); sc.DetalleSubElementos.Add(new AperturaProgramatica { Id = 17, Clave = "02", Nombre = "Ampliación", Orden = 2, EjercicioId = 6, Nivel = 2 }); sc.DetalleSubElementos.Add(new AperturaProgramatica { Id = 18, Clave = "03", Nombre = "Construcción", Orden = 3, EjercicioId = 6, Nivel = 2 }); sc.DetalleSubElementos.Add(new AperturaProgramatica { Id = 19, Clave = "04", Nombre = "Mantenimiento", Orden = 4, EjercicioId = 6, Nivel = 2 }); sc.DetalleSubElementos.Add(new AperturaProgramatica { Id = 20, Clave = "05", Nombre = "Equipamiento", Orden = 5, EjercicioId = 6, Nivel = 2 }); sc.DetalleSubElementos.Add(new AperturaProgramatica { Id = 21, Clave = "06", Nombre = "Sustitución", Orden = 6, EjercicioId = 6, Nivel = 2 }); AperturaProgramatica sc_rehabilitacion = context.AperturaProgramatica.Local.FirstOrDefault(ap => ap.Id == 16); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 22, Clave = "a", Nombre = "Planta potabilizadora", Orden = 1, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 23, Clave = "b", Nombre = "Pozo profundo de agua potable", Orden = 2, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 24, Clave = "c", Nombre = "Deposito o tanque de agua potable", Orden = 3, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 25, Clave = "d", Nombre = "Linea de conducción", Orden = 4, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 26, Clave = "e", Nombre = "Red de agua potable", Orden = 5, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 27, Clave = "f", Nombre = "Sistema integral de agua potable", Orden = 6, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 28, Clave = "g", Nombre = "Carcamo", Orden = 7, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 29, Clave = "h", Nombre = "Norias", Orden = 8, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 30, Clave = "i", Nombre = "Pozo artesiano", Orden = 9, EjercicioId = 6, Nivel = 3 }); sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica { Id = 31, Clave = "j", Nombre = "Olla de captación de agua pluvial", Orden = 10, EjercicioId = 6, Nivel = 3 }); AperturaProgramatica sc_rehabilitacion_plantapotabilizadora = context.AperturaProgramatica.Local.FirstOrDefault(ap => ap.Id == 22); sc_rehabilitacion_plantapotabilizadora.DetalleMetas.Add(new AperturaProgramaticaMeta { AperturaProgramaticaUnidadId = 8, AperturaProgramaticaBeneficiarioId = 1 }); var list = from año in context.Años.Local from mf in context.ModalidadesFinanciamiento.Local from f in context.Fondos.Local select new { año, mf, f }; foreach (var item in list) { context.Financiamientos.Add(new Financiamiento { Año = item.año, ModalidadFinanciamiento = item.mf, Fondo = item.f }); } context.Funcionalidad.AddOrUpdate( new Funcionalidad { Id = 1, Clave = "F001", Descripcion = "Gobierno", Orden = 1, Nivel = 1 }, new Funcionalidad { Id = 2, Clave = "F002", Descripcion = "Desarrollo Social", Orden = 2, Nivel = 1 }, new Funcionalidad { Id = 3, Clave = "F003", Descripcion = "Desarrollo Económico", Orden = 3, Nivel = 1 } ); Funcionalidad fgobierno = context.Funcionalidad.Local.FirstOrDefault(f => f.Clave == "F001"); Funcionalidad fdesarrollosocial = context.Funcionalidad.Local.FirstOrDefault(f => f.Clave == "F002"); Funcionalidad fdesarrolloeconomico = context.Funcionalidad.Local.FirstOrDefault(f => f.Clave == "F003"); fgobierno.DetalleSubElementos.Add(new Funcionalidad { Id = 4, Clave = "F004", Descripcion = "Legislación", Orden = 1, Nivel = 2 }); fgobierno.DetalleSubElementos.Add(new Funcionalidad { Id = 5, Clave = "F005", Descripcion = "Fiscalización", Orden = 2, Nivel = 2 }); fgobierno.DetalleSubElementos.Add(new Funcionalidad { Id = 6, Clave = "F006", Descripcion = "Justicia", Orden = 3, Nivel = 2 }); fdesarrollosocial.DetalleSubElementos.Add(new Funcionalidad { Id = 7, Clave = "F007", Descripcion = "Protección ambiental", Orden = 1, Nivel = 2 }); fdesarrollosocial.DetalleSubElementos.Add(new Funcionalidad { Id = 8, Clave = "F008", Descripcion = "Vivienda y servicios a la comunidad", Orden = 2, Nivel = 2 }); fdesarrollosocial.DetalleSubElementos.Add(new Funcionalidad { Id = 9, Clave = "F009", Descripcion = "Salud", Orden = 3, Nivel = 2 }); fdesarrolloeconomico.DetalleSubElementos.Add(new Funcionalidad { Id = 10, Clave = "F010", Descripcion = "Asuntos económicos, comerciales y laborales en general", Orden = 1, Nivel = 2 }); fdesarrolloeconomico.DetalleSubElementos.Add(new Funcionalidad { Id = 11, Clave = "F011", Descripcion = "Agropecuaria, silvicultura, pesca y caza", Orden = 2, Nivel = 2 }); fdesarrolloeconomico.DetalleSubElementos.Add(new Funcionalidad { Id = 12, Clave = "F012", Descripcion = "Combustible y energía", Orden = 3, Nivel = 2 }); Funcionalidad flegislacion = context.Funcionalidad.Local.FirstOrDefault(f => f.Clave == "F004"); Funcionalidad ffiscalizacion = context.Funcionalidad.Local.FirstOrDefault(f => f.Clave == "F005"); Funcionalidad fjusticia = context.Funcionalidad.Local.FirstOrDefault(f => f.Clave == "F006"); flegislacion.DetalleSubElementos.Add(new Funcionalidad { Id = 13, Clave = "F013", Descripcion = "Legislación", Orden = 1, Nivel = 3 }); ffiscalizacion.DetalleSubElementos.Add(new Funcionalidad { Id = 14, Clave = "F014", Descripcion = "Fiscalización", Orden = 1, Nivel = 3 }); fjusticia.DetalleSubElementos.Add(new Funcionalidad { Id = 15, Clave = "F015", Descripcion = "Impartición de Justicia", Orden = 1, Nivel = 3 }); fjusticia.DetalleSubElementos.Add(new Funcionalidad { Id = 16, Clave = "F016", Descripcion = "Procuración de Justicia", Orden = 2, Nivel = 3 }); fjusticia.DetalleSubElementos.Add(new Funcionalidad { Id = 17, Clave = "F017", Descripcion = "Reclusión y readaptación social", Orden = 3, Nivel = 3 }); fjusticia.DetalleSubElementos.Add(new Funcionalidad { Id = 18, Clave = "F018", Descripcion = "Derechos humanos", Orden = 4, Nivel = 3 }); context.Eje.AddOrUpdate( new Eje { Id = 1, Clave = "A", Descripcion = "Construir el presente: Un mejor futuro para todos", Orden = 1, Nivel = 1 }, new Eje { Id = 2, Clave = "B", Descripcion = "Economía fuerte para el progreso de la gente", Orden = 2, Nivel = 1 }, new Eje { Id = 3, Clave = "C", Descripcion = "Un Veracruz sustentable", Orden = 3, Nivel = 1 }, new Eje { Id = 4, Clave = "D", Descripcion = "Gobierno y administración eficientes y transparentes", Orden = 4, Nivel = 1 } ); Eje ejeA = context.Eje.Local.FirstOrDefault(e => e.Clave == "A"); ejeA.DetalleSubElementos.Add(new Eje { Id = 5, Clave = "A005", Descripcion = "Combatir rezagos para salir adelante", Orden = 1, Nivel = 2 }); ejeA.DetalleSubElementos.Add(new Eje { Id = 6, Clave = "A006", Descripcion = "El valor de la civilización indígena", Orden = 2, Nivel = 2 }); ejeA.DetalleSubElementos.Add(new Eje { Id = 7, Clave = "A007", Descripcion = "La familia veracruzana", Orden = 3, Nivel = 2 }); ejeA.DetalleSubElementos.Add(new Eje { Id = 8, Clave = "A008", Descripcion = "Igualdad de género", Orden = 4, Nivel = 2 }); ejeA.DetalleSubElementos.Add(new Eje { Id = 9, Clave = "A009", Descripcion = "Juventud: oportunidad y compromiso", Orden = 5, Nivel = 2 }); context.PlanSectorial.AddOrUpdate( new PlanSectorial { Id = 1, Clave = "A", Descripcion = "Programa Veracruzano de Desarrollo Agropecuario, Rural, Forestal y Pesca.", Orden = 1, Nivel = 1 }, new PlanSectorial { Id = 2, Clave = "B", Descripcion = "Programa Veracruzano de Salud.", Orden = 2, Nivel = 1 }, new PlanSectorial { Id = 3, Clave = "C", Descripcion = "Programa Veracruzano de Asistencia Social.", Orden = 3, Nivel = 1 }, new PlanSectorial { Id = 4, Clave = "D", Descripcion = "Programa Veracruzano de Educación.", Orden = 4, Nivel = 1 } ); context.Modalidad.AddOrUpdate( new Modalidad { Id = 1, Clave = "M001", Descripcion = "Subsidios: Sector Social y Privado o Entidades Federativas y Municipios", Orden = 1, Nivel = 1 }, new Modalidad { Id = 2, Clave = "M002", Descripcion = "Desempeño de las Funciones", Orden = 2, Nivel = 1 }, new Modalidad { Id = 3, Clave = "M003", Descripcion = "Administrativos y de Apoyo", Orden = 3, Nivel = 1 }, new Modalidad { Id = 4, Clave = "M004", Descripcion = "Programas de Gasto Federalizado (Gobierno Federal)", Orden = 4, Nivel = 1 } ); Modalidad mSubsidios = context.Modalidad.Local.FirstOrDefault(m => m.Clave == "M001"); mSubsidios.DetalleSubElementos.Add(new Modalidad { Id = 5, Clave = "S", Descripcion = "Sujetos a Reglas de Operación", Orden = 1, Nivel = 2 }); mSubsidios.DetalleSubElementos.Add(new Modalidad { Id = 6, Clave = "U", Descripcion = "Otros Subsidios", Orden = 2, Nivel = 2 }); context.Programa.AddOrUpdate( new Programa { Id = 1, Clave = "010", Descripcion = "Formación y Orientación Educativa", Tipo = "A.I.", Objetivo = "Contribuir al desarrollo de las tareas de los alumnos, padres y profesores dentro del ámbito específico de los centros escolares.", Orden = 1 }, new Programa { Id = 2, Clave = "011", Descripcion = "Centros de Desarrollo Infantil", Tipo = "A.I.", Objetivo = "Brindar servicios de cuidado, salud, alimentación y estimulación a los hijos de las trabajadoras de la Secretaría de Educación de Veracruz de edades comprendidas entre 45 días y 5 años 11 meses.", Orden = 2 }, new Programa { Id = 3, Clave = "012", Descripcion = "Educación Básica Nivel Preescolar", Tipo = "A.I.", Objetivo = "Atender y apoyar desde edades tempranas a los menores para favorecer el desarrollo de sus potencialidades y capacidades, lo que permitirá un mejordesarrollo personal y social.", Orden = 3 } ); context.GrupoBeneficiario.AddOrUpdate( new GrupoBeneficiario { Id = 1, Clave = "A", Nombre = "Adulto Mayor", Orden = 1 }, new GrupoBeneficiario { Id = 2, Clave = "B", Nombre = "Alumno", Orden = 2 }, new GrupoBeneficiario { Id = 3, Clave = "C", Nombre = "Artesano", Orden = 3 }, new GrupoBeneficiario { Id = 4, Clave = "D", Nombre = "Artista", Orden = 4 }, new GrupoBeneficiario { Id = 5, Clave = "E", Nombre = "Contribuyente", Orden = 5 }, new GrupoBeneficiario { Id = 6, Clave = "F", Nombre = "Damnificado", Orden = 6 } ); context.CriterioPriorizacion.AddOrUpdate( new CriterioPriorizacion { Id = 1, Clave = "CP001", Nombre = "Terminación de obra", Orden = 1 }, new CriterioPriorizacion { Id = 2, Clave = "CP002", Nombre = "Obras y acciones en PARIPASSU", Orden = 2 }, new CriterioPriorizacion { Id = 3, Clave = "CP003", Nombre = "Obras y acciones nuevas", Orden = 3 }, new CriterioPriorizacion { Id = 4, Clave = "CP004", Nombre = "Estudios y proyectos", Orden = 4 }, new CriterioPriorizacion { Id = 5, Clave = "CP005", Nombre = "Obras y acciones nuevas que en el mismo ejercicio contemplen los proyectos", Orden = 5 } ); POA poa = new POA { Id = 1, UnidadPresupuestalId = 1, EjercicioId = 6 }; POADetalle poadetalle = new POADetalle(); poadetalle.Consecutivo = 1; poadetalle.Numero = "102S110012014001"; poadetalle.Descripcion = "Demolicion manual de cimentación de concreto armado con varilla de acero. Incluye: retiro de material a zona de acopio a 1ra estación de 20m."; poadetalle.MunicipioId = 1; poadetalle.Localidad = "Alguna localidad en Acajete"; poadetalle.TipoLocalidadId = 1; poadetalle.SituacionObraId = 1; poadetalle.ModalidadObra = enumModalidadObra.Contrato; poadetalle.EsAccion = false; poadetalle.ImporteTotal = 12348700; poadetalle.ImporteLiberadoEjerciciosAnteriores = 10200000; poadetalle.ImportePresupuesto = 15000000; poadetalle.AperturaProgramaticaId = 22; poadetalle.AperturaProgramaticaMetaId = 1; poadetalle.NumeroBeneficiarios = 25; poadetalle.CantidadUnidades = 17; poadetalle.Empleos = 10; poadetalle.Jornales = 15; poadetalle.FuncionalidadId = 16; poadetalle.EjeId = 5; poadetalle.PlanSectorialId = 1; poadetalle.ModalidadId = 5; poadetalle.ProgramaId = 1; poadetalle.GrupoBeneficiarioId = 2; poadetalle.CriterioPriorizacionId = 1; poa.Detalles.Add(poadetalle); context.POA.Add(poa); Obra obra = new Obra(); obra.Numero = "102S110012014001"; obra.Descripcion = "Demolicion manual de cimentación de concreto armado con varilla de acero. Incluye: retiro de material a zona de acopio a 1ra estación de 20m."; obra.MunicipioId = 1; obra.Localidad = "Alguna localidad en Acajete"; obra.TipoLocalidadId = 1; obra.SituacionObraId = 1; obra.ModalidadObra = enumModalidadObra.Contrato; obra.FechaInicio = new DateTime(2014, 01, 30); obra.FechaTermino = new DateTime(2014, 09, 16); obra.EsAccion = false; obra.ImporteTotal = 12348700; obra.AperturaProgramaticaId = 22; obra.AperturaProgramaticaMetaId = 1; obra.NumeroBeneficiarios = 25; obra.CantidadUnidades = 18; obra.Empleos = 10; obra.Jornales = 15; obra.FuncionalidadId = 16; obra.EjeId = 5; obra.PlanSectorialId = 1; obra.ModalidadId = 5; obra.ProgramaId = 1; obra.GrupoBeneficiarioId = 2; obra.CriterioPriorizacionId = 1; obra.POADetalle = poadetalle; context.Obras.Add(obra); context.SaveChanges(); CrearTriggers(context); }
public void BindControles(POADetalle poadetalle) { txtNumero.Value = poadetalle.Numero; txtDescripcion.Value = poadetalle.Descripcion; cddlMunicipio.SelectedValue = poadetalle.MunicipioId.ToString(); cddlLocalidad.SelectedValue = poadetalle.LocalidadId.ToString(); if (poadetalle.AperturaProgramaticaUnidadId != null) { ddlUnidadMedida.SelectedValue = poadetalle.AperturaProgramaticaUnidadId.ToString(); } ddlCriterioPriorizacion.SelectedValue = poadetalle.CriterioPriorizacionId.ToString(); txtNombreConvenio.Value = poadetalle.Convenio; cddlPrograma.SelectedValue = poadetalle.AperturaProgramatica.Parent.ParentId.ToString(); cddlSubprograma.SelectedValue = poadetalle.AperturaProgramatica.ParentId.ToString(); cddlSubsubprograma.SelectedValue = poadetalle.AperturaProgramaticaId.ToString(); cddlMeta.SelectedValue = poadetalle.AperturaProgramaticaMetaId.ToString(); txtNumeroBeneficiarios.Value = poadetalle.NumeroBeneficiarios.ToString(); txtCantidadUnidades.Value = poadetalle.CantidadUnidades.ToString(); txtEmpleos.Value = poadetalle.Empleos.ToString(); txtJornales.Value = poadetalle.Jornales.ToString(); ddlSituacionObra.SelectedValue = poadetalle.SituacionObraId.ToString(); ddlModalidad.SelectedIndex = 0; if (poadetalle.ModalidadObra != null) { ddlModalidad.SelectedValue = ((int)poadetalle.ModalidadObra).ToString(); } txtNumeroAnterior.Value = poadetalle.NumeroAnterior; txtImporteLiberadoEjerciciosAnteriores.Value = poadetalle.ImporteLiberadoEjerciciosAnteriores.ToString(); txtImporteTotal.Value = poadetalle.ImporteTotal.ToString(); txtObservaciones.Value = poadetalle.Observaciones; if (poadetalle.FuncionalidadId != null) { cddlFuncionalidadNivel1.SelectedValue = poadetalle.Funcionalidad.Parent.ParentId.ToString(); cddlFuncionalidadNivel2.SelectedValue = poadetalle.Funcionalidad.ParentId.ToString(); cddlFuncionalidadNivel3.SelectedValue = poadetalle.FuncionalidadId.ToString(); } if (poadetalle.EjeId != null) { ddlEje.SelectedValue = poadetalle.EjeId.ToString(); } if (poadetalle.ModalidadId != null) { cddlModalidadAgrupador.SelectedValue = poadetalle.Modalidad.ParentId.ToString(); cddlModalidadElemento.SelectedValue = poadetalle.ModalidadId.ToString(); } if (poadetalle.PlanSectorialId != null) { ddlPlanSectorial.SelectedValue = poadetalle.PlanSectorialId.ToString(); } if (poadetalle.ProgramaId != null) { ddlProgramaPresupuesto.SelectedValue = poadetalle.ProgramaId.ToString(); } if (poadetalle.GrupoBeneficiarioId != null) { ddlGrupoBeneficiario.SelectedValue = poadetalle.GrupoBeneficiarioId.ToString(); } }
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; } }
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; } }