コード例 #1
0
        public void BuyFromDistriburor(string name, string description, decimal distributorPrice,
                                       double profit, int brandId, int categoryId)
        {
            if (String.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException("Name cannot be null or whitespace!");
            }

            //Profit should be in range 0-500%
            if (profit < 0 || profit > 5)
            {
                throw new ArgumentException("Profit must be higher than zero and lower than 500%!");
            }

            var toy = new Toy
            {
                Name             = name,
                Description      = description,
                DestributorPrice = distributorPrice,
                Price            = distributorPrice + distributorPrice * (decimal)profit,
                Profit           = profit,
                BrandId          = brandId,
                CategoryId       = categoryId
            };

            this.data.Toys.Add(toy);

            data.SaveChanges();
        }
        public void SellFoodToUser(int foodId, int userId)
        {
            if (!this.Exists(foodId))
            {
                throw new ArgumentException("There is no such food with given id in the database!");
            }

            if (!this.userService.Exists(userId))
            {
                throw new ArgumentException("There is no such user with given id in the database!");
            }

            var order = new Order()
            {
                PurchaseDate = DateTime.Now,
                Status       = OrderStatus.Done,
                UserId       = userId
            };

            var foodOrder = new FoodOrder()
            {
                FoodId = foodId,
                Order  = order
            };

            this.data.Orders.Add(order);
            this.data.FoodOrders.Add(foodOrder);

            data.SaveChanges();
        }
        public static void Main(string[] args)
        {
            using (var data = new PetstoreDbContext())
            {
                //var userService = new UserService(data);

                //var breedService = new BreedService(data);

                //var categoryService = new CategoryService(data);

                //var petservice = new PetService(data, breedService, categoryService, userService);

                //petservice.BuyPet(Gender.Male, DateTime.Now, 0m, null, 1, 1);

                //petservice.SellPet(1, 1);

                for (int i = 0; i < 10; i++)
                {
                    var breed = new Breed()
                    {
                        Name = "Breed " + i
                    };

                    data.Breeds.Add(breed);
                }

                data.SaveChanges();


                for (int i = 0; i < 30; i++)
                {
                    var category = new Category()
                    {
                        Name        = "Category " + i,
                        Description = "Some random description" + i,
                    };

                    data.Categories.Add(category);
                }

                data.SaveChanges();

                for (int i = 0; i < 102; i++)
                {
                    var breedId = data.Breeds
                                  .OrderBy(c => Guid.NewGuid())
                                  .Select(c => c.Id)
                                  .FirstOrDefault();

                    var categoryId = data.Categories
                                     .OrderBy(c => Guid.NewGuid())
                                     .Select(c => c.Id)
                                     .FirstOrDefault();

                    var pet = new Pet()
                    {
                        DateOfBirth = DateTime.UtcNow.AddDays(-60 + i),
                        Price       = 50 + i,
                        Gender      = i % 2 == 0 ? Gender.Male : Gender.Female,
                        Description = "Some random description" + i,
                        CategoryId  = categoryId,
                        BreedId     = breedId
                    };

                    data.Pets.Add(pet);
                }

                data.SaveChanges();
            }
        }