Example #1
0
 private void AssignRequiredDao(Type modType, IGameModule modInst)
 {
     MemberInfo[] members = modType.GetMembers(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
     foreach (var member in members)
     {
         if (member.IsDefined(typeof(RequireDaoAttribute)))
         {
             if (member.MemberType == MemberTypes.Field)
             {
                 FieldInfo field   = (FieldInfo)member;
                 Type      reqType = field.FieldType;
                 field.SetValue(modInst, Daos.GetDao(reqType));
             }
             if (member.MemberType == MemberTypes.Property)
             {
                 PropertyInfo prop    = (PropertyInfo)member;
                 Type         reqType = prop.PropertyType;
                 prop.SetValue(modInst, Daos.GetDao(reqType));
             }
         }
     }
 }
        private void Iniciar()
        {//
            IList <IValidador> validadores = new List <IValidador>();

            #region Autorização
            if (typeof(Tipo) == typeof(Autorizacao))
            {
                IValidador somenteSalvar = new ValidaAutorizacaoRepetida();
                validadores = null;
                validadores = new List <IValidador>();
                validadores.Add(new ValidaCamposAutorizacao());
                validadores.Add(new ValidaRotinasInformadas());
                validadores.Add(new ValidaUsuarioExisteNoSistema());
                validadores.Add(new ValidaOrgaoExistente());
                validadores.Add(new ValidaOrgaoPertencenteAoUsuario());
                validadores.Add(somenteSalvar); // ValidaAutorizacaoRepetida
                validadores.Add(new ValidaPermissoesAutorizacao());
                this.ValidadoresSalvar.Add(typeof(Autorizacao).Name, validadores);
                this.ValidadoresSalvarTodos.Add(typeof(Autorizacao).Name, validadores);

                IList <IValidador> auxiliar = new List <IValidador>();
                auxiliar = auxiliar.Concat(validadores).ToList <IValidador>();
                auxiliar.Remove(somenteSalvar); // Só valida AutorizacaoRepetida no Salvar
                this.ValidadoresAlterarTodos.Add(typeof(Autorizacao).Name, auxiliar);

                validadores = new List <IValidador>();
                validadores.Add(new ValidaCamposInativaAutorizacoes());
                validadores.Add(new ValidaUsuarioExisteNoSistema());
                validadores.Add(new ValidaOrgaoExistente());
                validadores.Add(new ValidaOrgaoPertencenteAoUsuario());
                this.ValidadoresExcluirTodos.Add(typeof(Autorizacao).Name, validadores);
                this.ValidadoresExcluir.Add(typeof(Autorizacao).Name, validadores);

                this.Daos.Add(typeof(Autorizacao).Name, new ContextoAutorizacaoViewModel());

                return;
            }
            #endregion

            #region Aplicativo
            if (typeof(Tipo) == typeof(Aplicativo))
            {
                validadores = null;
                validadores = new List <IValidador>();
                validadores.Add(new ValidaCampoObrigatorioAplicativo());
                validadores.Add(new ValidaMenusDiferentes());
                validadores.Add(new ValidaAplicativoExistente());
                this.ValidadoresSalvar.Add(typeof(Aplicativo).Name, validadores);

                validadores = new List <IValidador>();
                validadores.Add(new ValidaCampoObrigatorioAplicativo());
                this.ValidadoresAlterar.Add(typeof(Aplicativo).Name, validadores);
                this.ValidadoresExcluir.Add(typeof(Aplicativo).Name, validadores);

                this.Daos.Add(typeof(Aplicativo).Name, new ContextoAplicativo());

                return;
            }
            #endregion

            #region  Usuario
            if (typeof(Tipo) == typeof(Profissional))
            {
                validadores = null;
                validadores = new List <IValidador>();
                validadores.Add(new ValidaCampoObrigatorioUsuario());
                validadores.Add(new ValidaUsuarioExistente());
                validadores.Add(new ValidarOrgaosDoUsuario());
                this.ValidadoresSalvar.Add(typeof(Profissional).Name, validadores);

                validadores = new List <IValidador>();
                validadores.Add(new ValidaCampoObrigatorioUsuario());
                validadores.Add(new ValidarOrgaosDoUsuario());

                this.ValidadoresAlterar.Add(typeof(Profissional).Name, validadores);
                this.ValidadoresExcluir.Add(typeof(Profissional).Name, validadores);

                this.Daos.Add(typeof(Profissional).Name, new ContextoUsuario());

                return;
            }
            #endregion

            #region Orgão
            if (typeof(Orgao) == typeof(Tipo))
            {
                this.Daos.Add(typeof(Orgao).Name, new ContextoOrgao());
                return;
            }
            #endregion

            #region AutorizarUsuarioViewModel
            if (typeof(Tipo) == typeof(AutorizarUsuarioViewModel))
            {
                this.Daos.Add(typeof(AutorizarUsuarioViewModel).Name, new ContextoAutorizacaoViewModel());
                return;
            }
            #endregion

            #region CopiaDeAutorizacao
            if (typeof(Tipo) == typeof(CopiaDeAutorizacao))
            {
                validadores.Add(new ValidaCamposCopiaDeAutorizacao());
                validadores.Add(new ValidaUsuarioExisteNoSistema());

                ValidadoresConsultar.Add(typeof(CopiaDeAutorizacao).Name, validadores);


                Daos.Add(typeof(CopiaDeAutorizacao).Name, new ContextoCopiaDeAutorizacao());
                return;
            }
            #endregion

            #region Liberacao
            if (typeof(Tipo) == typeof(SubMenu))
            {
                this.Daos.Add(typeof(SubMenu).Name, new ContextoSubMenusAutorizados());
                return;
            }
            #endregion
        } // FachadaAdmWeb