Beispiel #1
0
        public void NoPuedoOtorgarUnTurnoViaWebConAgendaQueNoPerteneceAlProfesional()
        {
            var paciente = ApplicationInstaller.PersonaPacientePablo.As<Paciente>();
            var profesional = ApplicationInstaller.PersonaProfesionalJoseClinicoYDermatologo.As<Profesional>();
            var especialidad = ApplicationInstaller.EspecialidadPediatra;
            var consultorio = ApplicationInstaller.ConsultorioA;
            var fechaTurno = new DateTime(2011, 02, 01);

            var agenda = new Agenda()
                             {
                                 Dia = DayOfWeek.Tuesday,
                                 DuracionTurno = TimeSpan.FromMinutes(15),
                                 HorarioDesde = new TimeSpan(10, 0, 0),
                                 HorarioHasta = new TimeSpan(12, 0, 0),
                                 Consultorio = ApplicationInstaller.ConsultorioA
                             };
            agenda.AgregarEspecialidad(ApplicationInstaller.EspecialidadClinico);

            var session = SessionFactory.GetCurrentSession();

            session.Update(profesional);
            session.Flush();
            session.Evict(profesional);

            Assert.Throws<ArgumentException>(() => Turno.Create(fechaTurno, TimeSpan.FromMinutes(15), paciente, profesional, especialidad, consultorio, "127.0.0.1"));
        }
 private void ProcesarEspecialidades(AgendaEditModel editModel, Agenda agenda)
 {
     var session = SessionFactory.GetCurrentSession();
     //Especialidades a eliminar
     var especialidadesAEliminar =
         agenda.EspecialidadesAtendidas.Where(
             x => !editModel.EspecialidadesSeleccionadas.Contains(x.Id)).ToList();
     foreach (var especialidadAEliminar in especialidadesAEliminar)
     {
         agenda.QuitarEspecialidad(especialidadAEliminar);
     }
     //Especialidades a agregar
     var especialidadesAAgregar =
         editModel.EspecialidadesSeleccionadas.Where(
             x => !agenda.EspecialidadesAtendidas.Select(p => p.Id).Contains(x)).ToList();
     foreach (var especialidadAAgregar in especialidadesAAgregar)
     {
         var especialidad = session.Load<Especialidad>(especialidadAAgregar);
         agenda.AgregarEspecialidad(especialidad);
     }
 }