Exemplo n.º 1
0
        public MainWindow()
        {
            InitializeComponent();
            String cadenaConexion = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.81)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xe)));User Id=ERPZMX_REF;Password=ERPZMX_REF;";

            ManejadorInstanciasBD.ZMX_Usuario = "*****@*****.**";
            ManejadorInstanciasBD.ZMX_SetClienteConexion(ClienteConfig.ClientesBD.Oracle, new OracleMapeoInsert(), new OracleMapeoSelect(), new OracleMapeoUpdate(), cadenaConexion);
        }
Exemplo n.º 2
0
        public T Carga <T>(Expression <Func <T> > expr, ManejadorInstanciasBD mibd, Dictionary <String, Object> parametros = null) where T : CLASE_BASE
        {
            var mexpr = expr.Body as MemberExpression;

            if (mexpr == null)
            {
                return(default(T));
            }
            if (mexpr.Member == null)
            {
                return(default(T));
            }
            object[] attrs = mexpr.Member.GetCustomAttributes(typeof(ANP_QueryPropiedad), true);
            if (attrs == null || attrs.Length == 0)
            {
                return(default(T));
            }
            ANP_QueryPropiedad desc = attrs[0] as ANP_QueryPropiedad;

            if (desc == null)
            {
                return(default(T));
            }

            object retorno = Activator.CreateInstance(typeof(T));
            //aqui obtengo los parametros para la consulta
            List <String> parametrosString = Estructura.ObtenerListaParametros(desc.Query);
            //y con reflection llenar las variables
            Dictionary <String, Object> parametrosInternos = new Dictionary <string, object>();

            //se pasan los parametros si los hay a los parametros internos
            if (parametros != null)
            {
                parametros.Keys.ToList().ForEach(x => parametrosInternos.Add(x, parametros[x]));
            }
            //si encontramos el parametro en la clase, lo mandamos en el query, en caso contrario, se omite

            foreach (String parametro in parametrosString)
            {
                PropertyInfo piValorParametro = this.GetType().GetProperty(parametro, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
                if (piValorParametro != null)
                {
                    //el parametro fue encontrado como propiedad de la clase
                    object valor = piValorParametro.GetValue(this);
                    parametrosInternos.Add(parametro, valor);
                }
            }
            retorno = mibd.ZMX_ConsultarUnico <T>(desc.Query, parametrosInternos);
            //obteniendo la propiedad a afectar con el resultado
            PropertyInfo pi = this.GetType().GetProperty(mexpr.Member.Name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);

            pi.SetValue(this, retorno);

            return((T)retorno);
        }
Exemplo n.º 3
0
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            try
            {
                PeticionAPI peticion = Seguridad.ValidarPeticion <PeticionAPI>(actionContext.ActionArguments["value"].ToString());

                String csmodel_ado          = WebConfigurationManager.AppSettings["csmodel_ado"];
                String csmodel_ambiente_ado = WebConfigurationManager.AppSettings["csmodel_ambiente_ado"];

                if (csmodel_ado == null)
                {
                    throw new Exception("No está definido 'csmodel_ado' en web.config");
                }
                if (csmodel_ambiente_ado == null)
                {
                    throw new Exception("No está definido 'csmodel_ambiente_ado' en web.config");
                }

                if (csmodel_ambiente_ado.ToLower().Equals("debug"))
                {
                    ManejadorInstanciasBD.ZMX_AmbienteAPI = ManejadorInstanciasBD.Ambiente.Desarrollo;
                }
                else if (csmodel_ambiente_ado.ToLower().Equals("desarrollo"))
                {
                    ManejadorInstanciasBD.ZMX_AmbienteAPI = ManejadorInstanciasBD.Ambiente.Desarrollo;
                }
                else if (csmodel_ambiente_ado.ToLower().Equals("pruebas"))
                {
                    ManejadorInstanciasBD.ZMX_AmbienteAPI = ManejadorInstanciasBD.Ambiente.Desarrollo;
                }
                else if (csmodel_ambiente_ado.ToLower().Equals("preproduccion"))
                {
                    ManejadorInstanciasBD.ZMX_AmbienteAPI = ManejadorInstanciasBD.Ambiente.Desarrollo;
                }
                else if (csmodel_ambiente_ado.ToLower().Equals("produccion"))
                {
                    ManejadorInstanciasBD.ZMX_AmbienteAPI = ManejadorInstanciasBD.Ambiente.Desarrollo;
                }
                else
                {
                    ManejadorInstanciasBD.ZMX_AmbienteAPI = ManejadorInstanciasBD.Ambiente.NoDefinido;
                }
                ManejadorInstanciasBD.ZMX_Ambiente = peticion.Sesion.Ambiente;
                ManejadorInstanciasBD.ZMX_Usuario  = peticion.Sesion.Usuario;
                ManejadorInstanciasBD.ZMX_SetClienteConexion(ACCESO_DATOS.Conexiones.ClienteConfig.ClientesBD.Oracle, new OracleMapeoInsert(), new OracleMapeoSelect(), new OracleMapeoUpdate(), SeguridadCAF.DesencriptarAES(csmodel_ado, "!234#3a@%%_=?'"));
            }
            catch (Exception ex)
            {
                throw new Exception("No se pudo realizar la conexión.", ex);
            }
        }