public static int[] AddBooksWithImageAndUser(int number, int imagesPerBook, DbAccessLayer mgr) { mgr.RaiseEvents = false; var books = new List <Book>(); mgr.Database.RunInTransaction(d => { for (var i = 0; i < number; i++) { var book = new Book(); book.Text = "BOOK_" + Guid.NewGuid().ToString(); var usr = mgr.InsertWithSelect(new Users() { UserName = "******" + Guid.NewGuid().ToString() }); book.IdUser = (int?)usr.User_ID; books.Add(book = mgr.InsertWithSelect(book)); for (var j = 0; j < imagesPerBook; j++) { mgr.Insert(new Image { Text = "IMG_" + Guid.NewGuid().ToString(), IdBook = book.BookId }); } } }); mgr.RaiseEvents = true; return(books.Select(f => f.BookId).ToArray()); }
public static object[] AddEntity(DbAccessLayer mgr, int number, Type poco, Action <object> defaulting = null) { mgr.RaiseEvents = false; var typeCache = mgr.GetClassInfo(poco); if (typeCache.PrimaryKeyProperty == null) { throw new NotSupportedException("Please provide a PK for that Entity"); } var users = new List <object>(); mgr.Database.RunInTransaction((dd) => { for (var i = 0; i < number; i++) { var user = typeCache.New(); if (defaulting != null) { defaulting(user); } users.Add(mgr.InsertWithSelect(poco, user)); } }); mgr.RaiseEvents = true; return(users.Select(f => typeCache.PrimaryKeyProperty.Getter.Invoke(f)).ToArray()); }
public static long[] AddUsers(int number, DbAccessLayer mgr) { mgr.RaiseEvents = false; var users = new List <Users>(); mgr.Database.RunInTransaction(d => { for (var i = 0; i < number; i++) { var user = new Users(); user.UserName = Guid.NewGuid().ToString(); users.Add(mgr.InsertWithSelect(user)); } }); mgr.RaiseEvents = true; return(users.Select(f => f.User_ID).ToArray()); }
public static int[] AddBooks(int number, DbAccessLayer mgr) { mgr.RaiseEvents = false; var books = new List <Book>(); mgr.Database.RunInTransaction(d => { for (var i = 0; i < number; i++) { var book = new Book(); book.Text = Guid.NewGuid().ToString(); books.Add(mgr.InsertWithSelect(book)); } }); mgr.RaiseEvents = true; return(books.Select(f => f.BookId).ToArray()); }
public static long[] AddImages(int number, DbAccessLayer mgr) { mgr.RaiseEvents = false; var images = new List <ImageNullable>(); mgr.Database.RunInTransaction(d => { for (var i = 0; i < number; i++) { var image = new ImageNullable(); image.Text = Guid.NewGuid().ToString(); image.IdBook = null; images.Add(mgr.InsertWithSelect(image)); } }); mgr.RaiseEvents = true; return(images.Select(f => f.ImageId).ToArray()); }