static void Print() { UnitOfWorkCaller.Context <TestDbContext>().UnitOfWork(uow => { uow.Repository <User, UserDTO>().List().ToList().ForEach(user => Console.WriteLine("{0}: {1} [{2}]", user.Id, user.Login, string.Join(",", user.UserRoles.Where(t => t.Role != null).Select(t => t.Role.Description)))); }); }
static void Insert(UserDTO dto) { var res = UnitOfWorkCaller.Context <TestDbContext>().UnitOfWorkCallSaveChanges(uow => { uow.Repository <User, UserDTO>().Insert(dto); }); Console.WriteLine(res ? "Insert ok" : "Insert failed"); }
static void Delete(UserDTO dto) { var res = UnitOfWorkCaller.Context <TestDbContext>().TransactionSaveChanges(uow => { foreach (var ur in dto.UserRoles) { uow.Repository <UserRole, UserRoleDTO>().Delete(ur, ur.Id); } uow.Repository <User, UserDTO>().Delete(dto, dto.Id); }); Console.WriteLine(res ? "Delete ok" : "Delete failed"); }
static UserDTO Update(UserDTO dto) { var res = UnitOfWorkCaller.Context <TestDbContext>().UnitOfWorkCallSaveChanges(uow => { dto = uow.CustomRepository <UserRepository>().GetUserByLogin(dto.Login, dto.Password); dto.Password = "******"; uow.CustomRepository <UserRepository>().Update(dto, dto.Id); }); Console.WriteLine(res ? "Update ok" : "Update failed"); return(dto); }