예제 #1
0
    public static string AgregarGenerador(Dictionary <string, object> pClaseGenerador)
    {
        CConexion ConexionBaseDatos = new CConexion();
        string    respuesta         = ConexionBaseDatos.ConectarBaseDatosSqlServer();

        CClaseGenerador ClaseGenerador = new CClaseGenerador();

        ClaseGenerador.IdClaseGenerador = Convert.ToInt32(pClaseGenerador["IdClaseGenerador"]);
        ClaseGenerador.Clase            = Convert.ToString(pClaseGenerador["Clase"]);
        ClaseGenerador.Bloqueo          = Convert.ToBoolean(pClaseGenerador["Bloqueo"]);
        ClaseGenerador.ManejaBaja       = Convert.ToBoolean(pClaseGenerador["ManejaBaja"]);
        ClaseGenerador.Abreviatura      = Convert.ToString(pClaseGenerador["Abreviatura"]);

        List <CClaseAtributo> Atributos = new List <CClaseAtributo>();

        foreach (Dictionary <string, object> OAtributo in (Array)pClaseGenerador["Atributos"])
        {
            CClaseAtributo CClaseAtributo = new CClaseAtributo();
            CClaseAtributo.Atributo         = Convert.ToString(OAtributo["Atributo"]);
            CClaseAtributo.TipoAtributo     = Convert.ToString(OAtributo["TipoAtributo"]);
            CClaseAtributo.LlavePrimaria    = Convert.ToString(OAtributo["LlavePrimaria"]).ToLower().Trim();
            CClaseAtributo.Identidad        = Convert.ToString(OAtributo["Identidad"]).ToLower().Trim();
            CClaseAtributo.Longitud         = Convert.ToString(OAtributo["Longitud"]);
            CClaseAtributo.Decimales        = Convert.ToString(OAtributo["NumeroDecimales"]);
            CClaseAtributo.IdClaseGenerador = ClaseGenerador.IdClaseGenerador;
            Atributos.Add(CClaseAtributo);
        }

        string  validacion = ValidaClaseGenerador(ClaseGenerador, Atributos, ConexionBaseDatos);
        JObject o          = new JObject();

        o.Add(new JProperty("Error", 0));
        if (validacion == "")
        {
            JObject Modelo = new JObject();
            Modelo.Add(new JProperty("IdClaseGenerador", ClaseGenerador.IdClaseGenerador));

            ClaseGenerador.CrearTabla(ClaseGenerador, Atributos, ConexionBaseDatos);
            ClaseGenerador.CrearStoredProcedures(ClaseGenerador, Atributos, ConexionBaseDatos);
            ClaseGenerador.CrearClase(ClaseGenerador, Atributos, ConexionBaseDatos);
            ClaseGenerador.CrearClaseConfigurable(ClaseGenerador, ConexionBaseDatos);
            ClaseGenerador.Agregar(ConexionBaseDatos);

            foreach (CClaseAtributo OAtributo in Atributos)
            {
                OAtributo.IdClaseGenerador = ClaseGenerador.IdClaseGenerador;
                OAtributo.Agregar(ConexionBaseDatos);
            }

            o.Add(new JProperty("Modelo", Modelo));
        }
        else
        {
            o["Error"] = 1;
            o.Add(new JProperty("Descripcion", validacion));
        }
        ConexionBaseDatos.CerrarBaseDatosSqlServer();
        return(o.ToString());
    }
예제 #2
0
    public static string ObtenerClaseGenerador(int pIdClaseGenerador)
    {
        CConexion ConexionBaseDatos           = new CConexion();
        string    respuesta                   = ConexionBaseDatos.ConectarBaseDatosSqlServer();
        bool      puedeEditarClasesBloqueadas = false;
        JObject   o         = new JObject();
        JObject   oPermisos = new JObject();
        CUsuario  Usuario   = new CUsuario();

        if (Usuario.TienePermisos(new string[] { "puedeEditarClasesBloquedas" }, ConexionBaseDatos) == "")
        {
            puedeEditarClasesBloqueadas = true;
        }
        oPermisos.Add("PuedeEditarClasesBloqueadas", puedeEditarClasesBloqueadas);

        if (respuesta == "Conexion Establecida")
        {
            JObject         Modelo         = new JObject();
            CClaseGenerador ClaseGenerador = new CClaseGenerador();
            ClaseGenerador.LlenaObjeto(pIdClaseGenerador, ConexionBaseDatos);
            Modelo.Add(new JProperty("IdClaseGenerador", ClaseGenerador.IdClaseGenerador));
            Modelo.Add(new JProperty("Clase", ClaseGenerador.Clase));
            Modelo.Add(new JProperty("Bloqueo", ClaseGenerador.Bloqueo));
            Modelo.Add(new JProperty("ManejaBaja", ClaseGenerador.ManejaBaja));
            Modelo.Add(new JProperty("Abreviatura", ClaseGenerador.Abreviatura));

            JArray         Atributos     = new JArray();
            CClaseAtributo ClaseAtributo = new CClaseAtributo();
            ClaseAtributo.IdClaseGenerador = ClaseGenerador.IdClaseGenerador;
            foreach (CClaseAtributo OCA in ClaseAtributo.LlenaObjetos_FiltroIdClaseGenerador(ClaseGenerador.IdClaseGenerador, ConexionBaseDatos))
            {
                JObject Atributo = new JObject();
                Atributo.Add(new JProperty("IdClaseAtributo", OCA.IdClaseAtributo));
                Atributo.Add(new JProperty("Atributo", OCA.Atributo));
                Atributo.Add(new JProperty("TipoAtributo", OCA.TipoAtributo));
                Atributo.Add(new JProperty("Longitud", OCA.Longitud));
                Atributo.Add(new JProperty("Decimales", OCA.Decimales));
                Atributo.Add(new JProperty("LlavePrimaria", OCA.LlavePrimaria));
                Atributo.Add(new JProperty("Identidad", OCA.Identidad));
                Atributos.Add(Atributo);
            }
            Modelo.Add(new JProperty("Atributos", Atributos));
            Modelo.Add(new JProperty("Permisos", oPermisos));
            o.Add(new JProperty("Error", 0));
            o.Add(new JProperty("Modelo", Modelo));
            ConexionBaseDatos.CerrarBaseDatosSqlServer();
        }
        else
        {
            o.Add(new JProperty("Error", 1));
            o.Add(new JProperty("Descripcion", "Esto fue un error"));
        }
        ConexionBaseDatos.CerrarBaseDatosSqlServer();
        return(o.ToString());
    }
예제 #3
0
    public static string EditarGenerador(Dictionary <string, object> pClaseGenerador)
    {
        CConexion       ConexionBaseDatos = new CConexion();
        string          respuesta         = ConexionBaseDatos.ConectarBaseDatosSqlServer();
        CClaseGenerador ClaseGenerador    = new CClaseGenerador();

        ClaseGenerador.IdClaseGenerador = Convert.ToInt32(pClaseGenerador["IdClaseGenerador"]);
        ClaseGenerador.Clase            = Convert.ToString(pClaseGenerador["Clase"]);
        ClaseGenerador.Bloqueo          = Convert.ToBoolean(pClaseGenerador["Bloqueo"]);
        ClaseGenerador.ManejaBaja       = Convert.ToBoolean(pClaseGenerador["ManejaBaja"]);
        ClaseGenerador.Abreviatura      = Convert.ToString(pClaseGenerador["Abreviatura"]);
        List <CClaseAtributo> Atributos = new List <CClaseAtributo>();

        foreach (Dictionary <string, object> OAtributo in (Array)pClaseGenerador["Atributos"])
        {
            CClaseAtributo CClaseAtributo = new CClaseAtributo();
            CClaseAtributo.IdClaseAtributo  = Convert.ToInt32(OAtributo["IdClaseAtributo"]);
            CClaseAtributo.Atributo         = Convert.ToString(OAtributo["Atributo"]);
            CClaseAtributo.TipoAtributo     = Convert.ToString(OAtributo["TipoAtributo"]);
            CClaseAtributo.LlavePrimaria    = Convert.ToString(OAtributo["LlavePrimaria"]).ToLower().Trim();
            CClaseAtributo.Identidad        = Convert.ToString(OAtributo["Identidad"]).ToLower().Trim();
            CClaseAtributo.Longitud         = Convert.ToString(OAtributo["Longitud"]);
            CClaseAtributo.Decimales        = Convert.ToString(OAtributo["NumeroDecimales"]);
            CClaseAtributo.IdClaseGenerador = ClaseGenerador.IdClaseGenerador;
            Atributos.Add(CClaseAtributo);
        }

        string  validacion = ValidaClaseGenerador(ClaseGenerador, Atributos, ConexionBaseDatos);
        JObject o          = new JObject();

        o.Add(new JProperty("Error", 0));
        if (validacion == "")
        {
            JObject Modelo = new JObject();
            Modelo.Add(new JProperty("IdClaseGenerador", ClaseGenerador.IdClaseGenerador));
            ClaseGenerador.EditarTabla(ClaseGenerador, Atributos, Convert.ToString(pClaseGenerador["ClaseAnterior"]), ConexionBaseDatos);
            ClaseGenerador.EliminarStoredProcedures(ClaseGenerador, ConexionBaseDatos);

            if (ClaseGenerador.CrearStoredProcedures(ClaseGenerador, Atributos, ConexionBaseDatos) == "")
            {
                o["Error"] = 1;
                o.Add(new JProperty("Descripcion", "<span>*</span> Ocurrio un error al editar los stored procedures."));
            }

            if ((int)o["Error"] == 0)
            {
                ClaseGenerador.CrearClase(ClaseGenerador, Atributos, ConexionBaseDatos);
            }

            ClaseGenerador.Editar(ConexionBaseDatos);
            CClaseAtributo        ObtenerAtributos  = new CClaseAtributo();
            List <CClaseAtributo> AtributosActuales = new List <CClaseAtributo>();

            foreach (CClaseAtributo Atributo in ObtenerAtributos.LlenaObjetos_FiltroIdClaseGenerador(ClaseGenerador.IdClaseGenerador, ConexionBaseDatos))
            {
                AtributosActuales.Add(Atributo);
            }

            foreach (CClaseAtributo AtributoActual in AtributosActuales)
            {
                bool eliminar = true;
                foreach (CClaseAtributo Atributo in Atributos)
                {
                    if (AtributoActual.IdClaseAtributo == Atributo.IdClaseAtributo)
                    {
                        eliminar = false;
                    }

                    if (eliminar == false)
                    {
                        break;
                    }
                }

                if (eliminar == true)
                {
                    AtributoActual.Eliminar(ConexionBaseDatos);
                }
            }

            ClaseGenerador.Editar(ConexionBaseDatos);
            foreach (CClaseAtributo Atributo in Atributos)
            {
                if (Atributo.IdClaseAtributo == 0)
                {
                    Atributo.Agregar(ConexionBaseDatos);
                }
                else
                {
                    Atributo.Editar(ConexionBaseDatos);
                }
            }

            o.Add(new JProperty("Modelo", Modelo));
            ConexionBaseDatos.CerrarBaseDatosSqlServer();
        }
        else
        {
            o.Add(new JProperty("Error", 1));
            o.Add(new JProperty("Descripcion", validacion));
        }
        ConexionBaseDatos.CerrarBaseDatosSqlServer();
        return(o.ToString());
    }