Пример #1
0
        private void CreatePOS(UtilizadorDTO dto)
        {
            PosDTO oPOS = new PosDTO
            {
                Descricao = dto.Utilizador,
                Estado    = 1,
                Sigla     = "",
                PinCode   = dto.CurrentPassword
            };

            PosRN.GetInstance().CreateNewPOS(oPOS);
        }
Пример #2
0
        public AcessoDTO Entrar(AcessoDTO acesso)
        {
            try
            {
                //Obter a Empresa Princial do Sistema
                EmpresaDTO entidade = EmpresaRN.GetInstance().ObterEmpresaSistema();

                acesso.FuncionarioID = acesso.Codigo.ToString();

                // Obter a Série de Facturação
                int SerieFaturacao = GetPeriodoFaturacao(entidade.Codigo);

                if (string.IsNullOrEmpty(entidade.MensagemErro))
                {
                    if (entidade.Codigo == 0)
                    {
                        if (isMasterAdmin(acesso.Utilizador))
                        {
                            acesso.Url = "CreateBranch";
                        }
                        else
                        {
                            acesso.MensagemErro = "Ops!! a sua conta de Utilizador não tem autorização para  acessar o Sistema";
                        }
                    }
                    else if (SerieFaturacao <= 0)
                    {
                        acesso.MensagemErro = "O Sistema não tem uma Série de Facturação configurada. Deve Contactar a Equipa da LucanSoft para configuração do mesmo";
                    }
                    else
                    {
                        bool userTemAcessoAoSistema = false;

                        if (!acesso.IsRestUser)
                        {
                            if (string.IsNullOrEmpty(acesso.Filial)) // A partir da Página de Login
                            {
                                userTemAcessoAoSistema = UtilizadorRN.GetInstance().isAccessAllowed(acesso.Utilizador, acesso.CurrentPassword);
                            }
                            else
                            {
                                userTemAcessoAoSistema = true;

                                /*
                                 * var userDetails = UtilizadorRN.GetInstance().ObterPorPK(new UtilizadorDTO { Utilizador = acesso.Utilizador });
                                 * acesso.CurrentPassword = userDetails.CurrentPassword;*/
                            }
                        }
                        else
                        {
                            // Em caso de Utilizador Vindo Módulo de Restauração(KitandaRest)
                            var PostOfSales = PosRN.GetInstance().GetPostOfSalesDetails(new PosDTO
                            {
                                Codigo = acesso.Codigo,
                                Filial = "-1"
                            });

                            if (PostOfSales != null && PostOfSales.Estado == 1)
                            {
                                if (PostOfSales.PinCode == "fc0iUkg331qk3V8HY6MWvQ==" || PostOfSales.PinCode == string.Empty)
                                {
                                    acesso.MensagemErro = "ShowModal('" + acesso.Utilizador + "', '" + acesso.Codigo + "');";
                                }
                                else if (PostOfSales.PinCode == acesso.CurrentPassword)
                                {
                                    userTemAcessoAoSistema = true;
                                    acesso.CurrentPassword = PostOfSales.CurrentPassword;
                                }
                                else
                                {
                                    acesso.MensagemErro = "PIN Incorrecto, digite novamente";
                                }
                            }
                            else
                            {
                                acesso.MensagemErro = "A Conta de Utilizador ou Posto de Venda desactivado";
                            }
                        }

                        if (userTemAcessoAoSistema)
                        {
                            acesso.Codigo = entidade.Codigo;
                            GenericRN clsGeneric = new GenericRN();

                            /*
                             * Tuple<bool, string> serverCredencials = clsGeneric.CheckServer();
                             *
                             * IPHostEntry hostEntry = Dns.GetHostEntry(serverCredencials.Item2);
                             *
                             * if (!serverCredencials.Item1 && serverCredencials.Item2!=dto.IP)
                             * {
                             *  hostEntry = Dns.GetHostEntry(serverCredencials.Item2);
                             *  string hostName = hostEntry.HostName;
                             * }
                             *
                             * if (!LicenseRN.GetInstance().ExistLicFile(acesso.Url))
                             * {
                             *  if (isMasterAdmin(acesso.Utilizador))
                             *  {
                             *      var licenca = LicenseRN.GetInstance().GenerateLicense(new LicencaDTO
                             *      {
                             *          Filial = entidade.NomeCompleto,
                             *          HostName = acesso.ServerName,
                             *          HostMacAddress = acesso.IP,
                             *          LicType = "F"
                             *      }, acesso.Url);
                             *
                             *      acesso.MensagemErro = licenca.MensagemErro!="" ? licenca.MensagemErro : string.Empty;
                             *  }
                             *  else
                             *  {
                             *      acesso.MensagemErro = "O Sistema não tem Licença Válida";
                             *  }
                             * }
                             * else
                             * {
                             *  var IsValidLicense = LicenseRN.GetInstance().GetSystemValidLicense(new LicencaDTO
                             *  {
                             *      HostName = acesso.ServerName
                             *  });
                             *
                             *  if (!IsValidLicense.Item1)
                             *  {
                             *      acesso.MensagemErro = IsValidLicense.Item2;
                             *  }
                             * }*/
                        }
                        else
                        {
                            if (acesso.MensagemErro == string.Empty)
                            {
                                acesso.MensagemErro = "Ops!! O nome de Utilizador ou a senha estão incorrectos. Volte a Tentar";
                            }
                        }


                        if (userTemAcessoAoSistema && acesso.MensagemErro == string.Empty)
                        {
                            string pFrom = acesso.IsRestUser ? LOCKSCREEN : string.Empty;
                            IniciarSessao(acesso, SerieFaturacao, acesso.CurrentSystem, pFrom, acesso.Filial);
                        }
                    }
                }
                else
                {
                    acesso.MensagemErro = "Ocorreu um erro ao durante a obtenção dos dados da empresa licenciada: " + entidade.MensagemErro;
                }
            }catch (Exception ex)
            {
                acesso.MensagemErro = "Erro durante a entrada no Sistema: " + ex.Message.Replace("'", "");
            }

            return(acesso);
        }
Пример #3
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);
        }
Пример #4
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);
        }