Пример #1
0
 public static OrderParams AddOrderToDB(OrderToDB order)
 {
     using (var db = new GameStoreDBContext())
     {
         var gameIDs_Count = new List <Tuple <int, int> >();
         foreach (var game in order.games)
         {
             gameIDs_Count.Add(new Tuple <int, int>(GetGameIDByName(game.Item1), game.Item2));
         }
         var currentClient = new Client()
         {
             Email = order.ClientMail,
             Name  = order.ClientName
         };
         db.Client.Add(currentClient);
         var currentOrder = new Order
         {
             Client_ID = currentClient.ID,
             Date      = order.Date
         };
         db.Order.Add(currentOrder);
         foreach (var gameID in gameIDs_Count)
         {
             var currentConnection = new Orders_Games()
             {
                 Game_ID      = gameID.Item1,
                 Order_ID     = currentOrder.ID,
                 Games_number = gameID.Item2
             };
             db.Orders_Games.Add(currentConnection);
             var gameToReduceQuantity = (from game in db.Game
                                         where game.ID == gameID.Item1
                                         select game).First();
             gameToReduceQuantity.Quantity -= gameID.Item2;
         }
         db.SaveChanges();
         var orderParams = new OrderParams()
         {
             Date  = currentOrder.Date,
             ID    = currentOrder.ID,
             games = ExtractGamesFromOrder(currentOrder)
         };
         return(orderParams);
     }
 }
Пример #2
0
 private void OrderButton_Click(object sender, EventArgs e)
 {
     if (CheckInputData())
     {
         var currentOrder = new OrderToDB()
         {
             ClientName = nameTextBox.Text,
             ClientMail = mailTextBox.Text,
             Date       = DateTime.Now,
             games      = new List <Tuple <string, int> >()
         };
         foreach (var game in (from game in UIController.currentOrderGames group game by game.Item1))
         {
             currentOrder.games.Add(new Tuple <string, int>(game.Key, game.Count()));
         }
         var order = DBController.AddOrderToDB(currentOrder);
         MessageBox.Show($"Ваш заказ №{order.ID} успешно оформлен");
         UIController.currentOrderGames.Clear();
         var currentOrderToReport = DBController.GetOrderParamsByID(order.ID);
         ReportExportController.CreateReceipt(currentOrderToReport);
         DialogResult = DialogResult.OK;
     }
 }