private async Task <bool> EhDataHoraValida(AcaoEnum acaoEnum, DateTime dataHoraInicio, DateTime dataHoraFim, Guid turnoId) { if (acaoEnum.Equals(AcaoEnum.CADASTRAR)) { bool result = await _turnoRepository.PesquisarExisteTurnoDataHoraMaisRecente(dataHoraInicio); if (result) { Notificar("A data/hora não é a mais recente!"); return(false); } } TimeSpan diferencaDataHora = dataHoraFim.Subtract(dataHoraInicio); if (diferencaDataHora.Hours > 12 || diferencaDataHora.Days > 0) { Notificar("Não é possivel abrir um turno com mais de 12 horas!"); return(false); } if (await _turnoRepository.PesquisarExisteTurnoDataHoraRepetido(dataHoraInicio, dataHoraFim, turnoId)) { Notificar("Já exite um turno com a mesma data/hora Início e data/hora Fim!"); return(false); } return(true); }
public static ValidationItem <TEntity> Create(TEntity entity, AcaoEnum action, Func <TEntity, bool> rule, Mensagem message) { return(new ValidationItem <TEntity> { Entity = entity, Message = message, Rule = rule, Action = action }); }
public virtual bool IsValid(TEntity entity, AcaoEnum action) { Itens = new List <ValidationItem <TEntity> >(); InvalidMessages = new List <Mensagem>(); CreateAttributeValidations(entity); CreateBusinessRuleValidations(entity); Itens = Itens.Where(f => (f.Action & action) > 0).ToList(); if (Itens != null && Itens.Count > 0) { Itens.ToList().ForEach(feature => { if (!feature.IsValid()) { InvalidMessages.Add(feature.Message); } }); } return(InvalidMessages.Count <= 0); }
public static bool VerificaPermissao(HttpContext httpContext, FuncionalidadeEnum funcionalidade, AcaoEnum acao) { bool autorizado = false; if (httpContext.Session.IsAvailable) { var dados = httpContext.Session.GetString("Perfil"); if (dados != null) { var perfil = JsonConvert.DeserializeObject <PerfilViewModel>(dados); if (perfil != null) { var funcionalide = perfil.Permissoes.SingleOrDefault(x => x.Funcionalidade == funcionalidade); if (funcionalide != null) { autorizado = ((funcionalide.Acoes & (int)acao) == (int)acao); } } } } return(autorizado); }
public static bool TemPermissao(this IHtmlHelper html, FuncionalidadeEnum funcionalidade, AcaoEnum acao) { return(VerificaPermissao(html.ViewContext.HttpContext, funcionalidade, acao)); }
public AuthorizeActionFilter(FuncionalidadeEnum funcionalidade, AcaoEnum acao) { this.funcionalidade = funcionalidade; this.acao = acao; }
public TemPermissaoAttribute(FuncionalidadeEnum item, AcaoEnum action) : base(typeof(AuthorizeActionFilter)) { Arguments = new object[] { item, action }; }