public Disponibilidad listarPorFecha(string fecha) { return(DisponibilidadRepository.listarPorFecha(fecha)); }
public void RegistrarCita(FormularioCita entity, int PacienteId) { var cita = new Cita(); var conversor = new ConversorDeFechaYHora(); var correo = new SendEmail(); var disponibilidad = new Disponibilidad(); try { var tipoAtencion = tipoAtencionRepository.FindByDescription(entity.TipoAtencion); var paciente = PacienteRepository.FindById(PacienteId); 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("19: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 = 1; notificacion.ReceptorId = paciente.UsuarioId; notificacion.TipoNotificacion = "NUEVACITA"; notificacionRepository.Save(notificacion); var especialista = especialistaRepository.FindById(1); string emailUserTo2 = especialista.Usuario.Email; string nombreEspecialista = especialista.Usuario.Nombre + " " + especialista.Usuario.Apellido; //Email Paciente string emailUserTo = cita.Paciente.Usuario.Email; string subject = "Nueva cita"; string nombrePaciente = cita.Paciente.Usuario.Nombre + " " + cita.Paciente.Usuario.Apellido; string horaCitaEmail = cita.HoraInicioAtencion.ToString(); //string nombreEspecialistaEmail = disponibilidad.Especialista.Usuario.Nombre + " "+disponibilidad.Especialista.Usuario.Apellido; string textBody = "El especialista " + nombreEspecialista + " registró una nueva cita para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombrePaciente, emailUserTo, subject, textBody); //var valdicacionCorreo = correo.verificarEMail(emailUserTo); //Email Especialista string textBody2 = "Acabas de registrar una cita para el paciente: " + nombrePaciente + " para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombreEspecialista, emailUserTo2, subject, textBody2); }catch (System.Exception) { throw; } }