Beispiel #1
0
        public SessionTO Add(SessionTO session)
        {
            if (session is null)
            {
                throw new ArgumentNullException(nameof(session));
            }

            if (session.Id != 0)
            {
                return(session);
            }

            if (session.Course.IsArchived)
            {
                throw new ArgumentException("Course can not be archived");
            }

            var entity = session.ToEF();

            entity.Course = registrationContext.Courses.FirstOrDefault(x => x.Id == session.Course.Id);

            entity.UserSessions = new List <UserSessionEF>();
            entity = registrationContext.Sessions.Add(entity).Entity;

            UpdateUserSessions(session, entity);

            return(entity.ToTransfertObject());
        }
        public void Should_Have_One_UserSessions()
        {
            #region TOInitialization

            UserTO student = new UserTO()
            {
                Id    = 1,
                Name  = "Jacky Fringant",
                Email = "*****@*****.**",
                Role  = UserRole.Attendee,
            };

            UserTO teacher = new UserTO()
            {
                Id    = 2,
                Name  = "Johnny Begood",
                Email = "*****@*****.**",
                Role  = UserRole.Teacher
            };

            CourseTO sql = new CourseTO()
            {
                Id   = 1,
                Name = "SQL"
            };

            SessionTO sessionTO = new SessionTO()
            {
                Id          = 1,
                Teacher     = teacher,
                Course      = sql,
                SessionDays = new List <SessionDayTO>()
                {
                    new SessionDayTO()
                    {
                        Id = 1, Date = new DateTime(2020, 2, 3), PresenceType = SessionPresenceType.MorningAfternoon
                    },
                    new SessionDayTO()
                    {
                        Id = 2, Date = new DateTime(2020, 2, 4), PresenceType = SessionPresenceType.MorningAfternoon
                    },
                    new SessionDayTO()
                    {
                        Id = 3, Date = new DateTime(2020, 2, 5), PresenceType = SessionPresenceType.MorningAfternoon
                    }
                },

                Attendees = new List <UserTO>()
                {
                    student,
                }
            };

            #endregion TOInitialization

            SessionEF sessionConverted = sessionTO.ToEF();
        }
Beispiel #3
0
        public SessionTO Add(SessionTO Entity)
        {
            if (Entity is null)
            {
                throw new ArgumentNullException(nameof(Entity));
            }

            if (Entity.Id != 0)
            {
                return(Entity);
            }

            var sessionEF = Entity.ToEF();

            sessionEF.Course = registrationContext.Courses.First(x => x.Id == Entity.Course.Id);

            registrationContext.Sessions.Add(sessionEF);
            return(sessionEF.ToTransfertObject());
            // => registrationContext.Add(Entity.ToEF()).Entity.ToTransfertObject();
        }
        public void Should_Have_One_UserSessions()
        {
            #region TOInitialization

            UserTO student = new UserTO()
            {
                Id          = 1,
                Name        = "Jacky Fringant",
                Email       = "*****@*****.**",
                IsActivated = true,
                Role        = UserRole.Attendee,
            };

            UserTO teacher = new UserTO()
            {
                Id          = 2,
                Name        = "Johnny Begood",
                Email       = "*****@*****.**",
                IsActivated = true,
                Role        = UserRole.Teacher
            };

            CourseTO sql = new CourseTO()
            {
                Id   = 1,
                Name = "SQL"
            };

            SessionTO sessionTO = new SessionTO()
            {
                Id          = 1,
                Teacher     = teacher,
                Course      = sql,
                SessionDays = new List <SessionDayTO>()
                {
                    new SessionDayTO()
                    {
                        Id = 1, Date = new DateTime(2020, 2, 3), PresenceType = SessionPresenceType.MorningAfternoon
                    },
                    new SessionDayTO()
                    {
                        Id = 2, Date = new DateTime(2020, 2, 4), PresenceType = SessionPresenceType.MorningAfternoon
                    },
                    new SessionDayTO()
                    {
                        Id = 3, Date = new DateTime(2020, 2, 5), PresenceType = SessionPresenceType.MorningAfternoon
                    }
                },

                Attendees = new List <UserTO>()
                {
                    student,
                }
            };

            #endregion TOInitialization

            #region EFInitialization

            UserEF studentEF = new UserEF()
            {
                Id          = 1,
                Name        = "Jacky Fringant",
                Email       = "*****@*****.**",
                IsActivated = true,
                Role        = UserRole.Attendee,
            };

            UserEF teacherEF = new UserEF()
            {
                Id          = 2,
                Name        = "Johnny Begood",
                Email       = "*****@*****.**",
                IsActivated = true,
                Role        = UserRole.Teacher
            };

            CourseEF sqlEF = new CourseEF()
            {
                Id   = 1,
                Name = "SQL"
            };

            SessionEF sessionEF = new SessionEF()
            {
                Id     = 1,
                Course = sqlEF,
                Dates  = new List <SessionDayEF>()
                {
                    new SessionDayEF {
                        Id = 1, Date = new DateTime(2020, 01, 20), PresenceType = SessionPresenceType.MorningOnly
                    },
                    new SessionDayEF {
                        Id = 2, Date = new DateTime(2020, 01, 21), PresenceType = SessionPresenceType.MorningOnly
                    },
                    new SessionDayEF {
                        Id = 3, Date = new DateTime(2020, 01, 22), PresenceType = SessionPresenceType.MorningOnly
                    },
                }
            };

            List <UserSessionEF> userSessions = new List <UserSessionEF>()
            {
                new UserSessionEF
                {
                    SessionId = sessionEF.Id,
                    UserId    = studentEF.Id
                },
                new UserSessionEF
                {
                    SessionId = sessionEF.Id,
                    UserId    = studentEF.Id
                },
            };

            sessionEF.UserSessions = userSessions;

            #endregion EFInitialization

            SessionEF sessionConverted = sessionTO.ToEF();

            Assert.AreEqual(sessionEF.UserSessions.Count, sessionConverted.UserSessions.Count);
        }