コード例 #1
0
        public ImageService(TattooShopContext context)
        {
            this._context = context;
            Account account = new Account()
            {
                ApiKey    = "853797844879441",
                ApiSecret = "DuCN3DcTbrk5ZugYrISrihzq_qg",
                Cloud     = "site-stuff"
            };

            _cloudinary = new Cloudinary(account);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: BojidarTonev/TattooShop
        private static List <Artist> CreateArtistsEntities(TattooShopContext db)
        {
            var artists = new List <Artist>();

            string firstArtistImage =
                "http://opentranscripts.org/wp-content/uploads/2015/12/filip-leu.png";
            string secondArtistImage =
                "https://www.tattoolife.com/wp-content/uploads/2017/05/tattoolife-tattoo-artists-section.jpg";
            string thirdArtistImage =
                "https://vice-images.vice.com/images/content-images-crops/2015/08/11/sampa-tattoo-all-girl-parlour-876brazil-body-image-1439305125-size_1000.jpg?output-quality=75?resize=320:*";

            var firstArtistBestAt  = db.Styles.First(s => s.Name == TattooStyles.Geometric).Name;
            var secondArtistBestAt = db.Styles.First(s => s.Name == TattooStyles.Realistic).Name;
            var thirdArtistBestAt  = db.Styles.First(s => s.Name == TattooStyles.Polynesian).Name;

            var firstArtist = new Artist()
            {
                Autobiography = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                BestAt        = firstArtistBestAt,
                BirthDate     = DateTime.ParseExact("31-07-1988", "dd-MM-yyyy", null),
                FirstName     = "Peter",
                LastName      = "Peterson",
                ImageUrl      = firstArtistImage
            };

            artists.Add(firstArtist);

            var secondArtist = new Artist()
            {
                Autobiography = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                BestAt        = secondArtistBestAt,
                BirthDate     = DateTime.ParseExact("05-12-1973", "dd-MM-yyyy", null),
                FirstName     = "Storm",
                LastName      = "Spirit",
                ImageUrl      = secondArtistImage
            };

            artists.Add(secondArtist);

            var thirdArtist = new Artist()
            {
                Autobiography = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                BestAt        = thirdArtistBestAt,
                BirthDate     = DateTime.ParseExact("12-10-1987", "dd-MM-yyyy", null),
                FirstName     = "Rubick",
                LastName      = "Rubickson",
                ImageUrl      = thirdArtistImage
            };

            artists.Add(thirdArtist);

            return(artists);
        }
コード例 #3
0
        public void RegisterFeedBackShouldActuallyRegistersFeedback()
        {
            var options = new DbContextOptionsBuilder <TattooShopContext>()
                          .UseInMemoryDatabase(databaseName: "Unique_Db_Name_57852181")
                          .Options;
            var dbContext = new TattooShopContext(options);

            var feedbackRepository = new DbRepository <ContactInfo>(dbContext);
            var homeService        = new HomeService(null, null, feedbackRepository);

            homeService.RegisterFeedBack("Kaloqn", "Kaloqnov", "mn qk sait", "*****@*****.**", "975649867");
            Assert.Equal(1, feedbackRepository.All().Count());
        }
コード例 #4
0
        public void GetCategoryShouldReturnTheRightCategory()
        {
            var options = new DbContextOptionsBuilder <TattooShopContext>()
                          .UseInMemoryDatabase(databaseName: "Unique_Db_Name_5785217")
                          .Options;
            var dbContext = new TattooShopContext(options);

            dbContext.Categories.Add(new Category()
            {
                Id = "1"
            });
            dbContext.SaveChanges();

            var categoriesRepository = new DbRepository <Category>(dbContext);
            var categoriesService    = new CategoriesService(categoriesRepository);
            var category             = categoriesService.GetCategory("1");

            Assert.Equal("1", category.Id);
        }
コード例 #5
0
        public void GetStyleShouldReturnTheRightCategory()
        {
            var options = new DbContextOptionsBuilder <TattooShopContext>()
                          .UseInMemoryDatabase(databaseName: "Unique_Db_Name_57821987")
                          .Options;
            var dbContext = new TattooShopContext(options);

            dbContext.Styles.Add(new Style()
            {
                Id = "1"
            });
            dbContext.SaveChanges();

            var stylesRepository = new DbRepository <Style>(dbContext);
            var stylesService    = new StylesService(stylesRepository);
            var style            = stylesService.GetStyle("1");

            Assert.Equal("1", style.Id);
        }
コード例 #6
0
        public async Task AddBookShouldActuallyAddBookToDatabase()
        {
            var options = new DbContextOptionsBuilder <TattooShopContext>()
                          .UseInMemoryDatabase(databaseName: "Unique_Db_Name_5785216")
                          .Options;
            var dbContext = new TattooShopContext(options);

            dbContext.Artists.Add(new Artist()
            {
                Id = "1"
            });
            dbContext.Users.Add(new TattooShopUser()
            {
                Id = "2"
            });
            dbContext.SaveChanges();

            var artistsRepository = new DbRepository <Artist>(dbContext);
            var booksRepository   = new DbRepository <Book>(dbContext);
            var imageService      = new ImageService(dbContext);
            var tattoosRepository = new DbRepository <Tattoo>(dbContext);

            var artistsService = new ArtistsService(artistsRepository, imageService, booksRepository, tattoosRepository);
            var fileMock       = new Mock <IFormFile>();
            var content        = "Hallo world from a fake file!";
            var fileName       = "test.pdf";
            var ms             = new MemoryStream();
            var writer         = new StreamWriter(ms);

            writer.Write(content);
            writer.Flush();
            ms.Position = 0;
            fileMock.Setup(x => x.OpenReadStream()).Returns(ms);
            fileMock.Setup(x => x.FileName).Returns(fileName);
            fileMock.Setup(x => x.Length).Returns(ms.Length);

            await artistsService.AddBook(DateTime.UtcNow.AddDays(3).ToString(), "short description", fileMock.Object, "Geometric",
                                         "2", "1");

            Assert.Equal(1, booksRepository.All().Count());
        }
コード例 #7
0
        public async Task AddOrderShouldActuallyAddOrder()
        {
            var options = new DbContextOptionsBuilder <TattooShopContext>()
                          .UseInMemoryDatabase(databaseName: "Unique_Db_Name_578521936")
                          .Options;
            var dbContext = new TattooShopContext(options);

            dbContext.Products.Add(new Product()
            {
                Id = "1"
            });
            dbContext.Users.Add(new TattooShopUser()
            {
                Id = "2"
            });
            dbContext.SaveChanges();

            var ordersRepository = new DbRepository <Order>(dbContext);
            var ordersService    = new OrdersService(ordersRepository);

            await ordersService.AddOrder("sample address", "sample description", 3, "1", "2");

            Assert.Equal(1, dbContext.Orders.Count());
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: BojidarTonev/TattooShop
        private static List <Tattoo> CreateTattooEntities(TattooShopContext db)
        {
            const string americanTraditionalTattooUrl    = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQoQE1fzbgF-DKuG8y_FLyD1mE2S9V8a-T7geIy6Y-PXXs78uva";
            const string americanTraditionalTwoTattooUrl = "http://stephenking.club/wp-content/uploads/2018/06/american-traditional-chest-piece-traditional-tattoo-sleeves-chest-american-traditional-owl-chest-tattoo.jpg";

            const string geometricTattooUrl    = "https://i.pinimg.com/originals/24/b4/ac/24b4ac1a18eed9379d231bc06bb6a3a7.jpg";
            const string geometricTwoTattooUrl = "https://i.ytimg.com/vi/BK-o-pa8zUA/maxresdefault.jpg";

            const string realisticTattooUrl    = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQUbgv4hHk2IfsUqYYTffZy7PAUAhW0XklYSmQn6jPszWj12o72";
            const string realisticTwoTattooUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSKXQS9EtI1VyEepL-GxDJt_6Hd1BcfRjPvhMcQQY_LslcMuVlGHA";

            const string biomechanicalTattooUrl    = "https://i.pinimg.com/originals/af/49/0a/af490a6c8534a43306cf62a944452693.jpg";
            const string biomechanicalTwoTattooUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRE_kKEbe43TqKGSnY7lS-vC0zxFgqlnK9xuLQTyBR0nTHgxHDOWg";

            const string polynesianTattooUrl    = "https://i.pinimg.com/originals/e2/49/60/e24960b50a8e042744cb95a6063a84db.jpg";
            const string polynesianTwoTattooUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS41vZiTbCoP1JtMCXEYT-ACZ-1x8CBcQ4xmQFU_xdOekfUE3Zw";

            const string japaneseTraditionalTattooUrl    = "https://editorial.designtaxi.com/editorial-images/news-GakkinTattoos060516/1-Blackwork-Japanese-Tattoo-Gakkin.jpg";
            const string japaneseTraditionalTwoTattooUrl = "https://i.redd.it/jwoopymjuj601.jpg";

            const string watercolorTattooUrl    = "https://kickassthings.com/wp-content/uploads/2017/05/best-watercolor-tattoo-artists-Adrian-Bascur-17.jpg";
            const string watercolorTwoTattooUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTLtkhkZM2dlhysdfUQ2XLZbbBpF8vJWQmZUx770mkb_uB7e62rEA";

            var americanTraditionalStyle = db.Styles.First(s => s.Name == TattooStyles.AmericanTraditional);
            var geometricStyle           = db.Styles.First(s => s.Name == TattooStyles.Geometric);
            var realisticStyle           = db.Styles.First(s => s.Name == TattooStyles.Realistic);
            var biomechanicalStyle       = db.Styles.First(s => s.Name == TattooStyles.Biomechanical);
            var polynesianStyle          = db.Styles.First(s => s.Name == TattooStyles.Polynesian);
            var japaneseTraditionalStyle = db.Styles.First(s => s.Name == TattooStyles.TraditionalJapanese);
            var watercolorStyle          = db.Styles.First(s => s.Name == TattooStyles.Watercolor);

            var tattooList = new List <Tattoo>();

            for (int i = 0; i < 8; i++)
            {
                if (i % 2 == 0)
                {
                    var americanTraditionalTattoo = new Tattoo()
                    {
                        TattooStyle        = americanTraditionalStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Peter"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(45)),
                        Sessions           = 3,
                        TattooRelevantName = "Mad gorilla",
                        TattooUrl          = americanTraditionalTattooUrl
                    };
                    tattooList.Add(americanTraditionalTattoo);

                    var geometricTattoo = new Tattoo()
                    {
                        TattooStyle        = geometricStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Rubick"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(37)),
                        Sessions           = 2,
                        TattooRelevantName = "Cool flowers",
                        TattooUrl          = geometricTattooUrl
                    };
                    tattooList.Add(geometricTattoo);

                    var realisticTattoo = new Tattoo()
                    {
                        TattooStyle        = realisticStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Storm"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(26)),
                        Sessions           = 3,
                        TattooRelevantName = "Cats are cool",
                        TattooUrl          = realisticTattooUrl
                    };
                    tattooList.Add(realisticTattoo);

                    var biomechanicalTattoo = new Tattoo()
                    {
                        TattooStyle        = biomechanicalStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Peter"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(40)),
                        Sessions           = 2,
                        TattooRelevantName = "Engineering stuff inked",
                        TattooUrl          = biomechanicalTattooUrl
                    };
                    tattooList.Add(biomechanicalTattoo);

                    var traditionalJapaneseTattoo = new Tattoo()
                    {
                        TattooStyle        = japaneseTraditionalStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Storm"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(12)),
                        Sessions           = 9,
                        TattooRelevantName = "Big traditional japanese tattoo",
                        TattooUrl          = japaneseTraditionalTattooUrl
                    };
                    tattooList.Add(traditionalJapaneseTattoo);

                    var polynesianTattoo = new Tattoo()
                    {
                        TattooStyle        = polynesianStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Rubick"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(15)),
                        Sessions           = 3,
                        TattooRelevantName = "Chest and hand maori",
                        TattooUrl          = polynesianTattooUrl
                    };
                    tattooList.Add(polynesianTattoo);

                    var watercolorTattoo = new Tattoo()
                    {
                        TattooStyle        = watercolorStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Peter"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)),
                        Sessions           = 1,
                        TattooRelevantName = "Fresh cats",
                        TattooUrl          = watercolorTattooUrl
                    };
                    tattooList.Add(watercolorTattoo);
                }
                else
                {
                    var americanTraditionalTattoo = new Tattoo()
                    {
                        TattooStyle        = americanTraditionalStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Rubick"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(12)),
                        Sessions           = 4,
                        TattooRelevantName = "Crow on chest holding keys",
                        TattooUrl          = americanTraditionalTwoTattooUrl
                    };
                    tattooList.Add(americanTraditionalTattoo);

                    var geometricTattoo = new Tattoo()
                    {
                        TattooStyle        = geometricStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Peter"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(10)),
                        Sessions           = 3,
                        TattooRelevantName = "geometric sleeve",
                        TattooUrl          = geometricTwoTattooUrl
                    };
                    tattooList.Add(geometricTattoo);

                    var realisticTattoo = new Tattoo()
                    {
                        TattooStyle        = realisticStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Rubick"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(21)),
                        Sessions           = 2,
                        TattooRelevantName = "Viking and emptiness",
                        TattooUrl          = realisticTwoTattooUrl
                    };
                    tattooList.Add(realisticTattoo);

                    var biomechanicalTattoo = new Tattoo()
                    {
                        TattooStyle        = biomechanicalStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Storm"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(42)),
                        Sessions           = 2,
                        TattooRelevantName = "Instrument under skin",
                        TattooUrl          = biomechanicalTwoTattooUrl
                    };
                    tattooList.Add(biomechanicalTattoo);

                    var traditionalJapaneseTattoo = new Tattoo()
                    {
                        TattooStyle        = japaneseTraditionalStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Rubick"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(8)),
                        Sessions           = 1,
                        TattooRelevantName = "Japanese style sun and waves",
                        TattooUrl          = japaneseTraditionalTwoTattooUrl
                    };
                    tattooList.Add(traditionalJapaneseTattoo);

                    var polynesianTattoo = new Tattoo()
                    {
                        TattooStyle        = polynesianStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Peter"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(19)),
                        Sessions           = 5,
                        TattooRelevantName = "Big maori upper back",
                        TattooUrl          = polynesianTwoTattooUrl
                    };
                    tattooList.Add(polynesianTattoo);

                    var watercolorTattoo = new Tattoo()
                    {
                        TattooStyle        = watercolorStyle,
                        Artist             = db.Artists.First(a => a.FirstName == "Storm"),
                        DoneOn             = DateTime.UtcNow.Subtract(TimeSpan.FromDays(3)),
                        Sessions           = 1,
                        TattooRelevantName = "Fresh wolf",
                        TattooUrl          = watercolorTwoTattooUrl
                    };
                    tattooList.Add(watercolorTattoo);
                }
            }

            return(tattooList);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: BojidarTonev/TattooShop
        private static List <Product> CreateProductsEntities(TattooShopContext db)
        {
            const string tattooCareProductOneImageUrl = "https://i.etsystatic.com/14397240/r/il/034b89/1339559018/il_570xN.1339559018_hbcs.jpg";
            const string tattooCareProductTwoImageUrl = "https://www.electricinkskin.com/images/skincare_slide.jpg";
            const string piercingImageUrl             = "https://authoritytattoo.com/wp-content/uploads/2017/09/Industrial-Piercing-3.jpg";
            const string piercingTwoImageUrl          = "https://i.pinimg.com/originals/4a/e0/d9/4ae0d93483b04b3ccb6998c985e45e38.jpg";
            const string clothesImageUrl    = "https://shop.r10s.jp/kuziyaku/cabinet/ts/kz-t-56/img57604367.jpg";
            const string clothesTwoImageUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR1mmHi-otjqNw5Ghat2cqsv8p2ZMpjtN4OfuiS6_xzGGu-sWeM";

            var clothesCategory    = db.Categories.First(c => c.Name == ProductsCategories.Clothes);
            var piercingCategory   = db.Categories.First(c => c.Name == ProductsCategories.Piercing);
            var tattooCareCategory = db.Categories.First(c => c.Name == ProductsCategories.TattooCare);

            var products = new List <Product>();

            for (int i = 0; i < 8; i++)
            {
                if (i % 2 == 0)
                {
                    var tattooCareProduct = new Product()
                    {
                        Category    = tattooCareCategory,
                        Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                        ImageUrl    = tattooCareProductOneImageUrl,
                        Name        = "Ink balm 28g. 250ml",
                        Price       = 25.99m
                    };
                    products.Add(tattooCareProduct);

                    var piercingProduct = new Product()
                    {
                        Category    = piercingCategory,
                        Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                        ImageUrl    = piercingImageUrl,
                        Name        = "Piercing arrow",
                        Price       = 14.99m
                    };
                    products.Add(piercingProduct);

                    var clothesProduct = new Product()
                    {
                        Category    = clothesCategory,
                        Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                        ImageUrl    = clothesImageUrl,
                        Name        = "YX Japanese traditional black and white t-shirt",
                        Price       = 25.99m
                    };
                    products.Add(clothesProduct);
                }
                else
                {
                    var tattooCareProduct = new Product()
                    {
                        Category    = tattooCareCategory,
                        Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                        ImageUrl    = tattooCareProductTwoImageUrl,
                        Name        = "Electric ink 3.7fl. oz. 110ml",
                        Price       = 29.99m
                    };
                    products.Add(tattooCareProduct);

                    var piercingProduct = new Product()
                    {
                        Category    = piercingCategory,
                        Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                        ImageUrl    = piercingTwoImageUrl,
                        Name        = "Mouth piercing",
                        Price       = 14.99m
                    };
                    products.Add(piercingProduct);

                    var clothesProduct = new Product()
                    {
                        Category    = clothesCategory,
                        Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ",
                        ImageUrl    = clothesTwoImageUrl,
                        Name        = "Just ink it black t-shirt",
                        Price       = 30.99m
                    };
                    products.Add(clothesProduct);
                }
            }

            return(products);
        }