示例#1
0
        public override ValidationResult ValidarAdicicao(Justificativa entity)
        {
            ValidationResult result = new ValidationResult();

            try
            {
                entity.DataInclusao = DateTime.Now;
                entity.Acao         = null; entity.Motivo = null;
                MotivoAcao motivo = _motivoAcaoService.BuscarPorId(entity.IdMotivo);
                MotivoAcao acao   = _motivoAcaoService.BuscarPorId(entity.IdAcao);
                if ((motivo?.ValidarObrigatoriedadeComplementoDescricao()).GetValueOrDefault() && string.IsNullOrEmpty(entity.MotivoJustificativa))
                {
                    throw new Exception("Descrição do motivo é obrigatória");
                }
                if ((acao?.ValidarObrigatoriedadeComplementoDescricao()).GetValueOrDefault() && string.IsNullOrEmpty(entity.AcaoJustificativa))
                {
                    throw new Exception("Descrição da ação é obrigatória");
                }
            }
            catch (Exception e)
            {
                result.Add(e.Message);
            }

            return(result);
        }
示例#2
0
        public void JustificarPorPrograma(int idPrograma, int idJustificador, MotivoAcao motivo, MotivoAcao acao)
        {
            var itens = this._itemMonitoramentoRepository.BuscarPorPrograma(idPrograma);

            IList <Justificativa> justificativas = new List <Justificativa>();

            foreach (var item in itens)
            {
                bool justificado = this._repository.EstaJustificado(item.IdItemGsnet, idJustificador);
                if (justificado)
                {
                    throw new NotSupportedException("Alguns dos itens selecionados já foram justificados. Verifique os itens selecionados");
                }

                justificativas.Add(new Justificativa
                {
                    IdItemMonitoramento = item.Id,
                    AcaoJustificativa   = acao.Descricao,
                    IdAcao = acao.Id,
                    MotivoJustificativa = motivo.Descricao,
                    IdMotivo            = motivo.Id,
                    IdJustificador      = idJustificador,
                    DataInclusao        = DateTime.Now,
                    Motivo = null,
                    Acao   = null
                });
            }
            this._repository.AdicionarVarios(justificativas);
        }
示例#3
0
        public ValidationResult JustificarPorPrograma(int idPrograma, int idJustificador, MotivoAcao motivo, MotivoAcao acao)
        {
            ValidationResult result = new ValidationResult();

            try
            {
                this._service.JustificarPorPrograma(idPrograma, idJustificador, motivo, acao);
            }
            catch (Exception e)
            {
                result.Add(e.Message);
            }
            return(result);
        }