Esempio n. 1
0
        /// <summary>
        /// Adds a user to a group
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="groupId"></param>
        public int AddUserToGroup(int userId, int groupId)
        {
            var entity = _context.GroupHasUser.FirstOrDefault(ghu => ghu.UserId == userId && ghu.GroupId == groupId);

            if (entity == null)
            {
                _context.GroupHasUser.Add(new GroupHasUser
                {
                    UserId   = userId,
                    GroupId  = groupId,
                    JoinDate = DateTime.UtcNow
                });

                var activity = new GroupHasActivity
                {
                    GroupId      = groupId,
                    UserId       = userId,
                    Type         = "JOIN",
                    CreationDate = DateTime.UtcNow
                };

                _context.GroupHasActivity.Add(activity);
                _context.SaveChangesAsync();

                return(activity.GroupHasActivityId);
            }

            return(0);
        }
Esempio n. 2
0
        /// <summary>
        /// Update a group in the database
        /// </summary>
        /// <param name="group"></param>
        public int UpdateGroup(Group group)
        {
            var entity = _context.Group.SingleOrDefault(g => g.GroupId == group.GroupId);

            if (entity != null)
            {
                var activity = new GroupHasActivity();

                if (entity.Description != group.Description)
                {
                    activity = new GroupHasActivity
                    {
                        GroupId      = group.GroupId,
                        UserId       = group.OwnerId,
                        Type         = "DESC",
                        NewVal       = group.Description,
                        CreationDate = DateTime.UtcNow
                    };

                    _context.GroupHasActivity.Add(activity);
                }

                entity.GroupName   = group.GroupName;
                entity.Description = group.Description;
                entity.CategoryId  = group.CategoryId;
                entity.OwnerId     = group.OwnerId;
                entity.State       = group.State;

                _context.Group.Update(entity);
                _context.SaveChangesAsync();

                return(activity.GroupHasActivityId);
            }

            return(0);
        }
Esempio n. 3
0
        /// <summary>
        /// Removes a user from a group
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="groupId"></param>
        public int RemoveUserFromGroup(int userId, int groupId)
        {
            var entity = _context.GroupHasUser.FirstOrDefault(ghu => ghu.UserId == userId && ghu.GroupId == groupId);

            if (entity != null)
            {
                _context.GroupHasUser.Remove(entity);

                var activity = new GroupHasActivity
                {
                    GroupId      = groupId,
                    UserId       = userId,
                    Type         = "LEAVE",
                    CreationDate = DateTime.UtcNow
                };

                _context.GroupHasActivity.Add(activity);
                _context.SaveChangesAsync();

                return(activity.GroupHasActivityId);
            }

            return(0);
        }