public BloqueioAgenda SalvarBloqueioAgenda(BloqueioAgenda model) { if (model.IdBloqueio > 0) { Context.Entry(model).State = EntityState.Modified; } else { Context.BloqueioAgenda.Add(model); } Context.SaveChanges(); return(model); }
public void ExcluirBloqueioAgenda(BloqueioAgenda model) { Context.BloqueioAgenda.Remove(model); Context.SaveChanges(); }
public BloqueioAgenda SalvarBloqueioAgenda(BloqueioAgenda model) { return(_repository.SalvarBloqueioAgenda(model)); }
public void ExcluirBloqueioAgenda(BloqueioAgenda model) { _repository.ExcluirBloqueioAgenda(model); }
public HttpResponseMessage SalvarBloqueioAgenda(BloqueioAgendaViewModel model) { var result = new BloqueioAgendaAvisoViewModel(); try { if (model.IdBloqueio > 0) { var bloqueio = _serviceAgenda.ObterBloqueioAgenda(model.IdBloqueio); bloqueio.SetDataFim(model.DataFim); bloqueio.SetDataInicio(model.DataInicio); bloqueio.SetMotivo(model.Motivo); _serviceAgenda.SalvarBloqueioAgenda(bloqueio); } else { var funcionario = _cadastroService.ObterFuncionarioById(model.IdFuncionario); if (funcionario == null) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Não foi possível recuperar dados do funcionário.")); } var clinica = _cadastroService.ObterClinicaById(base.GetUsuarioLogado().IdClinica); if (clinica == null) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Não foi possível recuperar dados da clinica.")); } //recupero a agenda do funcionário no periódo selecionado var agendaperiodo = _serviceAgenda.ListarAgendaMedicaPorPeriodo(funcionario.IdFuncionario, model.DataInicio, model.DataFim); if (agendaperiodo.Count == 0) { var bloqueio = new BloqueioAgenda(funcionario, clinica, model.DataInicio, model.DataFim, model.Motivo); _serviceAgenda.SalvarBloqueioAgenda(bloqueio); result.Aceito = true; } else { result.Aceito = false; var marcados = agendaperiodo.Where(x => x.Situacao == "Marcado").ToList(); foreach (var item in marcados) { result.PacientesMarcados.Add(new PacientesMarcados { Data = item.Data.ToShortDateString() + " as " + item.Hora.ToString(@"hh\:mm"), Email = item.Paciente.Pessoa.Email, Nome = item.Paciente.Pessoa.Nome, Telefone = item.Paciente.Pessoa.Telefone1 }); } } } return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }