예제 #1
0
        private void BindControles(TreeNode node)
        {
            AperturaProgramatica obj = null;


            if (node != null)
            {
                obj = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(node.Value));

                txtClave.Text               = obj.Clave;
                txtNombre.Text              = obj.Nombre;
                txtOrden.Value              = obj.Orden.ToString();
                _IdApertura.Value           = obj.Id.ToString();
                _rutaNodoSeleccionado.Value = node.ValuePath;
                _Nivel.Value = obj.Nivel.ToString();
                treeApertura.FindNode(node.ValuePath).Select();
            }
            else
            {
                txtClave.Text               = string.Empty;
                txtNombre.Text              = string.Empty;
                txtOrden.Value              = string.Empty;
                _IdApertura.Value           = string.Empty;
                _rutaNodoSeleccionado.Value = string.Empty;
                _Nivel.Value = "0";
            }
        }
예제 #2
0
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            if (_ElId.Value == "")
            {
                txtClave.Text  = "";
                txtNombre.Text = "";
                return;
            }

            AperturaProgramatica obj = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(_ElId.Value));

            if (obj != null)
            {
                txtClave.Text  = obj.Clave;
                txtNombre.Text = obj.Nombre;

                //Se busca el nodo del arbol de fondos para colocarlo como seleccionado
                treeMain.FindNode(_rutaNodoSeleccionado.Value).Select();
            }

            divArbol.Style.Add("display", "block");
            divcaptura.Style.Add("display", "none");
            divMetas.Style.Add("display", "block");

            divMsg.Style.Add("display", "none");
            divMsgSuccess.Style.Add("display", "none");
        }
예제 #3
0
        protected void btnDel_Click(object sender, EventArgs e)
        {
            string msg = "Se ha eliminado correctamente";

            int id = Utilerias.StrToInt(_IdApertura.Value);

            AperturaProgramatica obj = uow.AperturaProgramaticaBusinessLogic.GetByID(id);

            //Se elimina el objeto
            uow.AperturaProgramaticaBusinessLogic.Delete(obj);
            uow.SaveChanges();

            if (uow.Errors.Count > 0) //Si hubo errores
            {
                msg = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    msg += cad;
                }

                lblMensajes.Text      = msg;
                lblMensajes.ForeColor = System.Drawing.Color.Red;

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

                return;
            }

            lblMensajes.Text      = msg;
            lblMensajes.ForeColor = System.Drawing.Color.Black;

            //Se vuelve a RECONSTRUIR el ARBOL
            CargarArbol();

            //Se bindea el primer fondo, si existe
            if (treeApertura.Nodes.Count > 0)
            {
                BindControles(treeApertura.Nodes[0]);
            }
            else
            {
                BindControles(null);
                ClientScript.RegisterStartupScript(this.GetType(), "script", "fnc_CargaInicial()", true);
            }


            divmsg.Style.Add("display", "block");
        }
예제 #4
0
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            //Se vuelven a colocar los valores y a bloquear los controles

            int idAperturaActual     = Utilerias.StrToInt(_IdApertura.Value);
            AperturaProgramatica obj = uow.AperturaProgramaticaBusinessLogic.GetByID(idAperturaActual);

            if (obj != null)
            {
                txtClave.Text  = obj.Clave;
                txtNombre.Text = obj.Nombre;
                txtOrden.Value = obj.Orden.ToString();

                //Se busca el nodo del arbol de fondos para colocarlo como seleccionado
                treeApertura.FindNode(_rutaNodoSeleccionado.Value).Select();
            }
        }
예제 #5
0
        private void BindControles(TreeNode node)
        {
            AperturaProgramatica obj = null;

            if (node != null)
            {
                obj = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(node.Value));

                txtClave.Text  = obj.Clave;
                txtNombre.Text = obj.Nombre;

                _ElId.Value  = obj.Id.ToString();
                _Nivel.Value = obj.Nivel.ToString();
                _rutaNodoSeleccionado.Value = node.ValuePath;

                treeMain.FindNode(node.ValuePath).Select();

                List <AperturaProgramaticaMeta> listaMetas = uow.AperturaProgramaticaMetaBusinessLogic.Get(p => p.AperturaProgramaticaId == obj.Id).ToList();

                if (listaMetas.Count > 0)
                {
                    BindGrid();
                    btnMetaGuardar.Style.Add("display", "block");
                    btnMetaUpdate.Style.Add("display", "none");
                    btnMetaCancelarCambios.Style.Add("display", "none");
                }
            }
            else
            {
                txtClave.Text  = string.Empty;
                txtNombre.Text = string.Empty;

                _ElId.Value  = string.Empty;
                _Nivel.Value = string.Empty;
                _rutaNodoSeleccionado.Value = string.Empty;
            }


            divMsg.Style.Add("display", "none");
            divMsgSuccess.Style.Add("display", "none");
        }
예제 #6
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            AperturaProgramatica obj;
            AperturaProgramatica objOrigen;

            List <AperturaProgramatica> lista;
            String mensaje = "";
            int    orden;

            if (_Accion.Value == "Nuevo")
            {
                obj = new AperturaProgramatica();
            }
            else
            {
                obj = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(_ElId.Value));
            }


            obj.EjercicioId = int.Parse(Session["EjercicioId"].ToString());
            obj.Clave       = txtClave.Text;
            obj.Nombre      = txtNombre.Text;

            //obj.EsObraOAccion = enumObraAccion.Obra;

            lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == null).ToList();


            if (_ElId.Value == "")
            {
                obj.ParentId = null;
                obj.Nivel    = 1;
                obj.Orden    = 1;
            }
            else
            {
                if (_Accion.Value == "Nuevo")
                {
                    objOrigen = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(_ElId.Value));

                    if (objOrigen.ParentId == null)
                    {     //estoy en la primera rama
                        if (_Tipo.Value == "Grupo")
                        { //agregando un registro del mismo nivel
                            obj.ParentId = null;
                            obj.Nivel    = 1;

                            lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == null).ToList();
                        }
                        else
                        {//agregando un subnivel
                            obj.ParentId = objOrigen.Id;
                            obj.Nivel    = 2;

                            lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == objOrigen.Id).ToList();
                        }
                    }
                    else
                    {     // estoy en una segunda o tercera rama
                        if (_Tipo.Value == "Grupo")
                        { //agregando un registro del mismo nivel
                            obj.ParentId = objOrigen.ParentId;
                            obj.Nivel    = objOrigen.Nivel;

                            lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == objOrigen.ParentId).ToList();
                        }
                        else
                        {//agregando un subnivel
                            if (_Nivel.Value == "2")
                            {
                                obj.ParentId = objOrigen.Id;
                                obj.Nivel    = 3;

                                lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == objOrigen.Id).ToList();
                            }

                            if (_Nivel.Value == "3")
                            {
                                obj.ParentId = objOrigen.ParentId;
                                obj.Nivel    = 3;

                                lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == objOrigen.ParentId).ToList();
                            }
                        }
                    }

                    if (lista.Count == 0)
                    {
                        orden = 0;
                    }
                    else
                    {
                        orden = lista.Max(p => p.Orden);
                    }


                    orden++;
                    obj.Orden = orden;
                } //es nuevo
            }     //elId



            //validaciones
            uow.Errors.Clear();

            if (_Accion.Value == "Nuevo")
            {
                lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.Clave == obj.Clave).ToList();
                if (lista.Count > 0)
                {
                    uow.Errors.Add("La Clave que capturo ya ha sido registrada anteriormente, verifique su información");
                }

                lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.Nombre == obj.Nombre).ToList();
                if (lista.Count > 0)
                {
                    uow.Errors.Add("La Descripción que capturo ya ha sido registrada anteriormente, verifique su información");
                }

                uow.AperturaProgramaticaBusinessLogic.Insert(obj);
                mensaje = "El registro se ha  almacenado correctamente";
            }
            else
            { //update
                int xid;

                xid = int.Parse(_ElId.Value);

                lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.Id != xid && p.Clave == obj.Clave).ToList();
                if (lista.Count > 0)
                {
                    uow.Errors.Add("La Clave que capturo ya ha sido registrada anteriormente, verifique su información");
                }



                lista = uow.AperturaProgramaticaBusinessLogic.Get(p => p.Id != xid && p.Nombre == obj.Nombre).ToList();
                if (lista.Count > 0)
                {
                    uow.Errors.Add("La Descripción que capturo ya ha sido registrada anteriormente, verifique su información");
                }


                uow.AperturaProgramaticaBusinessLogic.Update(obj);
                mensaje = "Los cambios se registraron satisfactoriamente";
            }


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


            if (uow.Errors.Count == 0)//Integrando el nuevo nodo en el arbol
            {
                TreeNode node = null;
                switch (_Accion.Value)
                {
                case "Nuevo":


                    if (_ElId.Value == "")
                    {
                        node       = new TreeNode();
                        node.Value = obj.Id.ToString();
                        node.Text  = obj.Clave + " " + obj.Nombre;
                        treeMain.Nodes.Add(node);
                    }
                    else
                    {
                        objOrigen = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(_ElId.Value));

                        node       = new TreeNode();
                        node.Value = obj.Id.ToString();
                        node.Text  = obj.Clave + " " + obj.Nombre;

                        if (_Tipo.Value == "Grupo")    //registro
                        {
                            if (objOrigen.Nivel == 1)
                            {
                                treeMain.Nodes.Add(node);
                            }
                            else
                            {
                                treeMain.SelectedNode.Parent.ChildNodes.Add(node);
                            }
                        }
                        else                         //Subnivel
                        {
                            if (objOrigen.Nivel < 3) //nivel 1 y 2
                            {
                                treeMain.SelectedNode.ChildNodes.Add(node);
                            }
                            else    //nivel 3
                            {
                                treeMain.SelectedNode.Parent.ChildNodes.Add(node);
                            }
                        }
                    }    //elIde


                    BindControles(node);



                    break;

                case "Modificar":
                    node = treeMain.FindNode(_rutaNodoSeleccionado.Value);

                    node.Value = obj.Id.ToString();
                    node.Text  = obj.Clave + " " + obj.Nombre;
                    BindControles(node);

                    break;
                }

                //Se ocultan los botones de GUARDAR Y CANCELAR del menu y Normalizar pantallas de datos y captura
                divcaptura.Style.Add("display", "none");
                divMetas.Style.Add("display", "block");
                divArbol.Style.Add("display", "block");

                btnMenuCancelar.Style.Add("display", "none");
                btnMenuGuardar.Style.Add("display", "none");


                //Se habiltan las opciones del menu contextual
                addp.Enabled  = true;
                addsp.Enabled = true;
                edit.Enabled  = true;

                //Se habilita el arbol
                treeMain.Enabled = true;


                //Mensaje de Se actualizo correctamente
                lblMensajeSuccess.Text = mensaje;
                divMsg.Style.Add("display", "none");
                divMsgSuccess.Style.Add("display", "block");
            }
            else
            {
                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajes.Text = mensaje;
                divMsg.Style.Add("display", "block");
                divMsgSuccess.Style.Add("display", "none");

                divArbol.Style.Add("display", "none");
                divcaptura.Style.Add("display", "block");
                divMetas.Style.Add("display", "none");

                SpanModificar.Style.Add("display", "none");
                SpanGrupo.Style.Add("display", "none");
                SpanFondo.Style.Add("display", "none");

                if (_Accion.Value == "Nuevo")
                {
                    if (_Tipo.Value == "Grupo")
                    {
                        SpanGrupo.Style.Add("display", "block");
                    }
                    else
                    {
                        SpanFondo.Style.Add("display", "block");
                    }
                }
                else
                {
                    SpanModificar.Style.Add("display", "block");
                }
            }
        }
예제 #7
0
        protected void btnDel_Click(object sender, EventArgs e)
        {
            if (_ElId.Value == "")
            {
                return;
            }
            AperturaProgramatica obj = uow.AperturaProgramaticaBusinessLogic.GetByID(int.Parse(_ElId.Value));



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

            lista = uow.POADetalleBusinessLogic.Get(p => p.AperturaProgramaticaId == obj.Id).ToList();

            List <Obra> listaObra;

            listaObra = uow.ObraBusinessLogic.Get(p => p.AperturaProgramaticaId == obj.Id).ToList();

            List <AperturaProgramatica> listaParent;

            listaParent = uow.AperturaProgramaticaBusinessLogic.Get(p => p.ParentId == obj.Id).ToList();


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

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

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

            //Se elimina el objeto
            if (uow.Errors.Count == 0)
            {
                uow.AperturaProgramaticaBusinessLogic.Delete(obj);
                uow.SaveChanges();
            }



            if (uow.Errors.Count == 0)
            {
                //Se vuelve a RECONSTRUIR el ARBOL
                CargarArbol();

                //Se bindea el primer fondo, si existe
                if (treeMain.Nodes.Count > 0)
                {
                    BindControles(treeMain.Nodes[0]);
                }
                else
                {
                    BindControles(null);
                    ClientScript.RegisterStartupScript(this.GetType(), "script", "fnc_CargaInicial()", true);
                }

                lblMensajeSuccess.Text = "El registro se ha eliminado correctamente";
                divMsg.Style.Add("display", "none");
                divMsgSuccess.Style.Add("display", "block");
            }

            else
            {
                string mensaje;

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

                lblMensajes.Text = mensaje;
                divMsg.Style.Add("display", "block");
                divMsgSuccess.Style.Add("display", "none");
            }
        }
예제 #8
0
        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);
        }
예제 #9
0
        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.Ejercicios.AddOrUpdate(

                new Ejercicio {
                Id = 1, Año = 2009
            },
                new Ejercicio {
                Id = 2, Año = 2010
            },
                new Ejercicio {
                Id = 3, Año = 2011
            },
                new Ejercicio {
                Id = 4, Año = 2012
            },
                new Ejercicio {
                Id = 5, Año = 2013
            },
                new Ejercicio {
                Id = 6, Año = 2014
            },
                new Ejercicio {
                Id = 7, Año = 2015
            },
                new Ejercicio {
                Id = 8, Año = 2016
            }
                );

            context.UnidadesPresupuestales.AddOrUpdate(

                new UnidadPresupuestal {
                Id = 1, Clave = "UP100", Abreviatura = "SEDARPA", Nombre = "Secretaria de Desarrollo Agropecuario, Rural y Pesca", Orden = 1
            },
                new UnidadPresupuestal {
                Id = 2, Clave = "UP200", Abreviatura = "IIEV", Nombre = "Instituto de Espacios Educativos", Orden = 2
            },
                new UnidadPresupuestal {
                Id = 3, Clave = "UP300", Abreviatura = "COBAEV", Nombre = "Colegio de Bachilleres del Estado de Veracruz", Orden = 3
            }

                );

            UnidadPresupuestal sedarpa = context.UnidadesPresupuestales.Local.FirstOrDefault(u => u.Clave == "UP100");

            sedarpa.DetalleSubUnidadesPresupuestales.Add(new UnidadPresupuestal {
                Id = 4, Clave = "UP101", Abreviatura = "CODEPAP", Nombre = "Consejo de desarrollo del Papaloapan", Orden = 1
            });
            sedarpa.DetalleSubUnidadesPresupuestales.Add(new UnidadPresupuestal {
                Id = 5, Clave = "UP102", Abreviatura = "INVERBIO", Nombre = "Instituto Veracruzano de Bioenergéticos", Orden = 2
            });


            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 = 1, Clave = "TL002", Nombre = "Poblado rural", Orden = 2
            },
                new TipoLocalidad {
                Id = 1, Clave = "TL003", Nombre = "Colonia popular", Orden = 3
            },
                new TipoLocalidad {
                Id = 1, 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 = "Equipo", Orden = 6
            }

                );

            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
            },
                new AperturaProgramatica {
                Id = 2, Clave = "SD", Nombre = "Agua y saneamiento (Drenaje)", Orden = 2, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 3, Clave = "SE", Nombre = "Urbanización municipal", Orden = 3, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 4, Clave = "SG", Nombre = "Electrificación", Orden = 4, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 5, Clave = "SO", Nombre = "Salud", Orden = 5, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 6, Clave = "SJ", Nombre = "Educación", Orden = 6, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 7, Clave = "SH", Nombre = "Vivienda", Orden = 7, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 8, Clave = "UB", Nombre = "Caminos rurales", Orden = 8, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 9, Clave = "IR", Nombre = "Infraestructura productiva rural", Orden = 9, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 10, Clave = "UM", Nombre = "Equipamiento urbano", Orden = 10, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 11, Clave = "PE", Nombre = "Protección y preservación ecológica", Orden = 11, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 12, Clave = "BE", Nombre = "Bienes muebles", Orden = 12, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 13, Clave = "BI", Nombre = "Bienes inmuebles", Orden = 13, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 14, Clave = "PM", Nombre = "Planeación municipal", Orden = 14, EjercicioId = 6
            },
                new AperturaProgramatica {
                Id = 15, Clave = "SB", Nombre = "Estímulos a la educación", Orden = 15, EjercicioId = 6
            }
                );

            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
            });
            sc.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 17, Clave = "02", Nombre = "Ampliación", Orden = 2, EjercicioId = 6
            });
            sc.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 18, Clave = "03", Nombre = "Construcción", Orden = 3, EjercicioId = 6
            });
            sc.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 19, Clave = "04", Nombre = "Mantenimiento", Orden = 4, EjercicioId = 6
            });
            sc.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 20, Clave = "05", Nombre = "Equipamiento", Orden = 5, EjercicioId = 6
            });
            sc.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 21, Clave = "06", Nombre = "Sustitución", Orden = 6, EjercicioId = 6
            });

            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
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 23, Clave = "b", Nombre = "Pozo profundo de agua potable", Orden = 2, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 24, Clave = "c", Nombre = "Deposito o tanque de agua potable", Orden = 3, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 25, Clave = "d", Nombre = "Linea de conducción", Orden = 4, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 26, Clave = "e", Nombre = "Red de agua potable", Orden = 5, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 27, Clave = "f", Nombre = "Sistema integral de agua potable", Orden = 6, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 28, Clave = "g", Nombre = "Carcamo", Orden = 7, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 29, Clave = "h", Nombre = "Norias", Orden = 8, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 30, Clave = "i", Nombre = "Pozo artesiano", Orden = 9, EjercicioId = 6
            });
            sc_rehabilitacion.DetalleSubElementos.Add(new AperturaProgramatica {
                Id = 31, Clave = "j", Nombre = "Olla de captación de agua pluvial", Orden = 10, EjercicioId = 6
            });

            AperturaProgramatica sc_rehabilitacion_plantapotabilizadora = context.AperturaProgramatica.Local.FirstOrDefault(ap => ap.Id == 22);

            sc_rehabilitacion_plantapotabilizadora.DetalleMetas.Add(new AperturaProgramaticaMeta {
                AperturaProgramaticaUnidadId = 1, AperturaProgramaticaBeneficiarioId = 1
            });

            context.SaveChanges();
        }
예제 #10
0
        protected void btnguardar_Click(object sender, EventArgs e)
        {
            string estado       = _Accion.Value;
            string agregarPadre = _Padre.Value;

            AperturaProgramatica obj  = null;
            AperturaProgramatica obj2 = new AperturaProgramatica();

            TreeNode node = null;
            string   msg  = "Se ha guardado correctamente";

            int idApertura = Utilerias.StrToInt(_IdApertura.Value);


            obj2 = uow.AperturaProgramaticaBusinessLogic.GetByID(idApertura);


            List <AperturaProgramatica> lista = new List <AperturaProgramatica>();

            lista = uow.AperturaProgramaticaBusinessLogic.Get().Where(p => p.ParentId == obj2.ParentId && p.Clave == txtClave.Text).ToList();

            if (lista.Count > 0)
            {
                lblMensajes.Text      = "Esa clave ya ha sido asignada anteriormente";
                lblMensajes.ForeColor = System.Drawing.Color.Red;

                divmsg.Style.Add("display", "block");
                return;
            }



            if (estado.Equals("N"))
            {
                obj = new AperturaProgramatica();
            }
            else
            {
                msg = "Se ha actualizado correctamente";
                obj = uow.AperturaProgramaticaBusinessLogic.GetByID(idApertura);
            }

            obj.Clave  = txtClave.Text;
            obj.Nombre = txtNombre.Text;
            obj.Orden  = Utilerias.StrToInt(txtOrden.Value);

            int nivel;

            nivel = int.Parse(_Nivel.Value);



            switch (estado)
            {
            case "N":      //Se esta agregando un nuevo registro
                //Agregar campos de bitacora

                if (agregarPadre.Equals("S"))
                {
                    node = new TreeNode();     //Si estan agregando un nuevo Plantilla PADRE, se crea un nuevo nodo PADRE
                }
                else
                {
                    node = treeApertura.FindNode(_rutaNodoSeleccionado.Value);     //Si se esta agregando un SUBPLANTILLA, se recupera el nodo padre
                    nivel++;
                }

                if (idApertura != null)
                {
                    if (agregarPadre.Equals("S"))
                    {
                        obj.ParentId = obj2.ParentId;
                    }
                    else
                    {
                        obj.ParentId = idApertura;
                    }
                }


                obj.Nivel       = nivel;
                obj.EjercicioId = 6;

                uow.AperturaProgramaticaBusinessLogic.Insert(obj);     //Se guarda el nuevo objeto creado

                break;

            case "A":     //Se esta actualizando un registro
                //Agregar campos de bitacora

                uow.AperturaProgramaticaBusinessLogic.Update(obj);         //Se actualiza el objeto

                node = treeApertura.FindNode(_rutaNodoSeleccionado.Value); //Si se esta actualizando, se recupera el nodo

                break;
            }

            uow.SaveChanges();

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

                lblMensajes.Text      = msg;
                lblMensajes.ForeColor = System.Drawing.Color.Red;

                //lblMensajes.Attributes.Add("class", "alert alert-danger");
                divmsg.Style.Add("display", "block");
                return;
            }



            //Se agrega el NODO, ya sea direcatamente al ARBOL o a un NODO PADRE, si se agrego uno nuevo
            switch (estado)
            {
            case "N":                         //SE ESTA AGREGANDO UN NUEVA PLANTILLA

                if (agregarPadre.Equals("S")) //SE ESTA AGREGANDO UNA PLANTILLA PADRE
                {
                    if (obj.ParentId == null)
                    {
                        //Se colocan los valores al nodo recien creado como padre, y se agrega direcatamente en la raiz del arbol
                        node.Value = obj.Id.ToString();
                        node.Text  = obj.Clave + " " + obj.Nombre;
                        treeApertura.Nodes.Add(node);
                    }
                    else
                    {
                        //Se colocan los valores al nodo recien creado como padre, y se agrega direcatamente en la raiz del arbol
                        node.Value = obj.Id.ToString();
                        node.Text  = obj.Clave + " " + obj.Nombre;
                        treeApertura.SelectedNode.Parent.ChildNodes.Add(node);
                    }



                    //Se bindean los datos con el nuevo NODO agregado
                    BindControles(node);
                }
                else      //SE ESTA AGREGANDO UNA PLANTILLA HIJO
                {
                    //Se crea un nodo hijo y se agrega al NODO PADRE
                    TreeNode nodeChild = new TreeNode();
                    nodeChild.Value = obj.Id.ToString();
                    nodeChild.Text  = obj.Clave + " " + obj.Nombre;
                    node.ChildNodes.Add(nodeChild);

                    //Se bindean los datos con el nuevo NODO HIJO agregado
                    BindControles(nodeChild);
                }

                break;

            case "A":      //SE ESTA ACTUALIZANDO UN FONDO
                //Se bindean los datos con el nodo recuperado y con los datos recien actualizados
                node.Value = obj.Id.ToString();
                node.Text  = obj.Nombre;
                BindControles(node);
                break;
            }

            lblMensajes.Text      = msg;
            lblMensajes.ForeColor = System.Drawing.Color.Black;

            //Se ocultan los botones de GUARDAR Y CANCELAR
            divguardar.Style.Add("display", "none");
            btnCancelar.Style.Add("display", "none"); //Se oculta opcion del menu contextual
            btnGuardar2.Style.Add("display", "none"); //Se oculta opcion del menu contextual
            divmsg.Style.Add("display", "block");

            //Se habiltan las opciones del menu contextual

            addp.Enabled  = true;
            addsp.Enabled = true;

            edit.Enabled = true;

            //Se habilita el arbol
            treeApertura.Enabled = true;
        }