static void Main() { Console.WriteLine("C# Version"); var dto = new UserDTO { Login = "******", Password = "******", UserRoles = new List<UserRoleDTO> { new UserRoleDTO { IdRole = 1 }, new UserRoleDTO { IdRole = 2 } } }; Insert(dto); Print(); dto = Update(dto); Delete(dto); Console.ReadLine(); }
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; }