예제 #1
0
        public async Task <ServiceResponse <object> > AddUsersInGroup(TutorUserForAddInGroupDto model)
        {
            var group = new Group
            {
                GroupName        = model.GroupName,
                TutorClassName   = model.TutorClassName,
                SubjectId        = model.SubjectId,
                GroupLectureTime = Convert.ToDateTime(model.GroupLectureTime),
                Active           = true,
                SchoolBranchId   = _LoggedIn_BranchID
            };

            await _context.Groups.AddAsync(group);

            await _context.SaveChangesAsync();

            List <GroupUser> listToAdd = new List <GroupUser>();

            foreach (var item in model.UserIds)
            {
                listToAdd.Add(new GroupUser
                {
                    GroupId = group.Id,
                    UserId  = item
                });
            }
            await _context.GroupUsers.AddRangeAsync(listToAdd);

            await _context.SaveChangesAsync();

            _serviceResponse.Success = true;
            _serviceResponse.Message = CustomMessage.Added;
            return(_serviceResponse);
        }
예제 #2
0
        public async Task <ServiceResponse <object> > UpdateUsersInGroup(TutorUserForAddInGroupDto model)
        {
            var group = await _context.Groups.Where(m => m.Id == model.Id && m.SchoolBranchId == _LoggedIn_BranchID && m.Active == true).FirstOrDefaultAsync();

            if (group != null)
            {
                group.GroupName      = model.GroupName;
                group.SchoolBranchId = _LoggedIn_BranchID;

                _context.Groups.Update(group);
                await _context.SaveChangesAsync();

                if (model.UserIds.Count() > 0)
                {
                    List <GroupUser> listToDelete = await _context.GroupUsers.Where(m => m.GroupId == model.Id && m.Group.SchoolBranchId == _LoggedIn_BranchID).ToListAsync();

                    _context.GroupUsers.RemoveRange(listToDelete);
                    await _context.SaveChangesAsync();

                    List <GroupUser> listToAdd = new List <GroupUser>();
                    foreach (var item in model.UserIds)
                    {
                        listToAdd.Add(new GroupUser
                        {
                            GroupId = group.Id,
                            UserId  = item
                        });
                    }
                    await _context.GroupUsers.AddRangeAsync(listToAdd);

                    await _context.SaveChangesAsync();
                }
                _serviceResponse.Success = true;
                _serviceResponse.Message = CustomMessage.Updated;
                return(_serviceResponse);
            }
            else
            {
                _serviceResponse.Success = false;
                _serviceResponse.Message = CustomMessage.RecordNotFound;
                return(_serviceResponse);
            }
        }
예제 #3
0
        public async Task <IActionResult> UpdateGroupUsers(TutorUserForAddInGroupDto model)
        {
            _response = await _repo.UpdateUsersInGroup(model);

            return(Ok(_response));
        }