示例#1
0
        public static PermissaoFormularioRN GetInstance()
        {
            if (_instancia == null)
            {
                _instancia = new PermissaoFormularioRN();
            }

            return(_instancia);
        }
示例#2
0
        private void ZeraAcessos(PerfilDTO dto)
        {
            if (dto.Codigo > 0)
            {
                List <ModuloDTO> modulos   = ModuloRN.GetInstance().ObterTodosModulos();
                ModuloDTO        dtoModulo = null;
                for (int i = 0; i < modulos.Count; i++)
                {
                    PermissaoModuloDTO dtoPerMod = new PermissaoModuloDTO();

                    dtoModulo        = new ModuloDTO();
                    dtoModulo.Codigo = modulos[i].Codigo;
                    dtoPerMod.Modulo = dtoModulo;

                    dto = new PerfilDTO();
                    dtoPerMod.Perfil = dto;

                    dtoPerMod.Acesso       = 0;
                    dtoPerMod.Autorizar    = 0;
                    dtoPerMod.Visibilidade = 0;
                    PermissaoModuloRN.GetInstance().Inserir(dtoPerMod);

                    // Instancia os Formulários
                    FormularioDTO dtoForm = new FormularioDTO();
                    dtoForm.Modulo = dtoModulo;

                    // Obtem os Formulário do Módulo
                    List <FormularioDTO> formularios = FormularioRN.GetInstance().ObterFormulariosPorModulo(dtoForm);

                    if (formularios.Count > 0)
                    {
                        for (int f = 0; f < formularios.Count; f++)
                        {
                            PermissaoFormularioDTO dtoPermForm = new PermissaoFormularioDTO();

                            dtoForm        = new FormularioDTO();
                            dtoForm.Codigo = formularios[f].Codigo;

                            dtoPermForm.Formulario  = dtoForm;
                            dtoPermForm.Perfil      = dto;
                            dtoPermForm.AllowAccess = 0;
                            dtoPermForm.AllowUpdate = 0;
                            dtoPermForm.AllowSelect = 0;
                            dtoPermForm.AllowDelete = 0;
                            dtoPermForm.AllowPrint  = 0;
                            dtoPermForm.AllowInsert = 0;
                            PermissaoFormularioRN.GetInstance().InserirPermissoesFormulario(dtoPermForm);
                        }
                    }
                }
            }
        }
示例#3
0
 public void DefineAcessoPerfilAdministradoresSistema()
 {
     PermissaoFormularioRN.GetInstance().AddPermissoesSysAdmin();
 }
示例#4
0
        public AcessoDTO LoadSelectedBranchSettings(AcessoDTO pAcesso, int pSerieFaturacao, string pSys, string pFrom, EmpresaDTO pEmpresa)
        {
            try
            {
                ConfiguracaoDTO SystemConfigurations = ConfiguracaoRN.GetInstance().GetSystemConfiguration(pEmpresa);

                if (SystemConfigurations.Sucesso)
                {
                    SystemConfigurations.SerieFaturacao = pSerieFaturacao;
                    pAcesso.Filial      = SystemConfigurations.Filial;
                    pAcesso.CompanyName = SystemConfigurations.BranchDetails.NomeComercial;
                    pAcesso.CompanyLogo = SystemConfigurations.BranchDetails.CompanyLogo;
                }
                else
                {
                    //SystemConfigurations = new ConfiguracaoDTO();
                    SystemConfigurations.BranchDetails = pEmpresa;
                    SystemConfigurations.Filial        = pEmpresa.Codigo.ToString();
                }

                if (SystemConfigurations.MensagemErro == string.Empty && SystemConfigurations.Sucesso)
                {
                    if (AcessoRN.GetInstance().SessaoIniciada(pAcesso) && !string.IsNullOrEmpty(pAcesso.Maquina))
                    {
                        TerminarSessao(pAcesso.Utilizador);
                    }


                    pAcesso.Filial               = pEmpresa.Codigo.ToString();
                    pAcesso.DefaultLanguage      = "pt-PT";
                    pAcesso.Language             = string.Empty;
                    pAcesso.UserDefaultWarehouse = ArmazemRN.GetInstance().ObterPorFiltro(new ArmazemDTO {
                        Filial = pAcesso.Filial, Descricao = string.Empty
                    })
                                                   .Where(t => t.Codigo == SystemConfigurations.PosDefaultWarehouse).FirstOrDefault();
                    pAcesso.WareHouseName = pAcesso.UserDefaultWarehouse.Descricao;

                    pAcesso.UserPOS       = PosRN.GetInstance().ObtePostosVendas(new PosDTO(pAcesso.Utilizador, pAcesso.Filial)).Where(t => t.Descricao == pAcesso.Utilizador).SingleOrDefault();
                    pAcesso.StatusSessao  = "A";
                    pAcesso.CurrentSystem = pSys;
                    pAcesso.Filial        = pEmpresa.Codigo.ToString();

                    var saveLogin = InserirAcesso(pAcesso);

                    pAcesso.Sucesso = !pAcesso.Sucesso ? saveLogin.Sucesso : pAcesso.Sucesso;

                    if (pAcesso.Sucesso)
                    {
                        pAcesso.Url = "Index";


                        if (pSys == "REST")
                        {
                            pAcesso.UserAccess = PermissaoFormularioRN.GetInstance().ObterPermissoesFormularioREST(new UtilizadorDTO(pAcesso.Utilizador));

                            if (pAcesso.UserProfile == AcessoDTO.CashRegisterProfile)
                            {
                                pAcesso.Url = "window.location.href='/RestPOS'";
                                SystemConfigurations.IsCashRegister = true;
                            }
                            else if (pAcesso.FuncionarioID != "" && pAcesso.FuncionarioID != "-1" && pAcesso.FuncionarioID != "0" || pFrom == LOCKSCREEN)
                            {
                                pAcesso.Url = "window.location.href='/AtendimentoSala?pE=" + pAcesso.FuncionarioID + "'";
                            }
                        }
                        else
                        {
                            SerieDTO PosSerieDefault = pAcesso.UserPOS != null?
                                                       SerieRN.GetInstance().ObterPorPK(new SerieDTO {
                                Codigo = pAcesso.UserPOS.DocumentSerieID
                            })
                                                           : null;

                            SystemConfigurations.DesignationDefaultSeriePOS = PosSerieDefault != null ? PosSerieDefault.Descricao : string.Empty;
                            if (pSys == "POS")
                            {
                                pAcesso.UserAccess = PermissaoFormularioRN.GetInstance().ObterPermissoesFormularioPOS(new UtilizadorDTO(pAcesso.Utilizador));
                            }
                            else if (pSys == "COM")
                            {
                                pAcesso.UserAccess = PermissaoFormularioRN.GetInstance().GetUserAccess(pAcesso.Utilizador);
                            }
                            else if (pSys == "SIKOLA")
                            {
                            }

                            if (pAcesso.UserProfile == AcessoDTO.CashRegisterProfile)
                            {
                                if (SystemConfigurations.BranchDetails.Categoria == "2")
                                {
                                    pAcesso.Url = "window.location.href='../Lavandaria/Home';";
                                }
                                else
                                {
                                    pAcesso.Url = "window.location.href='../Comercial/POS';";
                                }
                                SystemConfigurations.IsCashRegister = true;
                            }
                        }
                        pAcesso.CurrentSystem = pSys;

                        pAcesso.Settings = SystemConfigurations;
                    }
                    else
                    {
                        pAcesso.MensagemErro = "alert('Ocorreu um erro ao Gravar a Sessão: " + saveLogin.MensagemErro + "');";
                    }
                }
                else
                {
                    if (SystemConfigurations.MensagemErro != "")
                    {
                        pAcesso.MensagemErro = "alert('Ocorreu um erro ao carregar as configurações: " + SystemConfigurations.MensagemErro + "');";
                    }
                    else
                    {
                        pAcesso.MensagemErro = "alert('A Empresa não tem está configurada'); window.location.href = '../Seguranca/Login';";
                    }
                }
            }
            catch (Exception ex)
            {
                pAcesso.MensagemErro = "alert('Ocorreu um Erro durante o inicio de Sessão: " + ex.Message.Replace("'", "") + " Acesso: " + pAcesso.StatusSessao + pAcesso.Url + "');";
            }

            return(pAcesso);
        }
示例#5
0
        AcessoDTO ReloadSessionSettings(AcessoDTO acesso, int pSerieFaturacao, string SystemLogged, EmpresaDTO objFilial)
        {
            ConfiguracaoDTO SystemConfigurations = ConfiguracaoRN.GetInstance().GetSystemConfiguration(objFilial);

            if (SystemConfigurations.Sucesso)
            {
                SystemConfigurations.SerieFaturacao = pSerieFaturacao;
                acesso.Filial = SystemConfigurations.Filial;
            }
            else
            {
                SystemConfigurations.BranchDetails = objFilial;
                SystemConfigurations.Filial        = objFilial.Codigo.ToString();
            }

            if (SystemConfigurations.MensagemErro == string.Empty && SystemConfigurations.Sucesso)
            {
                if (AcessoRN.GetInstance().SessaoIniciada(acesso) && !string.IsNullOrEmpty(acesso.Maquina))
                {
                    TerminarSessao(acesso.Utilizador);
                }

                acesso.Filial = objFilial.Codigo.ToString();

                acesso.DefaultLanguage      = "pt-PT";
                acesso.Language             = string.Empty;
                acesso.UserDefaultWarehouse = ArmazemRN.GetInstance().ObterPorFiltro(new ArmazemDTO {
                    Filial = acesso.Filial, Descricao = string.Empty
                })
                                              .Where(t => t.Codigo == SystemConfigurations.PosDefaultWarehouse).SingleOrDefault();

                acesso.WareHouseName = acesso.UserDefaultWarehouse.Descricao;
                acesso.UserPOS       = PosRN.GetInstance().ObtePostosVendas(new PosDTO(acesso.Utilizador, acesso.Filial)).Where(t => t.Descricao == acesso.Utilizador).SingleOrDefault();

                if (SystemLogged == KITANDAREST)
                {
                    acesso.UserAccess = PermissaoFormularioRN.GetInstance().ObterPermissoesFormularioREST(new UtilizadorDTO(acesso.Utilizador));
                }
                else
                {
                    SerieDTO PosSerieDefault = acesso.UserPOS != null?SerieRN.GetInstance().ObterPorPK(new SerieDTO {
                        Codigo = acesso.UserPOS.DocumentSerieID
                    })
                                                   : null;

                    SystemConfigurations.DesignationDefaultSeriePOS = PosSerieDefault != null ? PosSerieDefault.Descricao : string.Empty;
                    if (SystemLogged == KITANDAPOS)
                    {
                        acesso.UserAccess = PermissaoFormularioRN.GetInstance().ObterPermissoesFormularioPOS(new UtilizadorDTO(acesso.Utilizador));
                    }
                    else if (SystemLogged == KITANDAGC)
                    {
                        acesso.UserAccess = PermissaoFormularioRN.GetInstance().GetUserAccess(acesso.Utilizador);
                    }
                    else if (SystemLogged == SIKOLA)
                    {
                    }

                    if (acesso.UserProfile == AcessoDTO.CashRegisterProfile)
                    {
                        SystemConfigurations.IsCashRegister = true;
                    }
                }

                acesso.Settings = SystemConfigurations;
            }

            return(acesso);
        }