示例#1
0
 public virtual Turno RegistrarIngreso(Secretaria secretariaRecepcionista)
 {
     MoverEstado(EventoTurno.Presentar, secretariaRecepcionista.Persona);
     //Reseteo de las inasistencias
     Paciente.ResetInasistencias();
     return this;
 }
示例#2
0
        public static Turno CreateSobreTurno(DateTime fechaTurno, TimeSpan duracionTurno, Paciente paciente, Profesional profesional, Especialidad especialidad, Secretaria secretariaReservadoraTurno, Consultorio consultorio, Plan plan,String numeroAfiliado,Decimal coseguro, bool esTelefonico)
        {
            if (paciente == null) throw new ArgumentNullException("paciente");
            if (profesional == null) throw new ArgumentNullException("profesional");
            if (especialidad == null) throw new ArgumentNullException("especialidad");
            if (secretariaReservadoraTurno == null) throw new ArgumentNullException("secretariaReservadoraTurno");

            if (!profesional.Especialidades.Contains(especialidad))
                throw new ArgumentException(@"El Profesional seleccionado para el turno no atiende la Especialidad seleccionada", "especialidad");

            var turno = new Turno(secretariaReservadoraTurno.Persona)
            {
                FechaTurno = fechaTurno,
                DuracionTurno = duracionTurno,
                Paciente = paciente,
                Profesional = profesional,
                Especialidad = especialidad,
            //RM SE AGREGA DATOS DE LA FORMA DE PAGO AL TURNO
                Consultorio=consultorio,
                Plan = plan,
                NumeroAfiliado = numeroAfiliado,
                Coseguro = coseguro,
                EsTelefonico = esTelefonico,
                EsSobreTurno = true,
                EsObtenidoWeb = false
            };

            return turno;
        }