public void saveByUserId(SolicitudTratamiento entity, int userId)
        {
            solicitudTratamientoRepository.saveByUserId(entity, userId);


            if (entity.Id > 0)
            {
                var notificacion = new Notificacion();

                notificacion.EmisorId         = userId;
                notificacion.ReceptorId       = 1;
                notificacion.TipoNotificacion = "NUEVOTRATAMIENTO";

                notificacionRepository.Save(notificacion);
            }
        }
Exemplo n.º 2
0
        public bool registrarTratamiento(FormularioTratamiento t)
        {
            var nuevoTratamiento = new Tratamiento();
            var conversor        = new ConversorDeFechaYHora();
            var registroExitoso  = false;

            try{
                nuevoTratamiento.TipoTratamiento        = t.TipoTratamiento;
                nuevoTratamiento.FechaEnvio             = conversor.TransformarAFecha(t.FechaEnvio);
                nuevoTratamiento.FechaInicio            = conversor.TransformarAFecha(t.FechaInicio);
                nuevoTratamiento.FechaFin               = conversor.TransformarAFecha(t.FechaFin);
                nuevoTratamiento.FrecuenciaAlDia        = t.FrecuenciaAlDia;
                nuevoTratamiento.TiempoPorTerapia       = t.TiempoPorTerapia;
                nuevoTratamiento.ImagenEditada          = t.ImagenEditada;
                nuevoTratamiento.SolicitudTratamientoId = t.SolicitudTratamientoId;
                var solicitudAResponder = solicitudTratamientoRepository.FindById(t.SolicitudTratamientoId);
                nuevoTratamiento.SolicitudTratamiento = solicitudAResponder;

                solicitudTratamientoRepository.actualizarEstadoDeSolicitudDeTratamiento(
                    nuevoTratamiento.SolicitudTratamientoId, "Respondido"
                    );

                nuevoTratamiento.Estado = "En Proceso";

                tratamientoRepository.Save(nuevoTratamiento);
                registroExitoso = true;
                if (registroExitoso)
                {
                    var notificacion = new Notificacion();
                    notificacion.EmisorId         = 1;
                    notificacion.ReceptorId       = solicitudAResponder.Paciente.UsuarioId;
                    notificacion.TipoNotificacion = "RESPONDERTRATAMIENTO";
                    notificacionRepository.Save(notificacion);
                }
            }catch (System.Exception) {
                throw;
            }
            return(registroExitoso);
        }
 public void Save(Notificacion entity)
 {
     NotificacionRepository.Save(entity);
 }
Exemplo n.º 4
0
        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;
            }
        }