Пример #1
0
 /// <summary>
 /// <para>Evento activo cuando se presiona el tabulador.</para>
 /// </summary>
 internal void OnTabPresionado()        // Evento activo cuando se presiona el tabulador
 {
     // Nodo autocompletado
     if (AutoCompletar.Count != 0)
     {
         OnEnterPresionado(); return;
     }
     AutoCompletarIndex = 0;
     AutoCompletar.Clear();
     AutoCompletar.AddRange(mdevMetodos.GetComandos(InputText));
 }
Пример #2
0
 /// <summary>
 /// <para>Evento activo cuando se presiona la tecla Enter.</para>
 /// </summary>
 internal void OnEnterPresionado()        // Evento activo cuando se presiona la tecla Enter
 {
     // Comprobar el autocompletado sino comprobar la ejecucion del comando
     if (AutoCompletar.Count > 0)
     {
         InputText = AutoCompletar[AutoCompletarIndex];
         AutoCompletar.Clear();
     }
     else
     {
         PreEjecutar();
     }
 }
Пример #3
0
        /// <summary>
        /// <para>Ejecuta un comando.</para>
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private string EjecutarComando(string input)        // Ejecuta un comando
        {
            // Preparar la ejecucion
            AutoCompletar.Clear();
            bool          registrado       = false;
            string        resultado        = null;
            string        parentesisValido = Regex.Match(input, @"\(([^)]*)\)").Groups[1].Value;
            List <string> args             = new List <string>();
            string        comando;

            // Reemplazar con el limitador
            if (!string.IsNullOrEmpty(parentesisValido))
            {
                args    = parentesisValido.Split(new char[] { ',' }).ToList();
                comando = input.Replace(parentesisValido, "").Replace("(", "").Replace(")", "").Replace(";", "");
            }
            else
            {
                comando = input.Replace("(", "").Replace(")", "").Replace(";", "");
            }

            foreach (var met in mdevMetodos.Metodos)
            {
                // Devuelve los 3 atributos.
                foreach (object atri in met.GetCustomAttributes(true))
                {
                    if (atri is MDevAttribute)
                    {
                        MDevAttribute com = (MDevAttribute)atri;
                        if (com.nombreComando == comando)
                        {
                            if (registrado)
                            {
                                Debug.LogError("Multiples comandos se definen con: " + comando);
                            }

                            Type            type       = (met.DeclaringType);
                            ParameterInfo[] parametros = met.GetParameters();
                            List <object>   argList    = new List <object>();

                            // Argumentos de lanzamiento si hay alguno
                            if (args.Count != 0)
                            {
                                if (parametros.Length != args.Count)
                                {
                                    resultado = string.Format("El comando {0} necesita {1} parametros, solo paso {2}", comando, parametros.Length, args.Count);
                                    Debug.Log(resultado);
                                    return(resultado);
                                }
                                else
                                {
                                    // Lanzar argumentos de string para ingresar tipos de objetos
                                    for (int i = 0; i < parametros.Length; i++)
                                    {
                                        try
                                        {
                                            var a = Convert.ChangeType(args[i], parametros[i].ParameterType);
                                            argList.Add(a);
                                        }
                                        catch
                                        {
                                            resultado = string.Format("No se pudo convertir {0} al tipo {1}", args[i], parametros[i].ParameterType);
                                            Debug.LogError(resultado);
                                            return(resultado);
                                        }
                                    }
                                }
                            }
                            if (type.IsSubclassOf(typeof(UnityEngine.Object)))
                            {
                                var instance_classes = GameObject.FindObjectsOfType(type);
                                if (instance_classes != null)
                                {
                                    foreach (var instance_class in instance_classes)
                                    {
                                        resultado = (string)met.Invoke(instance_class, argList.ToArray());
                                    }
                                }
                            }
                            else
                            {
                                var instance_class = Activator.CreateInstance(type);
                                resultado = (string)met.Invoke(instance_class, argList.ToArray());
                            }
                            registrado = true;
                            break;
                        }
                    }
                }
            }

            // Devolver resultado
            if (!string.IsNullOrEmpty(resultado))
            {
                return(resultado);
            }

            // Volver si esta registrado
            if (registrado)
            {
                return(null);
            }

            // Volver un error
            return("Comando no encontrado! - Escribe \"help\" para la lista de comandos disponibles!");
        }
Пример #4
0
        public ActionResult Perfil(int rut)
        {
            GestionEmpleadosDBEntities db    = new GestionEmpleadosDBEntities();
            PerfilViewModel            model = new PerfilViewModel();
            var empleado = (from emp in db.Empleado
                            join af in db.Afp on emp.afp_id equals af.Id
                            where emp.rut == rut
                            select emp).FirstOrDefault();
            //-------------------------------------------//
            var afp = (from emp in db.Empleado
                       join af in db.Afp on emp.afp_id equals af.Id
                       where emp.rut == rut
                       select af).FirstOrDefault();
            //-------------------------------------------//
            var haberes = (from hab in db.Haberes
                           join emp in db.Empleado on hab.rut_empleado equals emp.rut
                           where emp.rut == rut
                           select hab).FirstOrDefault();
            //-------------------------------------------//
            var descuento = (from des in db.Descuento
                             join emp in db.Empleado on des.rut_empleado equals emp.rut
                             where emp.rut == rut
                             select des).FirstOrDefault();
            //-------------------------------------------//
            var otros = (from emp in db.Empleado
                         join otr in db.Otros_Descuentos on emp.desc_id equals otr.id
                         where emp.rut == rut
                         select otr).FirstOrDefault();
            //-------------------------------------------//
            var cargaFam = (from emp in db.Empleado
                            join fam in db.Asignacion_familiar on emp.asignacion_id equals fam.Id
                            where emp.rut == rut
                            select fam).FirstOrDefault();
            //-------------------------------------------//
            var salud = (from emp in db.Empleado
                         join sal in db.Salud on emp.salud_id equals sal.Id
                         where emp.rut == rut
                         select sal).FirstOrDefault();
            //-------------------------------------------//
            var beneficio = (from emp in db.Empleado
                             join ben in db.Beneficio_Antiguedad on emp.antiguedad_id equals ben.Id
                             where emp.rut == rut
                             select ben).FirstOrDefault();

            if (ModelState.IsValid && empleado != null && afp != null && haberes != null && descuento != null && otros != null)
            {
                model.AfpLista       = db.Afp.ToList <Afp>();
                model.PrevisionLista = db.Salud.ToList <Salud>();


                //-------------------------------------------//


                model.Rut           = empleado.rut;
                model.sueldo_basevm = Convert.ToString(empleado.sueldo_base);
                //-------------------------------------------//
                if (empleado.asignacion_id < 4)
                {
                    model.TieneCargavm = "SI";
                }
                else if (empleado.asignacion_id == 5)
                {
                    model.TieneCargavm = "No Registrado";
                }
                else if (empleado.asignacion_id == 4)
                {
                    model.TieneCargavm = "NO";
                }
                else
                {
                    model.TieneCargavm = "SI";
                }
                //-------------------------------------------//

                //-------------------------------------------//
                model.monto_familiarvm = haberes.monto_familiar;
                model.calculoHoraExtra = haberes.hora_extra;
                model.comisionvm       = haberes.comision;
                model.bonovm           = (beneficio.porcentaje_antiguedad * empleado.sueldo_base) / 100;
                model.colacionvm       = haberes.colacion;
                model.movilizacionvm   = haberes.movilizacion;
                //-------------------------------------------//
                model.NombreAfp              = afp.nombre;
                model.descuento_afpvm        = descuento.descuento_afp;
                model.tiposaludvm            = salud.tipo_salud;
                model.descuento_saludvm      = descuento.descuento_salud;
                model.descuento_cesantiavm   = descuento.seguro_cesantia;
                model.descuento_segurovidavm = descuento.seguro_vida;
                //-------------------------------------------//
                model.total_haberesvm    = haberes.total_haberes;
                model.total_descuentosvm = descuento.total_descuentos;
                model.sueldo_liquidovm   = empleado.sueldo_liquido;
                //-------------------------------------------//
                return(View(model));
            }
            else
            {
                Programacion.AutoCompletar Metodo = new AutoCompletar();
                Metodo.IA(model, rut);
                return(RedirectToAction("Perfil", "Edit", new { rut }));
            }
        }