Esempio n. 1
0
        private void UpdateUserSessions(SessionTO session, SessionEF entity)
        {
            entity.UserSessions.Clear();
            registrationContext.RemoveRange(registrationContext.UserSessions.Where(x => x.SessionId == session.Id));

            foreach (var user in session.Attendees)
            {
                var userSession = new UserSessionEF()
                {
                    Session   = entity,
                    SessionId = entity.Id,
                    User      = registrationContext.Users.FirstOrDefault(x => x.Id == user.Id),
                    UserId    = user.Id
                };
                registrationContext.UserSessions.Add(userSession);
            }

            if (session.Teacher != null)
            {
                var teacherSession = new UserSessionEF()
                {
                    Session   = entity,
                    SessionId = entity.Id,
                    User      = registrationContext.Users.FirstOrDefault(x => x.Id == session.Teacher.Id),
                    UserId    = session.Teacher.Id
                };
                entity.UserSessions.Add(teacherSession);
            }
        }
Esempio n. 2
0
        public static SessionEF ToEF(this SessionTO session)
        {
            if (session is null)
            {
                throw new ArgumentNullException(nameof(session));
            }

            var result = new SessionEF()
            {
                Id     = session.Id,
                Course = session.Course.ToEF(),
                Dates  = session.SessionDays?.Select(x => x.ToEF()).ToList()
            };

            if (session.Attendees == null)
            {
                return(result);
            }

            result.UserSessions = new List <UserSessionEF>();

            foreach (var user in session.Attendees)
            {
                var userSession = new UserSessionEF()
                {
                    SessionId = session.Id,
                    Session   = result,
                    UserId    = user.Id,
                    User      = user.ToEF()
                };
                result.UserSessions.Add(userSession);
            }

            var teacherEF = new UserSessionEF()
            {
                SessionId = session.Id,
                Session   = result,
                UserId    = session.Teacher.Id,
                User      = session.Teacher.ToEF()
            };

            result.UserSessions.Add(teacherEF);

            //foreach (UserSessionEF item in result.UserSessions)
            //{
            //    item.User.UserSessions.Add(item);
            //}

            return(result);
        }