public void Delete(int idClinica, int id) { using (var repositorio = new OdontologistaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection()))) { repositorio.Deletar(new Odontologista() { Id = id, IdClinica = idClinica }); } }
public Odontologista Get(int idClinica, int id) { try { using (var repositorio = new OdontologistaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection()))) { return(repositorio.Buscar(idClinica).Where(x => x.Id == id).FirstOrDefault()); } } catch (Exception ex) { throw ex; } }
public IEnumerable <Odontologista> Get(int idClinica) { try { using (var repositorio = new OdontologistaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection()))) { return(repositorio.Buscar(idClinica)); } } catch (Exception ex) { throw ex; } }
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(); } }
public void Post([FromBody] Odontologista value) { var conexao = new Connection(new System.Data.SqlClient.SqlConnection()); try { #region Validaçãoes if (!Validacoes.ValidaCpf(value.Cpf)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cpf inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cpf = value.Cpf.Replace(".", "").Replace("-", ""); } if (!Validacoes.ValidaCep(value.Cep)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cep inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cep = value.Cep.Replace("-", ""); } if (!Validacoes.ApenasNumeros(value.Cro)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro inválido."), ReasonPhrase = "Campo inválido" }); } if (!Enum.IsDefined(typeof(AgendaEnums.Uf), value.CroEstado)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro UF inválido."), ReasonPhrase = "Campo inválido" }); } if (string.IsNullOrWhiteSpace(value.Nome)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Nome inválido."), ReasonPhrase = "Campo inválido" }); } if (value.IdClinica <= 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Clínica inválida."), ReasonPhrase = "Campo inválido" }); } if (!Validacoes.ValidaDataNascimento(value.DataNascimento)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Data de nascimento inválida."), ReasonPhrase = "Campo inválido" }); } #endregion using (var repositorio = new OdontologistaRepositorio(conexao)) { int id = repositorio.Criar(value); if (id > 0) { using (var repositorioAgenda = new AgendaRepositorio(conexao)) { repositorioAgenda.Criar(new Agenda(id, value.IdClinica, 30)); } } } } catch (Exception ex) { throw ex; } finally { conexao.Dispose(); } }
public void Put([FromBody] Odontologista value) { #region Validaçãoes if (value.Id <= 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Objeto inválido."), ReasonPhrase = "Campo inválido" }); } if (!Validacoes.ValidaCpf(value.Cpf)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cpf inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cpf = value.Cpf.Replace(".", "").Replace("-", ""); } if (!Validacoes.ValidaCep(value.Cep)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cep inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cep = value.Cep.Replace("-", ""); } if (!Validacoes.ApenasNumeros(value.Cro)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro inválido."), ReasonPhrase = "Campo inválido" }); } if (!Enum.IsDefined(typeof(AgendaEnums.Uf), value.CroEstado)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro UF inválido."), ReasonPhrase = "Campo inválido" }); } if (string.IsNullOrWhiteSpace(value.Nome)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Nome inválido."), ReasonPhrase = "Campo inválido" }); } if (value.IdClinica <= 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Clínica inválida."), ReasonPhrase = "Campo inválido" }); } if (!Validacoes.ValidaDataNascimento(value.DataNascimento)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Data de nascimento inválida."), ReasonPhrase = "Campo inválido" }); } #endregion using (var repositorio = new OdontologistaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection()))) { repositorio.Atualizar(value); } }