示例#1
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);
        }
示例#2
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);
        }