public DataTable CarregarConsultas(DateTime inicio, DateTime fim)
        {
            fim = fim.AddDays(1);
            var listaDeConsutas = ConsultasData.BuscarConsultaPorClienteId(Cliente.Id);

            listaDeConsutas = listaDeConsutas.Where(a => a.Inicio >= inicio && a.Fim <= fim).ToList();

            var datatable = new DataTable();

            datatable.Columns.Add("Id");
            datatable.Columns.Add("Inicio", typeof(DateTime));
            datatable.Columns.Add("Fim", typeof(DateTime));
            datatable.Columns.Add("Procedimento");
            datatable.Columns.Add("Status");
            datatable.Columns.Add("ValorConsulta", typeof(double));

            SomaConsultaRealizada = 0;

            foreach (var item in listaDeConsutas)
            {
                datatable.Rows.Add(item.Id, item.Inicio, item.Fim, item.Procedimento.Nome, item.Status, item.ValorConsulta);
                if (item.Status == Model.Enums.StatusConsulta.Realizada)
                {
                    SomaConsultaRealizada += item.ValorConsulta;
                }
            }

            return(datatable);
        }
예제 #2
0
        private bool HorarioDisponivel()
        {
            if (HoraInicio == null || Consulta.Fim == null || MinutoInicio == null || MinutoFim == null)
            {
                return(true);
            }

            NormalizaDataTime();

            List <Consulta> listaConsulta = ConsultasData.ListaDeConsultas(Consulta.Inicio.Date);
            TimeRange       timeRange1    = new TimeRange(Consulta.Inicio, Consulta.Fim);

            foreach (var itemConsulta in listaConsulta)
            {
                if (itemConsulta.Id != Consulta.Id)
                {
                    TimeRange timeRange2 = new TimeRange(itemConsulta.Inicio, itemConsulta.Fim);

                    //var a = timeRange1.GetRelation(timeRange2);

                    bool horariosSeCruzao = timeRange1.OverlapsWith(timeRange2);

                    if (horariosSeCruzao)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
        public FinalizacaoConsultaViewModel(int idConsulta, out bool procedimentoDaListaDeOrcamento, out string procedimentoDaListaDeOrcamentoNome)
        {
            TodosOsProcedimentos = ConsultasData.ListarTodosOsProcedimentos();
            Consulta             = ConsultasData.SelecionarConsulta(idConsulta);

            var idProcedimentoDaConsulta = Consulta.Procedimento.Id;

            Consulta.Fim = DateTime.Now;



            ProcedimentosEmOrcamento = CarregarProcedimentosDeOrcamento();

            ListaProdutosUtilizadoNaConsulta = new ObservableCollection <ProdutoUtilizadoEmConsulta>();

            CarregarProdutosDaConsulta();

            ProcedimentoSelecionado        = ProcedimentosEmOrcamento.FirstOrDefault(a => a.Id == idProcedimentoDaConsulta);
            procedimentoDaListaDeOrcamento = false;
            if (ProcedimentoSelecionado != null)
            {
                procedimentoDaListaDeOrcamento = true;
            }
            else
            {
                ProcedimentoSelecionado = TodosOsProcedimentos.First(_ => _.Id == idProcedimentoDaConsulta);
            }
            procedimentoDaListaDeOrcamentoNome = ProcedimentoSelecionado.Nome;
            LimparlistaDeProdutos();
        }
 //-----------------------------------------------------------------------------------------------------------------------------------
 //--------------------------------------------*********Metodos**********-------------------------------------------------------------
 //-----------------------------------------------------------------------------------------------------------------------------------
 public bool IniciarConsulta()
 {
     if (ConsultaSelecionada != null)
     {
         if (ConsultaSelecionada.Status == StatusConsulta.Agendada)
         {
             bool salvo = ConsultasData.SalvarInicioDaConsulta(ConsultaSelecionada);
             return(salvo);
         }
     }
     return(false);
 }
 public void BuscarConsultaCliente(string nome)
 {
     if (nome == "")
     {
         DataSelecionada = DateTime.Now;
         CarregarListaDeConsultasData();
         CalendarioAtivo = true;
         return;
     }
     CalendarioAtivo  = false;
     ListaDeConsultas = ConsultasData.BuscarConsultaPorClienteNome(nome);
 }
 //-----------------------------------------------------------------------------------------------------------------------------------
 //--------------------------------------------*********Botoes**********--------------------------------------------------------------
 //-----------------------------------------------------------------------------------------------------------------------------------
 public bool SalvarCancelamentoDeConsulta(bool reagendada)
 {
     if (reagendada)
     {
         Consulta.Status = Model.Enums.StatusConsulta.Reagendada;
     }
     else
     {
         Consulta.Status = Model.Enums.StatusConsulta.Cancelada;
     }
     
     Consulta.Obs = ($"Motivo do cancelamento: {MotivoDoCancelamento.ToLower()}.\n{Consulta.Obs}");
     
     return ConsultasData.SalvarStatusDeConsulta(Consulta);
 }
        public void BuscarConsultaId(string id)
        {
            if (id == "")
            {
                DataSelecionada = DateTime.Now;
                CarregarListaDeConsultasData();
                CalendarioAtivo = true;
                return;
            }
            var teste = int.TryParse(id, out int idInt);

            if (teste == true)
            {
                CalendarioAtivo  = false;
                ListaDeConsultas = ConsultasData.BuscarConsultaPorClienteId(idInt);
            }
        }
예제 #8
0
        public string SalvarClick()
        {
            //Procedimento procedimento = ProcedimentoSelecionado;
            Consulta.Procedimento  = ProcedimentoSelecionado;
            Consulta.ValorConsulta = PrecoConsulta;
            Consulta.Status        = Model.Enums.StatusConsulta.Agendada;
            NormalizaDataTime();
            string msg;

            if (Consulta.Id == 0)
            {
                msg = ConsultasData.SalvarNovaConsulta(Consulta);
            }
            else
            {
                msg = ConsultasData.EditarConsulta(Consulta);
            }
            return(msg);
        }
예제 #9
0
        public CrudConsultasViewModel(int idConsulta, out bool procedimentoDaListaDeOrcamento, out string ProcedimentoSelecionadoNome)
        {
            PreencherHorarios();

            IfNovoCliente = false;

            NomeTela = "> Editar Consulta";

            Consulta = ConsultasData.SelecionarConsulta(idConsulta);

            if (Consulta.Status == Model.Enums.StatusConsulta.Reagendada)
            {
                Consulta.Status = Model.Enums.StatusConsulta.Agendada;
                Consulta.Id     = 0;
                NomeTela        = "> Reagendar Consulta";
                Consulta.Obs    = "";
            }

            IniciarTela();
            CarregarOrcamento();
            CarregarProcedimentos();

            procedimentoDaListaDeOrcamento = false;
            ProcedimentoSelecionadoNome    = Consulta.Procedimento.Nome;
            if (OrcamentosParaProcedimentos != null)
            {
                foreach (var item in OrcamentosParaProcedimentos)
                {
                    if (item.Procedimento.Id == Consulta.Procedimento.Id)
                    {
                        CarregarProcedimentosDeOrcamento();
                        procedimentoDaListaDeOrcamento = true;
                        ProcedimentoSelecionadoNome    = Consulta.Procedimento.Nome;
                        break;
                    }
                }
            }

            DataSelecionada = Consulta.Inicio;

            CarregarHoraAgendada();
        }
예제 #10
0
        public DataTable CarregaDataTable(DateTime inicio, DateTime fim, bool[] filtros)
        {
            QtdConsultasRealizadas  = 0;
            QtdConsultasReagendadas = 0;
            QtdConsultasCanceladas  = 0;
            QtdTotalDeConsultas     = 0;
            QtdConsultasAgendadas   = 0;

            var listaConsulta = ConsultasData.BuscarConsultaPorPeriodo(inicio, fim);

            if (filtros[0] == false)
            {
                listaConsulta = listaConsulta.Where(a => a.Status != Model.Enums.StatusConsulta.Agendada).ToList();
            }
            if (filtros[1] == false)
            {
                listaConsulta = listaConsulta.Where(a => a.Status != Model.Enums.StatusConsulta.Cancelada).ToList();
            }
            if (filtros[2] == false)
            {
                listaConsulta = listaConsulta.Where(a => a.Status != Model.Enums.StatusConsulta.Reagendada).ToList();
            }
            if (filtros[3] == false)
            {
                listaConsulta = listaConsulta.Where(a => a.Status != Model.Enums.StatusConsulta.Realizada).ToList();
            }

            var t1 = new DataTable();

            t1.Columns.Add("Id");
            t1.Columns.Add("Inicio");
            t1.Columns.Add("Cliente");
            t1.Columns.Add("Status");
            t1.Columns.Add("Procedimento");
            t1.Columns.Add("QuemRealizou");

            foreach (var item in listaConsulta)
            {
                if (item.Status != Model.Enums.StatusConsulta.Iniciada)
                {
                    string quemRealizou = "";
                    if (item.QuemRealizou != null)
                    {
                        quemRealizou = item.QuemRealizou.Nome;
                    }

                    t1.Rows.Add(item.Id, item.Inicio.ToShortDateString(), item.Cliente.Nome, item.Status.ToString(), item.Procedimento.Nome, quemRealizou);

                    QtdTotalDeConsultas += 1;
                    if (item.Status == Model.Enums.StatusConsulta.Realizada)
                    {
                        QtdConsultasRealizadas += 1;
                    }
                    else if (item.Status == Model.Enums.StatusConsulta.Reagendada)
                    {
                        QtdConsultasReagendadas += 1;
                    }
                    else if (item.Status == Model.Enums.StatusConsulta.Cancelada)
                    {
                        QtdConsultasCanceladas += 1;
                    }
                    else if (item.Status == Model.Enums.StatusConsulta.Agendada)
                    {
                        QtdConsultasAgendadas += 1;
                    }
                }
            }
            return(t1);
        }
 public CancelarConsultaViewModel(int id)
 {
     Consulta = ConsultasData.SelecionarConsulta(id);
 }
예제 #12
0
 private void CarregarProcedimentos()
 {
     TodosOsProcedimentos = ConsultasData.ListarTodosOsProcedimentos();
 }
예제 #13
0
 //-----------------------------------------------------------------------------------------------------------------------------------
 //--------------------------------------------*********metodos**********-------------------------------------------------------------
 //-----------------------------------------------------------------------------------------------------------------------------------
 public void SalvarLog(Dictionary <string, string> dictionary)
 {
     ConsultasData.SalvarLogDeAtestadosGerados(dictionary);
 }
예제 #14
0
 public void SalvarLogAnotacoes(string anotacoes)
 {
     ConsultasData.GerarLogDeReceituario(anotacoes);
 }
 public void CarregarListaDeConsultasData()
 {
     ListaDeConsultas = ConsultasData.ListaDeConsultas(DataSelecionada);
 }