Пример #1
0
        public UsuarioDTO Logar(string login, string senha)
        {
            var        usuario = _usuarioRepositorio.Logar(login, senha);
            UsuarioDTO retorno = null;

            if (usuario != null)
            {
                retorno = new UsuarioDTO {
                    Id    = usuario.Id, Nome = usuario.Nome, DataNascimento = usuario.DataNascimento,
                    Email = usuario.Email, Imagem = usuario.Imagem
                };
                retorno.Acessos = new List <AcessoDTO>();
                foreach (var item in _acessoRepositorio.AcessoDoUsuario(usuario.Id))
                {
                    foreach (var contrato in _contratoRepositorio.ListarContratosEncerradosUsuario(item.PerfilId, item.UsuarioId))
                    {
                        retorno.Contratos.Add(new ListaContratoEncerradoDTO {
                            PerfilId        = item.PerfilId, ContratoId = contrato.Id, ContratanteId = contrato.ContratanteId,
                            PrestadorId     = contrato.PrestadorDeServicoId, NomeBeneficiario = contrato.Beneficiario.Nome,
                            NomeContratante = contrato.Contratante.Nome, ColaboradorNome = contrato.PrestadorDeServico.Nome,
                            Data            = contrato.DataFim
                        });
                    }
                    var acesso = new AcessoDTO {
                        Perfil = (PerfilEnum)item.PerfilId
                    };
                    acesso.FuncionalidadeDTO = _funcionalidadeRepositorio.ListarPorPerfil(item.PerfilId).Select(x => new FuncionalidadeDTO {
                        Id = x.Id, Path = x.Path
                    }).ToList();
                    retorno.Acessos.Add(acesso);
                }
            }
            retorno.Contratos = retorno.Contratos.Distinct().ToList();
            return(retorno);
        }
Пример #2
0
        public AcessoDTO Inserir(AcessoDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_SIS_ACESSO_NOVO";

                BaseDados.AddParameter("@UTILIZADOR", dto.Utilizador);
                BaseDados.AddParameter("@MAQUINA", dto.Maquina);
                BaseDados.AddParameter("@IP", dto.IP);
                BaseDados.AddParameter("@SYS_FROM", dto.CurrentSystem);
                BaseDados.AddParameter("@FILIAL", dto.Filial);

                BaseDados.ExecuteNonQuery();
                dto.DataLogin = DateTime.Now;
                dto.Sucesso   = true;
            }
            catch (Exception ex)
            {
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(dto);
        }
Пример #3
0
        public Boolean SessaoIniciada(AcessoDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_SIS_ACESSO_INICIADO";

                BaseDados.AddParameter("@UTILIZADOR", dto.Utilizador);
                MySqlDataReader dr = BaseDados.ExecuteReader();
                dto = new AcessoDTO();
                while (dr.Read())
                {
                    dto = new AcessoDTO();
                    if (dr["ACE_STATUS"].ToString().Equals("A"))
                    {
                        dto.Sucesso = true;
                        break;
                    }
                    else
                    {
                        dto.Sucesso = false;
                    }
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }
            return(dto.Sucesso);
        }
Пример #4
0
        public AcessoDTO GetLastSession(AcessoDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_ACESSO_LAST_LOGIN";

                BaseDados.AddParameter("@USERNAME", dto.Utilizador);
                BaseDados.AddParameter("@SENHA", dto.CurrentPassword ?? string.Empty);
                MySqlDataReader dr = BaseDados.ExecuteReader();
                dto = new AcessoDTO();
                if (dr.Read())
                {
                    dto               = new AcessoDTO();
                    dto.Codigo        = int.Parse(dr[0].ToString());
                    dto.HoraLogin     = DateTime.Parse(dr[1].ToString());
                    dto.Utilizador    = dr[2].ToString();
                    dto.CurrentSystem = dr[3].ToString();
                    dto.Filial        = dr[4].ToString();
                    dto.Maquina       = dr[5].ToString();
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(dto);
        }
Пример #5
0
        public AcessoDTO ObterPorPK(AcessoDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_SIS_ACESSO_OBTERPORPK";

                BaseDados.AddParameter("@CODIGO", dto.Codigo);
                MySqlDataReader dr = BaseDados.ExecuteReader();
                dto = new AcessoDTO();
                if (dr.Read())
                {
                    dto = new AcessoDTO();

                    UtilizadorDAO daoUtilizador = new UtilizadorDAO();
                    UtilizadorDTO dtoUtilizador = new UtilizadorDTO();

                    dto.Codigo = Int32.Parse(dr["ACE_CODIGO"].ToString());

                    dtoUtilizador.Utilizador = dr["ACE_UTILIZADOR"].ToString();

                    dto.Maquina      = dr["ACE_MAQUINA"].ToString();
                    dto.StatusSessao = dr["ACE_STATUS"].ToString();

                    dto.IP = dr["ACE_IP"].ToString();

                    if (dr["ACE_DATA_LOGIN"].ToString() != "")
                    {
                        dto.DataLogin = DateTime.Parse(dr["ACE_DATA_LOGIN"].ToString());
                    }

                    if (dr["ACE_HORA_LOGIN"].ToString() != "")
                    {
                        dto.HoraLogin = DateTime.Parse(dr["ACE_HORA_LOGIN"].ToString());
                    }

                    if (dr["ACE_DATA_LOGOUT"].ToString() != "")
                    {
                        dto.DataLogout = DateTime.Parse(dr["ACE_DATA_LOGOUT"].ToString());
                    }

                    if (dr["ACE_HORA_LOGOUT"].ToString() != "")
                    {
                        dto.HoraLogout = DateTime.Parse(dr["ACE_HORA_LOGOUT"].ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }


            return(dto);
        }
Пример #6
0
        public void TerminarSessao(string pUtilizador)
        {
            AcessoDTO dto = new AcessoDTO();

            dto.Utilizador = pUtilizador;
            //dto.DataLogout = DateTime.Today; DateTime.Parse(String.Format("{0:dd/MM/yyyy}", DateTime.Now));
            dto.StatusSessao = "I";
            AlterarAcesso(dto);
        }
Пример #7
0
        // Método para obter uma conta no serviço
        public async Task <ContaViewModel> ObterContaAsync(AcessarViewModel model)
        {
            // Objeto que será enviado como parâmetro ao serviço
            AcessoDTO acesso = new AcessoDTO( )
            {
                Email = model.Email,
                Senha = model.Senha
            };

            // Chamada ao método para realização de um HTTP Post enviando o AcessoDTO como paâmetro
            ContaDTO dto = await Post <ContaDTO>("cliente", acesso);

            // Transforma o DTO recebido do serviço em ViewModel para uso no app
            ContaViewModel contaVM = ParseToVM(dto);

            return(contaVM);
        }
Пример #8
0
        public void Alterar(AcessoDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_SIS_ACESSO_ALTERAR";

                BaseDados.AddParameter("@UTILIZADOR", dto.Utilizador);

                BaseDados.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }
        }
Пример #9
0
        public AcessoDTO ObterConfiguracaoClinica(AcessoDTO dto)
        {
            try
            {
                DBConexao.ComandText = "stp_CLI_CONFIGURACAO_OBTERPORFILTRO";

                DBConexao.AddParameter("@COMPANY_ID", dto.Filial);

                MySqlDataReader dr = DBConexao.ExecuteReader();

                if (dr.Read())
                {
                    dto.Filial = dr["CLI_FILIAL_ID"].ToString();
                    dto.Settings.HorarioInicioP1             = DateTime.Parse(dr["CLI_HORA_INICIO_P1"].ToString());
                    dto.Settings.HorarioTerminoP1            = DateTime.Parse(dr["CLI_HORA_TERMINO_P1"].ToString());
                    dto.Settings.DuracaoAtendimento          = int.Parse(dr["CLI_DURACAO_ATENDIMENTO"].ToString());
                    dto.Settings.ValorActoProfissional       = decimal.Parse(dr["CLI_VALOR_PROFISSIONAL"].ToString());
                    dto.Settings.PercentagemActoProfissional = decimal.Parse(dr["CLI_VALOR_CLINICA"].ToString());
                    dto.Settings.DiaInicial       = int.Parse(dr["CLI_DIA_INICIAL"].ToString());
                    dto.Settings.DiaFinal         = int.Parse(dr["CLI_DIA_FINAL"].ToString());
                    dto.Settings.HorarioInicioP2  = DateTime.Parse(dr["CLI_HORA_INICIO_P2"].ToString());
                    dto.Settings.HorarioTerminoP2 = DateTime.Parse(dr["CLI_HORA_TERMINO_P2"].ToString());
                    dto.Settings.HorarioInicioP3  = DateTime.Parse(dr["CLI_HORA_INICIO_P3"].ToString());
                    dto.Settings.HorarioTerminoP3 = DateTime.Parse(dr["CLI_HORA_TERMINO_P3"].ToString());
                    dto.Settings.HorarioInicioP4  = DateTime.Parse(dr["CLI_HORA_INICIO_P4"].ToString());
                    dto.Settings.HorarioTerminoP4 = DateTime.Parse(dr["CLI_HORA_TERMINO_P4"].ToString());
                }
            }
            catch (Exception ex)
            {
                dto.Settings.MensagemErro = ex.Message.Replace("'", "");
                dto.Sucesso = false;
            }
            finally
            {
                DBConexao.FecharConexao();
            }
            return(dto);
        }
Пример #10
0
        public AcessoDTO GetClinicalSettings(AcessoDTO dto)
        {
            dto = dao.ObterConfiguracaoClinica(dto);
            dto.EscalaClinica = new List <EscalaDTO>();
            TimeSpan hora = dto.Settings.HorarioInicioP1.TimeOfDay;

            while (hora <= dto.Settings.HorarioTerminoP1.TimeOfDay)
            {
                if (!dto.EscalaClinica.Exists(t => t.Data.TimeOfDay == hora))
                {
                    dto.EscalaClinica.Add(new EscalaDTO
                    {
                        Data = new DateTime(DateTime.Today.Year, DateTime.Today.Month,
                                            DateTime.Today.Day, hora.Hours, hora.Minutes, hora.Seconds),
                        Descricao = hora.Hours.ToString() + ":" + hora.Minutes.ToString()
                    });
                }
                hora = hora.Add(TimeSpan.FromMinutes(dto.Settings.DuracaoAtendimento));
                break;
            }

            return(dto);
        }
Пример #11
0
        public AcessoDTO TryReloadSession(AcessoDTO dto)
        {
            dto = daoAcesso.GetLastSession(dto);

            if (dto.Codigo > 0)
            {
                TimeSpan SessionTime = DateTime.Now - dto.HoraLogin;

                if (SessionTime.TotalHours <= 24)
                {
                    var userDetails = UtilizadorRN.GetInstance().ObterPorPK(new UtilizadorDTO(dto.Utilizador));
                    dto.CurrentPassword = userDetails.CurrentPassword;
                    dto.SocialName      = userDetails.SocialName;
                    dto.UserProfile     = userDetails.Perfil.Codigo;
                    dto.Supervisor      = userDetails.Supervisor;
                    dto.IsCashRegister  = userDetails.IsCashRegister;
                    return(ReloadSessionSettings(dto, dto.HoraLogin.Year, dto.CurrentSystem, new EmpresaDTO {
                        Codigo = int.Parse(dto.Filial)
                    }));
                }
            }

            return(null);
        }
Пример #12
0
        public List <AcessoDTO> ObterPorFiltro(AcessoDTO dto)
        {
            List <AcessoDTO> coleccao;

            try
            {
                BaseDados.ComandText = "stp_SIS_ACESSO_OBTERPORFILTRO";

                BaseDados.AddParameter("@UTILIZADOR", dto.Utilizador);
                BaseDados.AddParameter("@MAQUINA", dto.Maquina);
                BaseDados.AddParameter("@IP", dto.IP);
                BaseDados.AddParameter("@DATA_LOGIN_INI", DateTime.Today);
                BaseDados.AddParameter("@DATA_LOGIN_FIM", DateTime.Today);

                MySqlDataReader dr = BaseDados.ExecuteReader();
                coleccao = new List <AcessoDTO>();

                while (dr.Read())
                {
                    dto = new AcessoDTO();

                    UtilizadorDAO daoUtilizador = new UtilizadorDAO();
                    UtilizadorDTO dtoUtilizador = new UtilizadorDTO();

                    dto.Codigo = Int32.Parse(dr["ACE_CODIGO"].ToString());

                    dtoUtilizador.Utilizador = dr["ACE_UTILIZADOR"].ToString();

                    dto.Maquina = dr["ACE_MAQUINA"].ToString();
                    if (dr["ACE_STATUS"].ToString().Equals("A"))
                    {
                        dto.StatusSessao = "Activo";
                    }
                    else
                    {
                        dto.StatusSessao = "Inactivo";
                    }
                    dto.IP = dr["ACE_IP"].ToString();

                    if (dr["ACE_DATA_LOGIN"].ToString() != "")
                    {
                        dto.DataLogin = DateTime.Parse(dr["ACE_DATA_LOGIN"].ToString());
                    }

                    if (dr["ACE_HORA_LOGIN"].ToString() != "")
                    {
                        dto.HoraLogin = DateTime.Parse(dr["ACE_HORA_LOGIN"].ToString());
                    }

                    if (dr["ACE_DATA_LOGOUT"].ToString() != "")
                    {
                        dto.DataLogout = DateTime.Parse(dr["ACE_DATA_LOGOUT"].ToString());
                    }

                    if (dr["ACE_HORA_LOGOUT"].ToString() != "")
                    {
                        dto.HoraLogout = DateTime.Parse(dr["ACE_HORA_LOGOUT"].ToString());
                    }

                    coleccao.Add(dto);
                }
            }
            catch (Exception ex)
            {
                coleccao         = new List <AcessoDTO>();
                dto              = new AcessoDTO();
                dto.MensagemErro = ex.Message.Replace("'", "");
                dto.Sucesso      = false;
                coleccao.Add(dto);
            }
            finally
            {
                BaseDados.FecharConexao();
            }
            return(coleccao);
        }
Пример #13
0
 public List <AcessoDTO> ObterAcessosPorStatus(AcessoDTO dto)
 {
     return(daoAcesso.ObterPorStatus(dto));
 }
Пример #14
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);
        }
Пример #15
0
        private AcessoDTO IniciarSessao(AcessoDTO pAcesso, int pSerieFaturacao, string pSys, string pFrom, string pEmpresaSeleccionada)
        {
            try
            {
                UtilizadorDTO user = UtilizadorRN.GetInstance().ObterPorPK(new UtilizadorDTO(pAcesso.Utilizador));

                pAcesso.UserID          = user.Codigo;
                pAcesso.Utilizador      = user.Utilizador;
                pAcesso.SocialName      = user.SocialName;
                pAcesso.UserProfile     = user.Perfil.Codigo;
                pAcesso.Supervisor      = user.Supervisor;
                pAcesso.CurrentPassword = user.CurrentPassword;

                EmpresaDTO        empresa;
                List <EmpresaDTO> filiais;

                if (isMasterAdmin(user.Utilizador))
                {
                    filiais = EmpresaRN.GetInstance().ObterTodas();
                    ParametrizarAdmin();
                    foreach (var unidade in filiais)
                    {
                        EmpresaRN.GetInstance().IncluirUtilizador(new UtilizadorDTO(user.Utilizador, unidade.Codigo));
                    }
                }
                else
                {
                    filiais = EmpresaRN.GetInstance().ObterMinhasFiliais(user.Utilizador);
                }

                empresa = !string.IsNullOrEmpty(pEmpresaSeleccionada) ? filiais.Where(t => t.Codigo == int.Parse(pEmpresaSeleccionada)).ToList().FirstOrDefault() : filiais.FirstOrDefault();

                if (empresa == null)
                {
                    if (isMasterAdmin(user.Utilizador))
                    {
                        pAcesso.Url = "RegistarSucursal";
                    }
                    else
                    {
                        pAcesso.MensagemErro = "Lamentamos, mas a sua conta de Utilizador não tem permissão para aceder as Unidades Filiais do Sistema. Por favor contacte o Administrador do Sistema.";
                    }
                }
                else
                {
                    if (filiais.Count > 1 && string.IsNullOrEmpty(pEmpresaSeleccionada))
                    {
                        pAcesso.Url         = "BranchSelection";
                        pAcesso.Sucesso     = true;
                        pAcesso.CompanyName = "Seleccione a Empresa";
                        pAcesso.CompanyLogo = "../template/app-assets/upload/favicon.png";
                    }
                    else
                    {
                        pAcesso = LoadSelectedBranchSettings(pAcesso, pSerieFaturacao, pSys, pFrom, empresa);
                    }
                }
            }
            catch (Exception ex)
            {
                pAcesso.MensagemErro = "alert('Ocorreu um Erro durante no inicio de Sessão: " + ex.Message.Replace("'", "") + "');";
            }


            return(pAcesso);
        }
Пример #16
0
 public AcessoDTO  InserirAcesso(AcessoDTO dto)
 {
     return(!string.IsNullOrEmpty(dto.Maquina) ? daoAcesso.Inserir(dto) : new AcessoDTO());
 }
Пример #17
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);
        }
Пример #18
0
 public void AlterarAcesso(AcessoDTO dto)
 {
     daoAcesso.Alterar(dto);
 }
Пример #19
0
 public Boolean SessaoIniciada(AcessoDTO dto)
 {
     return(daoAcesso.SessaoIniciada(dto));
 }
Пример #20
0
 public AcessoDTO ObterAcessoPorPK(AcessoDTO dto)
 {
     return(daoAcesso.ObterPorPK(dto));
 }
Пример #21
0
 public List <AcessoDTO> ObterAcessosPorFiltro(AcessoDTO dto)
 {
     return(daoAcesso.ObterPorFiltro(dto));
 }
Пример #22
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);
        }