/// <summary> /// traz os dados de atividades brutas e consolidadas de apenas um usuário, com suas referencias /// de forma assíncrona /// </summary> /// <param name="usuarioId"></param> /// <param name="inicio"></param> /// <param name="fim"></param> /// <returns></returns> public virtual async Task <AtividadeIndexViewModel> GetAtividadeIndexAsync(int usuarioId, DateTime?inicio, DateTime?fim) { AtividadeIndexViewModel result = await GetAtividadeIndexAsync(new List <int> { usuarioId }, inicio, fim); ReferenciaRepository refRep = new ReferenciaRepository(_db); var referencias = await refRep.GetReferenciasAsync(usuarioId, inicio, fim); var referenciaAtual = await refRep.GetReferenciaAsync(usuarioId); result.Referencias.Clear(); result.Referencias.AddRange(referencias); result.ReferenciaAtual = referenciaAtual; if (ControleAcesso.TemAcesso(SegurancaResources.GERENCIAR_ATIVIDADES_FUNCIONARIOS)) { UsuarioApplication usuapp = new UsuarioApplication(_db); var modelo = await usuapp.GetUsuariosComAtrasoNoEnvioAsync(); result.UsuariosComAtrasoNoLancamento = modelo.Count; } return(result); }
public bool Create(Usuario usuario, ControleAcesso controleAcesso) { DbSet <Usuario> dsUsuario = null; using (_context) { using (var dbContextTransaction = _context.Database.BeginTransaction()) { try { dsUsuario = _context.Set <Usuario>(); dsUsuario.Add(usuario); _context.SaveChanges(); string sql = "INSERT INTO[dbo].[ControleAcesso] ([login], [senha], [idUsuario]) VALUES (@login, @senha, @idUsuario)"; _context.Database.ExecuteSqlCommand(sql, new SqlParameter("@login", controleAcesso.Login), new SqlParameter("@senha", controleAcesso.Senha), new SqlParameter("@idUsuario", usuario.Id.Value)); dbContextTransaction.Commit(); return(true); } catch (Exception) { dbContextTransaction.Rollback(); } } } return(false); }
public object FindByLogin(ControleAcesso controleAcesso) { bool credentialsValid = false; if (controleAcesso != null && !string.IsNullOrWhiteSpace(controleAcesso.Login)) { ControleAcesso baseLogin = _repositorio.FindByLogin(controleAcesso.Login); credentialsValid = (baseLogin != null && controleAcesso.Login == baseLogin.Login && controleAcesso.Senha == baseLogin.Senha); } if (credentialsValid) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(controleAcesso.Login, "Login"), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, controleAcesso.Login) }); DateTime createDate = DateTime.Now; DateTime expirationDate = createDate + TimeSpan.FromSeconds(_tokenConfiguration.Seconds); JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler(); string token = CreateToken(identity, createDate, expirationDate, handler); return(SuccessObject(createDate, expirationDate, token, controleAcesso.Login)); } else { return(ExceptionObject()); } }
public IActionResult Post([FromBody] ControleAcesso controleAcesso) { if (controleAcesso == null) { return(BadRequest()); } return(new ObjectResult(_controleAcessoBusiness.FindByLogin(controleAcesso))); }
public async Task <ActionResult> NovoControleAcesso(int empresaId, int tipoAcesso) { var empresas = await this.service.RetornarTodasEmpresas(); ViewData.Add("EmpresasForSelectList", PreparaParaListaDeEmpresas(empresas, null)); ViewData.Add("AcessosEnum", PreparaParaListaDeTiposAcesso()); var _enumAcesso = (EnumAreaAcesso)Enum.Parse(typeof(EnumAreaAcesso), tipoAcesso.ToString()); var _acesso = new ControleAcesso { EmpresaId = empresaId, AreaAcesso = _enumAcesso }; if (await this.repo.InserirNovoControleAcesso(_acesso)) { return(RedirectToAction("ListarControlesAcessos")); } return(View("Index")); }
public bool Create(Usuario usuario, ControleAcesso controleAcesso) { return(_repositorio.Create(usuario, controleAcesso)); }
public ControleAcesso FindByEmail(ControleAcesso controleAcesso) { return(_context.ControleAcesso.SingleOrDefault(prop => prop.Login.Equals(controleAcesso.Login))); }
public async Task <JsonResult> CarregaReferencia(int id) { var referencia = await db.Referencias.FindAsync(id); referencia.SincronizaAtividades(new CalendarioServices()); var app = new AtividadeApplication(db); var atvidx = await app.GetAtividadeIndexAsync(referencia.Id); var refvm = new { Id = referencia.Id, PrevistoDoMes = referencia.Previsto.BigTimeSpanToString(), PrevistoCorrente = referencia.PrevistoCorrente.BigTimeSpanToString(), RealizadoDoMes = referencia.Realizado.BigTimeSpanToString(), SaldoDoMes = referencia.SaldoDoMes.BigTimeSpanToString(), Saldo = referencia.Saldo.BigTimeSpanToString(), BancoDeHoras = referencia.BancoDeHoras.BigTimeSpanToString(), Ano = referencia.Ano.ToString(), Mes = referencia.Mes.ToString("D2"), Atividades = ControleAcesso.TemAcesso(SegurancaResources.EDITAR_ATIVIDADE) ? atvidx.Atividades.Select(x => new string[] { x.ProjectNodeNome, x.TipoAtividadeNome, x.Observacao, x.Inicio.ToString("dd/MM/yyyy"), x.Inicio.ToString("HH:mm"), x.Fim.ToString("HH:mm"), ((TimeSpan)(x.Fim - x.Inicio)).TimeSpanToString(), x.Inicio.ToString("yyyy-MM-dd"), x.ReferenciaFechado?"":"<a href='" + Url.Action("Edit", "Home", new { id = x.Id.ToString() }) + "'><span class='glyphicon glyphicon-edit'></span></a>", x.ReferenciaFechado?"":"<span data-id='" + x.Id.ToString() + "' class='glyphicon glyphicon-remove delete-button' id='spdeletar" + x.Id.ToString() + "'></span>", } ).ToArray() : atvidx.Atividades.Select(x => new string[] { x.ProjectNodeNome, x.TipoAtividadeNome, x.Observacao, x.Inicio.ToString("dd/MM/yyyy"), x.Inicio.ToString("HH:mm"), x.Fim.ToString("HH:mm"), ((TimeSpan)(x.Fim - x.Inicio)).TimeSpanToString(), x.Inicio.ToString("yyyy-MM-dd") } ).ToArray(), ConsolidadoDiario = atvidx.ConsolidadoDiario.Select(x => new string[] { x.Data.ToString("dd/MM/yyyy"), x.Horas.TimeSpanToString(), x.ClienteNome, x.Data.ToString("yyyy-MM-dd") } ).ToArray() }; return(Json(refvm)); }
public bool Authorize([NotNull] DashboardContext context) { return(ControleAcesso.TemAcesso(SegurancaResources.JOBS)); }