コード例 #1
0
        // GET: api/Agendamento/5
        public IHttpActionResult Get(string filtro, DateTime filtroinicio, DateTime filtrofim)
        {
            if (filtro == null)
            {
                filtro = "";
            }

            Agendamento agendamento = new Agendamento();
            var         Id          = "";
            var         identity    = User.Identity as ClaimsIdentity;

            if (identity != null)
            {
                IEnumerable <Claim> claims = identity.Claims;
                Id = claims.First(x => x.Type == "Id").Value;
            }
            var iduser = agendamento.IdUsuario = Convert.ToInt32(Id);

            try
            {
                AgendamentoRepositorio repo = new AgendamentoRepositorio();
                var agend = repo.PesquisarAgendamentoPorIDUser(iduser, filtro, filtroinicio, filtrofim);
                return(Ok(agend));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #2
0
        private void ExcluirAgendamento_Click(object sender, RoutedEventArgs e)
        {
            control.MenuItem menuItem = (control.MenuItem)sender;

            control.ContextMenu contextMenu = (control.ContextMenu)menuItem.Parent;

            control.DataGrid item = (control.DataGrid)contextMenu.PlacementTarget;

            if (item.SelectedCells.Count > 0)
            {
                Agendamento            agendamento = (Agendamento)item.SelectedCells[0].Item;
                AgendamentoRepositorio repos       = new AgendamentoRepositorio();



                MessageBoxResult resposta;
                resposta = System.Windows.MessageBox.Show("Deseja realmente excluir este Agendamento?",
                                                          "Excluir", MessageBoxButton.YesNo,
                                                          MessageBoxImage.Question);

                if (resposta == MessageBoxResult.Yes)
                {
                    repos.Excluir(agendamento.Id);
                    AtualizarDG();
                }
                else
                {
                    e.Handled = true;
                }
            }
        }
コード例 #3
0
        public void Post([FromBody] Agendamento value)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            try
            {
                using (var repositorio = new AgendamentoRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
                {
                    #region Validaçãoes
                    if (repositorio.Buscar(new Agendamento()
                    {
                        IdAgenda = value.IdAgenda
                    }).Where(x => x.Data == value.Data && x.Horario == value.Horario).Count() > 0)
                    {
                        throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                        {
                            Content      = new StringContent("Existe um outro agendamento para esse mesmo horário."),
                            ReasonPhrase = "Agendamento inválido"
                        });
                    }
                    #endregion


                    repositorio.Criar(value);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexao.Dispose();
            }
        }
コード例 #4
0
        // GET: api/Agendamento

        public IHttpActionResult Get(DateTime dia, TimeSpan horaretirada, TimeSpan horadevolucao, int id)
        {
            try
            {
                AgendamentoRepositorio repo = new AgendamentoRepositorio();
                var agend = repo.ConsultarAgendamento(dia, horaretirada, horadevolucao, id);
                var QuantidadeDisponivel = 0;

                if (agend.Count > 0)
                {
                    QuantidadeDisponivel = agend.First().Quantidade;
                }
                else
                {
                    EquipamentoRepositorio repoEquip = new EquipamentoRepositorio();

                    Equipamento equipamento = new Equipamento();
                    equipamento          = repoEquip.ConsultarPorId(id);
                    QuantidadeDisponivel = equipamento.Quantidade;
                }
                return(Ok(QuantidadeDisponivel));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #5
0
        public ActionResult ObterAgendamento()
        {
            _repositorio = new AgendamentoRepositorio();

            _repositorio.ObterAgendamentos();
            ModelState.Clear();
            return(View(_repositorio.ObterAgendamentos()));
        }
コード例 #6
0
        private void AtualizarDG()
        {
            AgendamentoRepositorio repo = new AgendamentoRepositorio();

            lista = repo.PesquisarAgendamento2(txtPesquisar.Text, dpDataInicio.SelectedDate.Value, dpDataFim.SelectedDate.Value);
            dgCarteira.ItemsSource    = lista;
            dgCarteira.IsReadOnly     = true;
            dgCarteira.CanUserAddRows = false;
        }
コード例 #7
0
 public void Delete(int id)
 {
     using (var repositorio = new AgendamentoRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
     {
         repositorio.Deletar(new Agendamento()
         {
             Id = id
         });
     }
 }
コード例 #8
0
 public Agendamento Get(int idAgendamento)
 {
     using (var repositorioAgendamento = new AgendamentoRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
     {
         return(repositorioAgendamento.Buscar(new Agendamento()
         {
             Id = idAgendamento
         }).FirstOrDefault());
     }
 }
コード例 #9
0
        public IEnumerable <Agendamento> Get(DateTime data, int idAgenda)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            using (var repositorioAgendamento = new AgendamentoRepositorio(conexao))
            {
                return(repositorioAgendamento.Buscar(new Agendamento()
                {
                    IdAgenda = idAgenda
                }).Where(x => x.Data == data.Date));
            }
        }
コード例 #10
0
        private void OpcaoExcluir_Click(object sender, RoutedEventArgs e)
        {
            MenuItem menuItem = (MenuItem)sender;

            ContextMenu contextMenu = (ContextMenu)menuItem.Parent;

            DataGrid item = (DataGrid)contextMenu.PlacementTarget;

            if (item.SelectedCells.Count > 0)
            {
                Usuario                user       = (Usuario)item.SelectedCells[0].Item;
                UsuarioRepositorio     repos      = new UsuarioRepositorio();
                AgendamentoRepositorio reposAgend = new AgendamentoRepositorio();
                var  lista = reposAgend.PesquisarTodosAgendamento("");
                bool erro  = false;
                foreach (var agend in lista)
                {
                    agend.Usuario          = new Usuario();
                    agend.UsuarioAlteracao = new Usuario();

                    if (agend.Usuario.Id == user.Id || agend.UsuarioAlteracao.Id == user.Id)
                    {
                        erro = true;
                        break;
                    }
                }
                if (erro == true)
                {
                    MessageBox.Show("Este usuario ja possui um agendamento, por tal motivo não será possível fazer a exclusão.", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    MessageBoxResult resposta;
                    resposta = MessageBox.Show("Deseja realmente excluir este Usuario?",
                                               "Excluir", MessageBoxButton.YesNo,
                                               MessageBoxImage.Question);

                    if (resposta == MessageBoxResult.Yes)
                    {
                        repos.excluir(user.Id);
                        AtualizarDG();
                    }
                    else
                    {
                        e.Handled = true;
                    }
                }
            }
        }
コード例 #11
0
        public ActionResult ExcluirAgendamento(int id)
        {
            try
            {
                _repositorio = new AgendamentoRepositorio();
                if (_repositorio.ExcluirAgendamento(id))
                {
                    ViewBag.Mensagem = "Seu agendamento foi excluido com sucesso";
                }

                return(RedirectToAction("ObterAgendamento"));
            }
            catch (Exception)
            {
                return(View("ObterAgendamento"));
            }
        }
コード例 #12
0
        private void alterarStatusParaAtrasado_Click(object sender, RoutedEventArgs e)
        {
            control.MenuItem menuItem = (control.MenuItem)sender;

            control.ContextMenu contextMenu = (control.ContextMenu)menuItem.Parent;

            control.DataGrid item = (control.DataGrid)contextMenu.PlacementTarget;

            if (item.SelectedCells.Count > 0)
            {
                Agendamento            agendamento = (Agendamento)item.SelectedCells[0].Item;
                AgendamentoRepositorio repos       = new AgendamentoRepositorio();
                int usuario = agendamento.Usuario.Id;
                repos.Alterar(4, usuario, agendamento.Id);

                AtualizarDG();
            }
        }
コード例 #13
0
        public ActionResult AtualizarAgendamento(Agenda agendaObj)
        {
            try
            {
                _repositorio = new AgendamentoRepositorio();
                _repositorio.AtualizarAgendamento(agendaObj);

                _repositorio = new AgendamentoRepositorio();

                _repositorio.ObterAgendamentos();
                ModelState.Clear();


                //return View();
                return(RedirectToAction("ObterAgendamento", "Agenda", _repositorio.ObterAgendamentos()));
            }
            catch (Exception e)
            {
                return(View());
                //return View("ObterAgendamento");
            }
        }
コード例 #14
0
        // POST: api/Agendamento
        public IHttpActionResult Post([FromBody] Agendamento agendamento)
        {
            var Id       = "";
            var identity = User.Identity as ClaimsIdentity;

            if (identity != null)
            {
                IEnumerable <Claim> claims = identity.Claims;
                Id = claims.First(x => x.Type == "Id").Value;
            }
            agendamento.IdUsuario = Convert.ToInt32(Id);
            try
            {
                AgendamentoRepositorio Repo = new AgendamentoRepositorio();
                Repo.InserirAgendamento(agendamento);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #15
0
        public ActionResult IncluirAgendamento(Agenda agendaObj)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _repositorio = new AgendamentoRepositorio();

                    if (_repositorio.AdicionarAgendamento(agendaObj))
                    {
                        ViewBag.Mensagem = "Seu agendamento foi realizado com sucesso!";
                    }
                }

                _repositorio.ObterAgendamentos();
                ModelState.Clear();

                return(RedirectToAction("IncluirAgendamento"));
            }
            catch (Exception)
            {
                return(View("IncluirAgendamento"));
            }
        }
コード例 #16
0
        public IEnumerable <OdontologistaAgendamento> Todos(DateTime data, int idClinica)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            try
            {
                using (var repositorioOdonto = new OdontologistaRepositorio(conexao))
                {
                    var listaOdonto = new List <OdontologistaAgendamento>();

                    repositorioOdonto.Buscar(idClinica).ToList().ForEach(
                        x => listaOdonto.Add(new OdontologistaAgendamento()
                    {
                        Odontologista = x
                    }));
                    using (var repositorioAgenda = new AgendaRepositorio(conexao))
                    {
                        using (var repositorioAgendamento = new AgendamentoRepositorio(conexao))
                        {
                            using (var repositorioSemana = new SemanaAgendaRepositorio(conexao))
                            {
                                using (var repositorioDia = new DiaAgendaRepositorio(conexao))
                                {
                                    using (var repositorioDayOff = new AgendaDayOffRepositorio(conexao))
                                    {
                                        foreach (var item in listaOdonto)
                                        {
                                            var agenda = repositorioAgenda.Buscar(new Agenda()
                                            {
                                                IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                            }).FirstOrDefault();
                                            if (agenda != null)
                                            {
                                                var agendamentos = repositorioAgendamento.Buscar(new Agendamento()
                                                {
                                                    IdAgenda = agenda.Id
                                                }).Where(x => x.Data == data.Date);


                                                var semana = repositorioSemana.Buscar(new SemanaAgenda()
                                                {
                                                    IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                                }).Where(x => x.DiaSemana == (int)data.DayOfWeek + 1);


                                                var dia = repositorioDia.Buscar(new DiaAgenda()
                                                {
                                                    IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                                }).Where(x => x.Data == data.Date);


                                                var dayOff = repositorioDayOff.Buscar(new AgendaDayOff()
                                                {
                                                    IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                                }).Where(x => x.Data == data.Date);

                                                var listaAgendamentos = new List <Agendamento>();

                                                if (dayOff.Count() >= 1)
                                                {
                                                    return(null);
                                                }

                                                if (dia.Count() >= 1)
                                                {
                                                    foreach (var d in dia.Where(x => x.Data.Date == data.Date))
                                                    {
                                                        TimeSpan horario = d.HorarioAtendimentoInicio;
                                                        do
                                                        {
                                                            if (agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                   x.Horario >= horario &&
                                                                                   x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                   ).Count() > 0)
                                                            {
                                                                var agendamento = agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                                     x.Horario >= horario &&
                                                                                                     x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                                     ).FirstOrDefault();

                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = agendamento.Id,
                                                                    Data       = agendamento.Data,
                                                                    Horario    = agendamento.Horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = agendamento.IdPaciente,
                                                                    Nome       = agendamento.Nome
                                                                });
                                                            }
                                                            else
                                                            {
                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = 0,
                                                                    Data       = data.Date,
                                                                    Horario    = horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = 0
                                                                });
                                                            }
                                                            horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                                        } while (horario <= d.HorarioAtendimentoTermino);
                                                    }
                                                }

                                                if (semana.Count() >= 1)
                                                {
                                                    foreach (var s in semana.Where(x => x.DiaSemana == (int)data.DayOfWeek + 1))
                                                    {
                                                        TimeSpan horario = s.HorarioAtendimentoInicio;
                                                        do
                                                        {
                                                            if (agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                   x.Horario >= horario &&
                                                                                   x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                   ).Count() > 0)
                                                            {
                                                                var agendamento = agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                                     x.Horario >= horario &&
                                                                                                     x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                                     ).FirstOrDefault();

                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = agendamento.Id,
                                                                    Data       = agendamento.Data,
                                                                    Horario    = agendamento.Horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = agendamento.IdPaciente,
                                                                    Nome       = agendamento.Nome
                                                                });
                                                            }
                                                            else
                                                            {
                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = 0,
                                                                    Data       = data.Date,
                                                                    Horario    = horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = 0
                                                                });
                                                            }
                                                            horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                                        } while (horario <= s.HorarioAtendimentoTermino);
                                                    }
                                                }
                                                item.Agendamentos = listaAgendamentos;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

                    return(listaOdonto);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexao.Dispose();
            }
        }
コード例 #17
0
        public IEnumerable <DateTime> DiasDisponiveis(int meses, int idOdontologista, int idClinica)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            using (var repositorio = new AgendaRepositorio(conexao))
            {
                var agenda = repositorio.Buscar(new Agenda()
                {
                    IdClinica = idClinica, IdOdontologista = idOdontologista
                }).FirstOrDefault();
                if (agenda == null)
                {
                    return(null);
                }

                using (var repositorioAgendamento = new AgendamentoRepositorio(conexao))
                {
                    var agendamentos = repositorioAgendamento.Buscar(new Agendamento()
                    {
                        IdAgenda = agenda.Id
                    });

                    using (var repositorioSemana = new SemanaAgendaRepositorio(conexao))
                    {
                        var semana = repositorioSemana.Buscar(new SemanaAgenda()
                        {
                            IdClinica = idClinica, IdOdontologista = idOdontologista
                        });

                        using (var repositorioDia = new DiaAgendaRepositorio(conexao))
                        {
                            var dia = repositorioDia.Buscar(new DiaAgenda()
                            {
                                IdClinica = idClinica, IdOdontologista = idOdontologista
                            });

                            using (var repositorioDayOff = new AgendaDayOffRepositorio(conexao))
                            {
                                var dayOff = repositorioDayOff.Buscar(new AgendaDayOff()
                                {
                                    IdClinica = idClinica, IdOdontologista = idOdontologista
                                });

                                var listaDatas = new List <DateTime>();
                                var dataAtual  = DateTime.Now;

                                while (dataAtual <= DateTime.Now.AddMonths(meses))
                                {
                                    if (dayOff.Where(x => x.Data.Date == dataAtual.Date).Count() >= 1)
                                    {
                                        dataAtual = dataAtual.AddDays(1);
                                        continue;
                                    }

                                    if (dia.Where(x => x.Data.Date == dataAtual.Date).Count() >= 1)
                                    {
                                        foreach (var d in dia.Where(x => x.Data.Date == dataAtual.Date))
                                        {
                                            TimeSpan horario = d.HorarioAtendimentoInicio;
                                            do
                                            {
                                                if (agendamentos.Where(x => x.Data.Date == dataAtual.Date &&
                                                                       x.Horario >= horario &&
                                                                       x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                       ).Count() == 0)
                                                {
                                                    listaDatas.Add(dataAtual);
                                                    horario = d.HorarioAtendimentoTermino.Add(new TimeSpan(90000));
                                                }
                                                else
                                                {
                                                    horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                                }
                                            } while (horario <= d.HorarioAtendimentoTermino);
                                        }
                                    }

                                    if (semana.Where(x => x.DiaSemana == (int)dataAtual.DayOfWeek + 1).Count() >= 1 &&
                                        listaDatas.Where(x => x.Date == dataAtual.Date).Count() == 0)
                                    {
                                        foreach (var s in semana.Where(x => x.DiaSemana == (int)dataAtual.DayOfWeek + 1))
                                        {
                                            TimeSpan horario = s.HorarioAtendimentoInicio;
                                            do
                                            {
                                                if (agendamentos.Where(x => x.Data.Date == dataAtual.Date &&
                                                                       x.Horario >= horario &&
                                                                       x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                       ).Count() == 0)
                                                {
                                                    listaDatas.Add(dataAtual);
                                                    horario = s.HorarioAtendimentoTermino.Add(new TimeSpan(90000));
                                                }
                                                horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                            } while (horario <= s.HorarioAtendimentoTermino);
                                        }
                                    }
                                    dataAtual = dataAtual.AddDays(1);
                                }
                                return(listaDatas);
                            }
                        }
                    }
                }
            }
        }
コード例 #18
0
 public AgendamentoController()
 {
     repo = new AgendamentoRepositorio();
 }
コード例 #19
0
 public void Inicializar()
 {
     BaseSqlTeste.SeedDatabase();
     _agendamentoRepositorio = new AgendamentoRepositorio();
 }
コード例 #20
0
 public ActionResult AtualizarAgendamento(int id)
 {
     _repositorio = new AgendamentoRepositorio();
     return(View(_repositorio.ObterAgendamentos().Find(t => t.cod_agendamento == id)));
 }