public CustomerController() { db = new CustomerRepository(); fr = new FoodStyleRepository(); sr = new SpecialProductRepository(); fo = new FoodOrderRepository(); }
public async Task TestSync() { var context = new FoodOrderContext().CreateDbContext(null); var repo = new FoodOrderRepository(context); var service = new FoodService(repo, new GoogleSpreadsheetProvider()); await service.SynchronizeFood(); }
public async Task AddDishItem() { var context = new FoodOrderContext().CreateDbContext(null); var repo = new FoodOrderRepository(context); var date = DateTime.Now; var dishItem = new DishItem { Name = "Salo", Price = 100, Category = new DishCategory { Name = "Еда богов" }, Supplier = repo.All <Supplier>().FirstOrDefault(x => x.Name == "ГлаголЪ"), AvailableOn = new List <DishItemToWeekDay> { new DishItemToWeekDay { WeekDay = repo.GetById <WeekDay>(1) } }, AvailableUntil = date }; await repo.InsertAsync(dishItem); await repo.SaveAsync(); var i = repo.All <DishItem>().Include(x => x.AvailableOn).FirstOrDefault(x => x.AvailableUntil == date); Assert.Equal(dishItem.AvailableOn.First().DishItemId, i.AvailableOn.First().DishItemId); Assert.Equal(dishItem.AvailableOn.First().WeekDayId, i.AvailableOn.First().WeekDayId); }
public void FillDatabaseWithUsers() { var context = new FoodOrderDbContext().CreateDbContext(null); var repo = new FoodOrderRepository(context); var prevCount = repo.All <User>().Count(); repo.InsertAsync( new[] { new User { Email = "*****@*****.**", UserName = "******" }, new User { Email = "*****@*****.**", UserName = "******" }, new User { Email = "*****@*****.**", UserName = "******" }, new User { Email = "*****@*****.**", UserName = "******" } }); repo.Save(); var currentCount = repo.All <User>().Count(); var diff = currentCount - prevCount; Assert.Equal(4, diff); }
public UnitOfWork(FoodOrderContext context) { _context = context; Ingredients = new FoodOrderRepository <IngredientModel>(context); Pizzas = new FoodOrderRepository <PizzaModel>(context); Starters = new FoodOrderRepository <StarterModel>(context); Users = new FoodOrderRepository <UserModel>(context); Photos = new FoodOrderRepository <PhotoModel>(context); Orders = new FoodOrderRepository <OrderModel>(context); }
private void AddOrder(Activity activity, Pizza pizza) { var repositoryOrder = new FoodOrderRepository(); var pizzaRepo = new PizzaRepository(); var orderLine = new FoodOrderLine(activity.From.Name, pizza, 1); var order = repositoryOrder.FindPendingOrder() ?? new FoodOrder(new List <FoodOrderLine>(), activity.From.Name, "079017134"); order.FoodOrderLines.Add(orderLine); pizzaRepo.SaveOrUpdate(orderLine.Pizza); repositoryOrder.SaveOrUpdate(order); }
public FinancialController() { dbFoodOrder = new FoodOrderRepository(); dbCustomer = new CustomerRepository(); }
//[Serializable] //public class PizzaOrder //{ // public List<string> Pizza; // public static IForm<PizzaOrder> BuildForm() // { // OnCompletionAsyncDelegate<PizzaOrder> processOrder = async (context, state) => // { // foreach (var pizza in state.Pizza) // { // //var orderLine = new FoodOrderLine(contex); // } // await context.PostAsync("We are ordered your pizza."); // }; // return new FormBuilder<PizzaOrder>() // .Message("Welcome to the pizza order bot!") // .Field(new FieldReflector<PizzaOrder>(nameof(Pizza)) // .SetType(null) // .SetActive((state) => true) // .SetDefine( (state, field) => // { // var values = Andys.GetPizzas().ToArray(); // foreach (var pizzaType in values) // { // field.AddDescription(pizzaType, pizzaType.Name +" "+ pizzaType.Price+" MDL"); // } // return Task.FromResult(true); // } // ) // ) // .Confirm("{Pizza} ???") // .AddRemainingFields() // .Message("Thanks for ordering a pizza!") // .OnCompletion(processOrder) // .Build(); // } //}; //internal static IDialog<PizzaOrder> MakeRootDialog() //{ // return Chain.From(() => FormDialog.FromForm(PizzaOrder.BuildForm)); //} /// <summary> /// POST: api/Messages /// Receive a message from a user and reply to it /// </summary> public async Task <HttpResponseMessage> Post([FromBody] Activity activity) { if (activity.Type == ActivityTypes.Message) { //await Conversation.SendAsync(activity, MakeRootDialog); ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); // calculate something for us to return PizzaLuisModel pizzaLuis = await PizzaClient.ParseInputText(activity.Text); Pizza pizza = null; List <Pizza> allPizza = new List <Pizza>(); string strResponse = string.Empty; switch (pizzaLuis.topScoringIntent.intent) { case "GetPizza": pizza = Andys.GetByName(pizzaLuis.entities.First().entity); if (pizza != null) { strResponse = $"To order pizza '{pizza.Name}', type 'order {pizza.Name}'"; } break; case "GetListOfPizza": allPizza = Andys.GetPizzas().ToList(); if (allPizza.Any()) { strResponse = "Type 'order {pizzaName}', ex. 'order rancho'"; } break; case "OrderPizza": pizza = Andys.GetByName(pizzaLuis.entities.First().entity); AddOrder(activity, pizza); if (pizza != null) { strResponse = $"Your pizza '{pizza.Name}' is added to cart. Thank you!"; } break; case "ExecuteOrder": var foodOrderRepo = new FoodOrderRepository(); var foodOrder = foodOrderRepo.FindPendingOrder(); if (foodOrder == null) { strResponse = "Your cart is empty, add some pizza"; break; } var cartItems = ConvertToAndysFormat.Convert(foodOrder); var requestHelper = new RequestHelper(); var orderOwner = ConvertToAndysFormat.GetOrderOwner(foodOrder); requestHelper.Order(orderOwner, cartItems); foodOrder.OrderStatus = OrderStatus.Closed; foodOrderRepo.SaveOrUpdate(foodOrder); strResponse = "Your order is placed. Wait for a call!"; break; default: strResponse = "Please specify another pizza name"; break; } var stringResponse = string.Join("\n\n", allPizza .Select((x, index) => index + 1 + ") " + " {" + x.ExternalId + "} " + x.Name + " " + x.Price + " MDL")); if (pizza != null) { stringResponse = pizza.ExternalId + " " + pizza.Name + " " + pizza.Price + " MDL"; } stringResponse += "\n\n" + strResponse; // return our reply to the user Activity reply = activity.CreateReply(stringResponse); await connector.Conversations.ReplyToActivityAsync(reply); } else { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); var message = HandleSystemMessage(activity); await connector.Conversations.ReplyToActivityAsync(message); } var response = Request.CreateResponse(HttpStatusCode.OK); return(response); }
public FoodOrderController() { dbFoodOrder = new FoodOrderRepository(); dbCustomer = new CustomerRepository(); ml = new MainLogic(); }
public BoxMigrationController() { db = new BoxMigrationRepository(); foodOrderRepository = new FoodOrderRepository(); }