public void ValidarCampos(SessaoGravacao sessao)
        {
            try
            {
                if (sessao == null)
                {
                    throw new ArgumentException("Sessão inválida");
                }

                if (sessao.DataFim.Date < sessao.DataInicio.Date)
                {
                    throw new ArgumentException("A Data Fim não pode ser menor que a Data Inicio");
                }

                if (sessao.HoraFim < sessao.HoraInicio)
                {
                    throw new ArgumentException("A Hora Fim não pode ser menor que a Hora Inicio");
                }

                if (sessao.DataInicio.Date > DateTime.Now.Date)
                {
                    throw new ArgumentException("A Data Inicio não pode ser maior que a data atual");
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void Desativar(int id)
        {
            SessaoGravacao sg = _contexto.SessoesGravacoes.Find(id);

            sg.DataExclusao = DateTime.Now;
            sg.FlagAtivo    = false;
            Salvar();
        }
        public IActionResult Create()
        {
            var model = new SessaoGravacao();

            model.DataInicio = DateTime.Now;
            model.DataFim    = DateTime.Now;

            CarregarCampos();
            return(View(model));
        }
        public void PreencherCampos(SessaoGravacao sessao)
        {
            try
            {
                if (sessao == null)
                {
                    throw new ArgumentException("Sessão inválida");
                }

                sessao.FlagAtivo    = true;
                sessao.DataCadastro = DateTime.Now;
                sessao.DataExclusao = null;

                ValidarCampos(sessao);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Edit(int id, SessaoGravacao sessaoGravacao)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    SessaoGravacaoService service = new SessaoGravacaoService();
                    service.ValidarCampos(sessaoGravacao);

                    _sessao.Atualizar(sessaoGravacao);
                    return(RedirectToAction(nameof(Index)));
                }

                return(View(sessaoGravacao));
            }
            catch (Exception ex)
            {
                Mensagem = ex.Message.ToString();
                ModelState.AddModelError(String.Empty, Mensagem);
                return(RedirectToAction(nameof(Edit)));
            }
        }
        public ActionResult Create(SessaoGravacao sessaoGravacao)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    sessaoGravacao.EmpresaID = Convert.ToInt32(User.FindFirst(ClaimTypes.GroupSid).Value);

                    SessaoGravacaoService service = new SessaoGravacaoService();
                    service.PreencherCampos(sessaoGravacao);

                    _sessao.Inserir(sessaoGravacao);
                    return(RedirectToAction(nameof(Index)));
                }

                return(View(sessaoGravacao));
            }
            catch (Exception ex)
            {
                Mensagem = ex.Message.ToString();
                ModelState.AddModelError(String.Empty, Mensagem);
                return(RedirectToAction(nameof(Create)));
            }
        }
 public void Inserir(SessaoGravacao objeto)
 {
     _contexto.SessoesGravacoes.Add(objeto);
     Salvar();
 }
        public void Excluir(int id)
        {
            SessaoGravacao sg = _contexto.SessoesGravacoes.Find(id);

            _contexto.SessoesGravacoes.Remove(sg);
        }
 public void Atualizar(SessaoGravacao objeto)
 {
     _contexto.SessoesGravacoes.Update(objeto);
     Salvar();
 }