Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
 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 };
 }