public bool actualizarEstadoCita(int citaId, string estado, int usuarioId) { var disponibilidad = new Disponibilidad(); var horarioBorrado = false; var cita = new Cita(); var correo = new SendEmail(); try{ if (estado.Equals("Cancelado")) { cita = this.CitaRepository.FindById(citaId); disponibilidad = this.disponibilidadRepository.listarPorFecha(cita.Fecha.ToString("yyyy-MM-dd")); if (disponibilidad != null) { horarioBorrado = this.horarioDescartadoRepository.borrarPorDisponibilidadHoraInicio(cita.HoraInicioAtencion, disponibilidad); } var notificacion = new Notificacion(); //EMAIL Paciente string subject = "Cita Cancelada"; string emailUserTo = cita.Paciente.Usuario.Email; string nombrePaciente = cita.Paciente.Usuario.Nombre + " " + cita.Paciente.Usuario.Apellido; string horaCitaEmail = cita.HoraInicioAtencion.ToString(); //EMAIL ESPECIALISTA var especialista = especialistaRepository.FindById(1); string emailUserTo2 = especialista.Usuario.Email; string nombreEspecialista = especialista.Usuario.Nombre + " " + especialista.Usuario.Apellido; if (usuarioId == 1) { notificacion.EmisorId = usuarioId; notificacion.ReceptorId = cita.Paciente.UsuarioId; //EMAIL Paciente string textBody = "El especialista " + nombreEspecialista + " canceló la cita para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombrePaciente, emailUserTo, subject, textBody); //EMAIL ESPECIALISTA string textBody2 = "Acabas de cancelar la cita con el paciente " + nombrePaciente + " para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombreEspecialista, emailUserTo2, subject, textBody2); } else { notificacion.EmisorId = usuarioId; notificacion.ReceptorId = 1; //EMAIL ESPECIALISTA //string nombrePaciente = cita.Paciente.Usuario.Nombre + " "+ cita.Paciente.Usuario.Apellido; //string horaCitaEmail = cita.HoraInicioAtencion.ToString(); string textBody = "El paciente " + nombrePaciente + " canceló la cita para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombreEspecialista, emailUserTo2, subject, textBody); //EMAIL PACIENTE string textBody2 = "Acabas de cancelar la cita con el especialista " + nombreEspecialista + " para la siguiente fecha: " + horaCitaEmail; correo.sendEmailTo(nombrePaciente, emailUserTo, subject, textBody2); } notificacion.TipoNotificacion = "CANCELARCITA"; notificacionRepository.Save(notificacion); } } catch (System.Exception) { } return(CitaRepository.actualizarEstadoCita(citaId, estado)); }