public bool actualizarCita([FromRoute] int id, FormularioCitaPaciente form) { return(CitaService.actualizarCita(id, form)); }
public FormularioCitaPaciente RegistrarCitaPaciente([FromBody] FormularioCitaPaciente entity, [FromQuery] int PacienteId) { CitaService.RegistrarCitaPaciente(entity, PacienteId); Console.WriteLine(StatusCode(Microsoft.AspNetCore.Http.StatusCodes.Status201Created)); return(entity); }
public bool actualizarCita(int id, FormularioCitaPaciente form) { var cita = new Cita(); var conversor = new ConversorDeFechaYHora(); var disponibilidadAnterior = new Disponibilidad(); var disponibilidadActual = new Disponibilidad(); var citaActualizada = false; var horaInicioAnterior = new DateTime(); var horaFinAnterior = new DateTime(); var horaInicioActual = new DateTime(); var horaFinActual = new DateTime(); var correo = new SendEmail(); try{ cita = this.CitaRepository.FindById(id); horaInicioAnterior = cita.HoraInicioAtencion; horaFinAnterior = cita.HoraFinAtencion; horaInicioActual = conversor.TransformarAHora(form.HoraInicioAtencion, form.Fecha); horaFinActual = conversor.TransformarAHora(form.HoraFinAtencion, form.Fecha); disponibilidadAnterior = disponibilidadRepository.listarPorFecha(cita.Fecha.ToString("yyyy-MM-dd")); disponibilidadActual = disponibilidadRepository.listarPorFecha(form.Fecha); var horarioDescartado = new HorarioDescartado(); horarioDescartado.HoraInicio = horaInicioActual; horarioDescartado.HoraFin = horaFinActual; if (disponibilidadAnterior != null) { if (disponibilidadActual == null) { disponibilidadActual = new Disponibilidad(); disponibilidadActual.Dia = conversor.TransformarAFecha(form.Fecha); disponibilidadActual.HoraInicio = conversor.TransformarAHora("07:00", form.Fecha); disponibilidadActual.HoraFin = conversor.TransformarAHora("18:00", form.Fecha); disponibilidadActual.EspecialistaId = 1; disponibilidadActual.Especialista = this.especialistaRepository.FindById(disponibilidadActual.EspecialistaId); var disInserted = this.disponibilidadRepository.guardarDisponibilidad(disponibilidadActual); horarioDescartado.DisponibilidadId = disInserted.Id; horarioDescartado.Disponibilidad = disInserted; this.horarioDescartadoRepository.Save(horarioDescartado); } this.horarioDescartadoRepository.actualizarHorarioDescartado(horaInicioAnterior, horaFinAnterior, horaInicioActual, horaFinActual, disponibilidadAnterior, disponibilidadActual); var tipoAtencion = tipoAtencionRepository.FindByDescription(form.TipoAtencion); PacienteRepository.ActualizarNumeroPaciente(form.Celular, cita.Paciente); cita.Fecha = conversor.TransformarAFecha(form.Fecha); cita.HoraInicioAtencion = conversor.TransformarAHora(form.HoraInicioAtencion, form.Fecha); cita.HoraFinAtencion = conversor.TransformarAHora(form.HoraFinAtencion, form.Fecha); cita.TipoAtencionId = tipoAtencion.Id; cita.TipoAtencion = tipoAtencion; citaActualizada = this.CitaRepository.actualizarCita(cita, id); } var notificacion = new Notificacion(); notificacion.EmisorId = cita.Paciente.UsuarioId; notificacion.ReceptorId = 1; notificacion.TipoNotificacion = "MODIFICARCITA"; notificacionRepository.Save(notificacion); //Email especialista var especialista = especialistaRepository.FindById(1); string emailUserTo = especialista.Usuario.Email; string nombreEspecialista = especialista.Usuario.Nombre + " " + especialista.Usuario.Apellido; string nombrePaciente = cita.Paciente.Usuario.Nombre + " " + cita.Paciente.Usuario.Apellido; string horaCitaEmail = cita.HoraInicioAtencion.ToString(); string textBody = "El paciente " + nombrePaciente + " modificó la cita para la siguiente fecha: " + horaCitaEmail; string subject = "Cita Modificada"; correo.sendEmailTo(nombreEspecialista, emailUserTo, subject, textBody); //Email Paciente string emailUserTo2 = cita.Paciente.Usuario.Email; string textBody2 = "Acabas de modificar la cita para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombrePaciente, emailUserTo2, subject, textBody2); } catch (System.Exception) { throw; } return(citaActualizada); }
public void procesarHorariosDescartados(Cita cita, FormularioCita fs = null, FormularioCitaPaciente fp = null) { }
public void RegistrarCitaPaciente(FormularioCitaPaciente entity, int PacienteId) { var cita = new Cita(); var conversor = new ConversorDeFechaYHora(); var disponibilidad = new Disponibilidad(); var correo = new SendEmail(); try { var tipoAtencion = tipoAtencionRepository.FindByDescription(entity.TipoAtencion); var paciente = PacienteRepository.buscarPorUsuarioId(PacienteId); PacienteRepository.ActualizarNumeroPaciente(entity.Celular, paciente); cita.Fecha = conversor.TransformarAFecha(entity.Fecha); cita.HoraInicioAtencion = conversor.TransformarAHora(entity.HoraInicioAtencion, entity.Fecha); cita.HoraFinAtencion = conversor.TransformarAHora(entity.HoraFinAtencion, entity.Fecha); cita.Estado = "En Proceso"; cita.PacienteId = paciente.Id; cita.Paciente = paciente; cita.TipoAtencionId = tipoAtencion.Id; cita.TipoAtencion = tipoAtencion; Save(cita); var horarioDescartado = new HorarioDescartado(); horarioDescartado.HoraInicio = cita.HoraInicioAtencion; horarioDescartado.HoraFin = cita.HoraFinAtencion; disponibilidad = disponibilidadRepository.listarPorFecha(entity.Fecha); if (disponibilidad != null) { horarioDescartado.DisponibilidadId = disponibilidad.Id; horarioDescartado.Disponibilidad = disponibilidad; } else { disponibilidad = new Disponibilidad(); disponibilidad.Dia = cita.Fecha; disponibilidad.HoraInicio = conversor.TransformarAHora("07:00", entity.Fecha); disponibilidad.HoraFin = conversor.TransformarAHora("18:00", entity.Fecha); disponibilidad.EspecialistaId = 1; disponibilidad.Especialista = this.especialistaRepository.FindById(disponibilidad.EspecialistaId); var disInserted = this.disponibilidadRepository.guardarDisponibilidad(disponibilidad); horarioDescartado.DisponibilidadId = disInserted.Id; horarioDescartado.Disponibilidad = disInserted; } this.horarioDescartadoRepository.Save(horarioDescartado); var notificacion = new Notificacion(); notificacion.EmisorId = paciente.UsuarioId; notificacion.ReceptorId = 1; notificacion.TipoNotificacion = "NUEVACITA"; notificacionRepository.Save(notificacion); var especialista = especialistaRepository.FindById(1); //Email Especialista string emailUserTo = especialista.Usuario.Email; string nombreEspecialista = especialista.Usuario.Nombre + " " + especialista.Usuario.Apellido; string nombrePaciente = cita.Paciente.Usuario.Nombre + " " + cita.Paciente.Usuario.Apellido; string horaCitaEmail = cita.HoraInicioAtencion.ToString(); string textBody = "El paciente " + nombrePaciente + " registró una cita para la siguiente fecha: " + horaCitaEmail; string subject = "Nueva Cita"; correo.sendEmailTo(nombreEspecialista, emailUserTo, subject, textBody); //Email Paciente string emailUserTo2 = cita.Paciente.Usuario.Email; string textBody2 = "Acabas de registrar una cita con el especialista " + nombreEspecialista + " para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombrePaciente, emailUserTo2, subject, textBody2); }catch (System.Exception) { throw; } }