Пример #1
0
        public async Task <Unit> Update(Barista barista)
        {
            _dbContext.Baristas.Update(barista);
            await _dbContext.SaveChangesAsync();

            return(Unit.Value);
        }
Пример #2
0
        public void StopIcedTeaWithMilkOrder()
        {
            DrinkBuilder drinkBuilder = new DrinkBuilder();
            Barista      helen        = new Barista(drinkBuilder);
            var          tea          = new DrinkType("Tea", 1.5);
            var          icedTea      = new DrinkType("Iced Tea", 1.5);

            var milk  = new Topping("Milk", 0.5);
            var sugar = new Topping("Sugar", 0.5);

            var jonsToppings = new List <Topping>()
            {
                milk, sugar
            };
            var jonsDrinkTea = helen.OrderDrink(tea, jonsToppings);

            var robisToppings = new List <Topping>()
            {
                milk
            };
            var robisDrinkIcedTea = helen.OrderDrink(icedTea, robisToppings);

            helen.PrepareDrink(jonsDrinkTea);
            helen.PrepareDrink(robisDrinkIcedTea);

            helen.StopOrder(robisDrinkIcedTea);

            var completeDrinks = helen.ServeDrinkOrders();


            Assert.IsFalse(completeDrinks.Contains(robisDrinkIcedTea));
        }
        public BaristaKafkaService(CafeKafkaSettings cafeKafkaSettings)
        {
            _barista = new Barista();
            try
            {
                _consumerConfig = new ConsumerConfig()
                {
                    GroupId               = cafeKafkaSettings.GroupId,
                    BootstrapServers      = cafeKafkaSettings.BootstrapServers,
                    AutoOffsetReset       = AutoOffsetReset.Earliest,
                    SocketKeepaliveEnable = true,
                    AllowAutoCreateTopics = true
                };

                _producerConfig = new ProducerConfig()
                {
                    BootstrapServers = cafeKafkaSettings.BootstrapServers
                };

                Console.WriteLine("Read Kafka Bootstrap: " + cafeKafkaSettings.BootstrapServers);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception in kafka settings: " + ex);
            }
        }
Пример #4
0
 public async Task AddBarista(Barista barista)
 {
     await _fixture.ExecuteDbContextAsync(async dbContext =>
     {
         dbContext.Baristas.Add(barista);
         await dbContext.SaveChangesAsync();
     });
 }
Пример #5
0
        static void Main(string[] args)
        {
            CoffeMachine machine = new Starbucks();
            Barista      barista = new Barista(machine);

            var latte = barista.Build();

            latte.Drink();

            Console.ReadLine();
        }
Пример #6
0
        public ActionResult GiveRate(int id, FormCollection frm)
        {
            if (Session["OnlineKullanici"] == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            OrderDetail orderDetail = _orderDetailConcrete._orderDetailRepository.GetById(id);
            int         baristaId   = orderDetail.BaristaID;
            int         coffeeId    = orderDetail.CoffeeID;

            BaristaComment baristaComment = new BaristaComment()
            {
                BaristaID          = baristaId,
                CustomerID         = (Session["OnlineKullanici"] as Customer).ID,
                Point              = Convert.ToByte(frm["brating"]),
                BaristaCommentDate = DateTime.Now
            };

            _baristaCommentConcrete._baristaCommentRepository.Insert(baristaComment);
            _baristaCommentConcrete._baristaCommentUnitOfWork.SaveChanges();

            CoffeeComment coffeeComment = new CoffeeComment()
            {
                CustomerID        = (Session["OnlineKullanici"] as Customer).ID,
                CoffeeID          = coffeeId,
                Point             = Convert.ToByte(frm["crating"]),
                CoffeeCommentDate = DateTime.Now
            };

            _coffeeCommentConcrete._coffeeCommentRepository.Insert(coffeeComment);
            _coffeeCommentConcrete._coffeeCommentUnitOfWork.SaveChanges();

            Barista barista = _baristaConcrete._baristaRepository.GetById(baristaId);
            Coffee  coffee  = _coffeeConcrete._coffeeRepository.GetById(coffeeId);

            barista.AVGPoint = _baristaCommentConcrete.CalculateBaristaAVGPoint();
            coffee.AVGPoint  = _coffeeCommentConcrete.CalculateCoffeeAVGPoint();

            _coffeeConcrete._coffeeUnitOfWork.SaveChanges();
            _baristaConcrete._baristaUnitOfWork.SaveChanges();

            orderDetail.IsRated = true;
            _orderDetailConcrete._orderDetailUnitOfWork.SaveChanges();

            _baristaConcrete._baristaUnitOfWork.Dispose();

            return(Redirect(Request.UrlReferrer.ToString()));
        }
Пример #7
0
        public BaristaKafkaService(CafeKafkaSettings cafeKafkaSettings)
        {
            _barista = new Barista();
            try
            {
                _consumerConfig = KafkaConfig.CreateConsumerConfig(cafeKafkaSettings);

                _producerConfig = KafkaConfig.CreateProducerConfig(cafeKafkaSettings);

                Console.WriteLine("Read Kafka Bootstrap: " + cafeKafkaSettings.BootstrapServers);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception in kafka settings: " + ex);
            }
        }
Пример #8
0
        // GET: Admin/Baristas/Edit/5
        public ActionResult Edit(int id)
        {
            Customer customer = Session["OnlineKullanici"] as Customer;

            if (customer == null)
            {
                return(Redirect("/Login/Login"));
            }
            else if (customer.AuthorizationID == 1 || customer.AuthorizationID == 2)
            {
                Barista barista = _baristaConcrete._baristaRepository.GetById(id);
                return(View(barista));
            }
            else
            {
                return(Redirect("/Coffee/Coffees"));
            }
        }
Пример #9
0
        public void AddChocolateToppingToExpresso()
        {
            DrinkBuilder drinkBuilder = new DrinkBuilder();
            Barista      helen        = new Barista(drinkBuilder);

            var expresso  = new DrinkType("Expresso", 1.5);
            var chocolate = new Topping("Chocolate", 0.5);


            var chocExpressoToppings = new List <Topping>()
            {
                chocolate
            };

            // should add method overloads so that list and single topping can be accepted
            var chocExpressoDrink = helen.OrderDrink(expresso, chocExpressoToppings);

            Assert.AreEqual(chocExpressoDrink.ToString(), "Drink: Expresso with Toppings: Chocolate");
        }
Пример #10
0
        public ActionResult DeleteConfirmed(int id)
        {
            Customer customer = Session["OnlineKullanici"] as Customer;

            if (customer == null)
            {
                return(Redirect("/Login/Login"));
            }
            else if (customer.AuthorizationID == 1 || customer.AuthorizationID == 2)
            {
                Barista barista = _baristaConcrete._baristaRepository.GetById(id);
                _baristaConcrete._baristaRepository.Delete(barista);
                _baristaConcrete._baristaUnitOfWork.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                return(Redirect("/Coffee/Coffees"));
            }
        }
        public async Task CannotAssignUnexistingAccount(Barista baristaToAdd)
        {
            // Arrange
            await _fixture.ExecuteDbContextAsync(async dbContext =>
            {
                dbContext.Baristas.Add(baristaToAdd);
                await dbContext.SaveChangesAsync();
            });

            var commandToTest = new AssignBaristaToAccount
            {
                BaristaId = baristaToAdd.Id,
                AccountId = Guid.NewGuid()
            };

            // Act
            var result = await _fixture.SendAsync(commandToTest);

            // Assert
            result.ShouldHaveErrorOfType(ErrorType.NotFound);
        }
Пример #12
0
        public ActionResult Edit([Bind(Include = "ID,Firstname,Lastname,Gender,BirthDate,HiredDate,AVGPoint")] Barista barista)
        {
            Customer customer = Session["OnlineKullanici"] as Customer;

            if (customer == null)
            {
                return(Redirect("/Login/Login"));
            }
            else if (customer.AuthorizationID == 1 || customer.AuthorizationID == 2)
            {
                if (ModelState.IsValid)
                {
                    _baristaConcrete._baristaRepository.Update(barista);
                    _baristaConcrete._baristaUnitOfWork.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                return(View(barista));
            }
            else
            {
                return(Redirect("/Coffee/Coffees"));
            }
        }
        public async Task CanReassignBaristaForAccount(Register registerAccountCommand, Barista baristaToAssign, Barista baristaToReassign)
        {
            // Arrange
            await _fixture.ExecuteDbContextAsync(async dbContext =>
            {
                dbContext.Baristas.Add(baristaToAssign);
                dbContext.Baristas.Add(baristaToReassign);
                await dbContext.SaveChangesAsync();
            });

            await _fixture.SendAsync(registerAccountCommand);

            var assignFirstBaristaCommand = new AssignBaristaToAccount
            {
                BaristaId = baristaToAssign.Id,
                AccountId = registerAccountCommand.Id
            };

            // Note that first we've assigned a barista before attempting a second time
            await _fixture.SendAsync(assignFirstBaristaCommand);

            var commandToTest = new AssignBaristaToAccount
            {
                AccountId = registerAccountCommand.Id,
                BaristaId = baristaToReassign.Id
            };

            // Act
            var result = await _fixture.SendAsync(commandToTest);

            // Assert
            await _helper.LoginAndCheckClaim(
                registerAccountCommand.Email,
                registerAccountCommand.Password,
                c => c.Type == AuthConstants.ClaimTypes.BaristaId &&
                c.Value == baristaToReassign.Id.ToString());
        }
        public async Task CanAssignBaristaToAccount(Register accountToRegisterCommand, Barista baristaToAssign)
        {
            // Arrange
            await _fixture.ExecuteDbContextAsync(async dbContext =>
            {
                dbContext.Baristas.Add(baristaToAssign);
                await dbContext.SaveChangesAsync();
            });

            await _fixture.SendAsync(accountToRegisterCommand);

            var commandToTest = new AssignBaristaToAccount
            {
                BaristaId = baristaToAssign.Id,
                AccountId = accountToRegisterCommand.Id
            };

            // Act
            var result = await _fixture.SendAsync(commandToTest);

            // Assert
            await _helper.LoginAndCheckClaim(
                accountToRegisterCommand.Email,
                accountToRegisterCommand.Password,
                c => c.Type == AuthConstants.ClaimTypes.BaristaId &&
                c.Value == baristaToAssign.Id.ToString());
        }
Пример #15
0
 private Task <Unit> Persist(Barista barista) =>
 _baristaRepository.Add(barista);
Пример #16
0
        public async Task CompletedOrderIsAssignedToTheCompletingBarista(Guid orderId, Barista barista, MenuItem[] items)
        {
            // Arrange
            await _helper.AddBarista(barista);

            await _helper.CreateConfirmedOrder(orderId, items);

            var commandToTest = new CompleteToGoOrder
            {
                OrderId   = orderId,
                BaristaId = barista.Id.Some <Guid>()
            };

            // Act
            var result = await _fixture.SendAsync(commandToTest);

            // Assert
            var updatedBarista = await _fixture.ExecuteDbContextAsync(dbContext =>
                                                                      dbContext
                                                                      .Baristas
                                                                      .Include(b => b.CompletedOrders)
                                                                      .FirstOrDefaultAsync(b => b.Id == barista.Id));

            updatedBarista.CompletedOrders.ShouldContain(o => o.Id == orderId);
        }