Example #1
0
        public ActionResult Salvar(SessaoModel model)
        {
            ValidaAutorizaoAcessoUsuario(Constants.ConstPermissoes.gerenciamento);

            string msgExibicao = string.Empty;
            string msgAnalise  = string.Empty;

            try
            {
                var resultService = _agendaProxy.Salva(model);

                msgExibicao = resultService.Message;
                msgAnalise  = !resultService.Status ? "Falha!" : string.Empty;
            }
            catch (Exception ex)
            {
                var msgsRetornos = ErrosService.GetMensagemService(ex, HttpContext.Response);
                msgExibicao = msgsRetornos.Item1;
                msgAnalise  = !string.IsNullOrEmpty(msgsRetornos.Item2) ? msgsRetornos.Item2 : Constants.Constants.msgFalhaAoSalvar;
            }

            var mensagensRetorno = mensagens.ConfiguraMensagemRetorno(msgExibicao, msgAnalise);

            return(Json(new { mensagensRetorno }, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        private string GetTituloEvento(SessaoModel agenda)
        {
            var paciente     = agenda.Paciente.Pessoa.Nome.Substring(0, Math.Min(8, agenda.Paciente.Pessoa.Nome.Length));
            var profissional = agenda.Funcionario.Pessoa.Nome.Substring(0, Math.Min(8, agenda.Funcionario.Pessoa.Nome.Length));
            var titulo       = agenda.Modalidade + ", " + paciente + ", " + profissional;

            return(titulo);
        }
Example #3
0
        public IHttpActionResult SalvaAgenda(SessaoModel model)
        {
            var retorno = _agendaService.Salva(model);

            if (!retorno.Status)
            {
                return(new InvalidListMessageResult(retorno.Message));
            }

            return(Ok(retorno));
        }
Example #4
0
        private void InsereRegistroCaixa(SessaoModel model)
        {
            var registroCaixa =
                new Model.FluxoCaixa.CaixaModel {
                Data      = model.Data,
                Credito   = model.Valor,
                IdSessao  = model.Id,
                Descricao = "Sessão de " + model.Modalidade.Nome +
                            " para o(a) paciente " + model.Paciente.Pessoa.Nome
            };

            _caixaRepository.Salvar(registroCaixa);
        }
Example #5
0
        /// <summary>
        /// Configura o Model Sessão para carregar os dados do Recibo
        /// </summary>
        /// <param name="modelRetorno"></param>
        /// <returns></returns>
        private ReciboModel ConfiguraRecibo(SessaoModel modelRetorno)
        {
            var recibo = new ReciboModel();

            recibo = new ReciboModel
            {
                IdSessao         = modelRetorno.Id,
                Paciente         = modelRetorno.Paciente.Pessoa.Nome,
                CpfPaciente      = modelRetorno.Paciente.Pessoa.Cpf,
                Profissional     = modelRetorno.Funcionario.Pessoa.Nome,
                Data             = modelRetorno.Data,
                Valor            = modelRetorno.Valor.ToString("C"),
                ModalidadeSessao = modelRetorno.Modalidade.Nome
            };

            return(recibo);
        }
Example #6
0
        private void AtualizaRegistroCaixa(SessaoModel model)
        {
            var registroCaixaSessao = _caixaRepository.GetByIdSessao(model.Id);

            if (registroCaixaSessao != null)
            {
                registroCaixaSessao.Credito   = model.Valor;
                registroCaixaSessao.Descricao = "Sessão de " + model.Modalidade.Nome +
                                                " para o(a) paciente " + model.Paciente.Pessoa.Nome;

                _caixaRepository.Atualizar(registroCaixaSessao);
            }
            else
            {
                InsereRegistroCaixa(model);
            }
        }
Example #7
0
        public SessaoModel BuscarSessao(int idSessao)
        {
            string query = "SELECT id, id_sala, data_inicio FROM sessoes WHERE id = @id";

            SqlCommand cmd = new SqlCommand()
            {
                CommandType = CommandType.Text,
                CommandText = query
            };

            cmd.Parameters.AddWithValue("@id", idSessao);

            DataTable dt = FillDataTable(cmd);

            SessaoModel sessao = dt.AsEnumerable().Select(row => new SessaoModel
            {
                Id      = row.Field <int>("id"),
                IdSala  = row.Field <int>("id_sala"),
                Horario = row.Field <DateTime>("data_inicio"),
            }).ToList().FirstOrDefault();

            return(sessao);
        }
Example #8
0
        public ActionResult ModalCadastrar(string data = null)
        {
            ValidaAutorizaoAcessoUsuario(Constants.ConstPermissoes.gerenciamento);

            ViewBag.Usuario           = GetUsuarioSession().Item1;
            ViewBag.ListPacientes     = GetListPacientes();
            ViewBag.ListProfissionais = GetListProfissionais();
            ViewBag.ListHorarios      = GetListHorarios();

            var model = new SessaoModel();

            //model = model.GetModelDefault();

            if (!string.IsNullOrEmpty(data))
            {
                model.Data = Convert.ToDateTime(data);
            }
            else
            {
                model.Data = ConfiguraDataExibir();
            }

            return(PartialView("_Gerenciar", model));
        }
Example #9
0
        public Result <bool> Salva(SessaoModel model)
        {
            var podeSalvar = true;
            var result     = new Result <bool>();

            result.Value  = false;
            result.Status = false;

            if (model.Valor < 100)
            {
                result.Message = "O valor mínimo de uma Sessão é de R$100!";
            }
            else
            {
                model.Data = Convert.ToDateTime(String.Format("{0} {1}",
                                                              model.Data.ToShortDateString(), model.Horario));


                var pesquisaModel = new PesquisaModel
                {
                    IdPesquisa = model.IdPaciente,
                    DataIncio  = model.Data,
                    DataFim    = model.Data.AddHours(1)
                };

                var sessoesPaciente = _sessaoRepository.ListSessoesPeriodoIdPaciente(pesquisaModel);

                if (sessoesPaciente.Count > 0)
                {
                    if (model.Id != 0)
                    {
                        sessoesPaciente = sessoesPaciente.Where(x => x.Id != model.Id).ToList();
                    }

                    if (sessoesPaciente.Count > 0)
                    {
                        result.Message = "O Paciente já possui Sessão marcada para o dia e hora selecionados!";
                        podeSalvar     = false;
                    }
                }

                if (podeSalvar)
                {
                    if (model.Id == 0)
                    {
                        model = _sessaoRepository.Salvar(model);
                        if (model.Id != 0)
                        {
                            model = _sessaoRepository.GetById(model.Id);
                            InsereRegistroCaixa(model);
                            result.Message = "Sessão salva com sucesso!";
                            result.Value   = true;
                            result.Status  = true;
                        }
                        else
                        {
                            result.Message = "Falha ao salvar a Sessão!";
                        }
                    }
                    else
                    {
                        result.Value = _sessaoRepository.Atualizar(model);
                        if (result.Value)
                        {
                            model = _sessaoRepository.GetById(model.Id);
                            AtualizaRegistroCaixa(model);

                            result.Message = "Sessão atualizada com sucesso!";
                            result.Value   = true;
                            result.Status  = true;
                        }
                        else
                        {
                            result.Message = "Falha ao atualizar a Sessão!";
                        }
                    }
                }
            }

            return(result);
        }
Example #10
0
 private string GetDescricaoEvento(SessaoModel agenda)
 {
     return("Sessão de " + agenda.Modalidade.Nome + ", " +
            " agendada para o Paciente " + agenda.Paciente.Pessoa.Nome +
            " com o Profissional " + agenda.Funcionario.Pessoa.Nome);
 }
Example #11
0
 public Result <bool> Salva(SessaoModel model)
 {
     return(AsyncContext.Run(() =>
                             _apiClient.PostWithReturnAsync <SessaoModel, Result <bool> >($"{apiRoute}SalvaAgenda", model)));
 }