public async Task<Group> AddGroupAsync(Group group) { using (var uow = this.GetIoCManager().DefualtContainer.Resolve<IUnitOfWork>()) { var repo = uow.GetRepository<Group>(); repo.Add(group); await uow.SubmitAsync(); } return group; }
public async Task RemoveGroupAsync(Group group) { using (var uow = this.GetIoCManager().DefualtContainer.Resolve<IUnitOfWork>()) { var repo = uow.GetRepository<Group>(); await repo.AttachAndCancelChangesAsync(group); repo.Remove(group); await uow.SubmitAsync(); } }
public async Task<Group> UpdateGroupAsync(Group group) { using (var uow = this.GetIoCManager().DefualtContainer.Resolve<IUnitOfWork>()) { var repo = uow.GetRepository<Group>(); var target = await repo .Entities .Where(x => x.Id == group.Id) .SingleAsync(); Mapper.DynamicMap(group, target); await uow.SubmitAsync(); return target; } }
public async Task CreateAUserAndAGroup() { var u = new User() { Name = "User" + Guid.NewGuid().ToString() }; var g = new Group() { Name = "Group" + Guid.NewGuid().ToString() }; var userService = IoCManager.Instance.DefualtContainer.Resolve<IUserService>(); var groupService = IoCManager.Instance.DefualtContainer.Resolve<IGroupService>(); g.Users = g.Users ?? new HashSet<User>(); u = await userService.AddUserAsync(u); g.Users.Add(u); g = await groupService.AddGroupAsync(g); var u2 = await userService.GetUserAsync(u.Id); Assert.AreEqual(u2.GroupId.Value, g.Id); }