Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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());
        }