public void ParametrizarAdmin() { PerfilDTO dtoPerfil = new PerfilDTO(); dtoPerfil.SocialName = "Administradores do Sistema"; dtoPerfil.Utilizador = "administrador"; List <PerfilDTO> perfis = PerfilRN.GetInstance().ObterPorFiltro(dtoPerfil); if (perfis.Count == 0) { // Cria o Perfil Administrador Caso nao Exista; dtoPerfil.Descricao = "Grupo com Acesso Total no Sistema"; dtoPerfil.Email = ""; dtoPerfil.Situacao = "A"; //(A) - Activo ; (I) - Inactivo ; (E) - Excluido dtoPerfil = PerfilRN.GetInstance().InserirPerfil(dtoPerfil); UtilizadorDTO dto = new UtilizadorDTO(); dto.Email = ""; dto.SocialName = "Administrador do Sistema"; dto.CurrentPassword = "******"; dto.Utilizador = "administrador"; dto.Situacao = "A"; // (A)- Activo; (I) - Inactivo; (B) - Bloqueiado dto.Perfil = dtoPerfil; dto = UtilizadorRN.GetInstance().Adicionar(dto); } else { dtoPerfil = perfis[0]; } PerfilRN.GetInstance().DefineAcessoPerfilAdministradoresSistema(); }
public static UtilizadorRN GetInstance() { if (_instancia == null) { _instancia = new UtilizadorRN(); } return(_instancia); }
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); }
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); }
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); }
private void ParametrizarAdmin() { UtilizadorRN.GetInstance().ParametrizarAdmin(); }
// Obter os Módulo do Perfil e Pelo Utilizador(HOME e MENU HORIZONTAL) public List <PermissaoModuloDTO> ListaModulosNoMenu(UtilizadorDTO dto) { dto = UtilizadorRN.GetInstance().ObterPorPK(dto); return(daoPermissaoUtilizador.ObterModulosDoMenu(dto)); }