public void ReserveTables(IEnumerable <ResTable> reserveTables, int orderId) { foreach (var table in reserveTables) { var reservedTable = new ReservedTable(); reservedTable.orderId = orderId; reservedTable.tableId = table.id; db.ReservedTables.InsertOnSubmit(reservedTable); } db.SubmitChanges(); }
public IActionResult SaveReserVation(ProductsViewModel productsView) { if (ModelState.IsValid) { Reservation reservation = new Reservation() { ReservationType = productsView.ReservationType, Adult = productsView.Adult, Child = productsView.Child, Date = productsView.DateTo != null ? productsView.Date :DateTime.Now, //ChoseTimeStart =productsView.ChoseTimeStartTo !=null ? productsView.ChoseTimeStart :DateTime.Now, //ChoseTimeEnd=productsView.ChoseTimeEndTo !=null ? productsView.ChoseTimeEnd :DateTime.Now, FirstName = productsView.FirstName, LastName = productsView.LastName, DeliveryAddress = productsView.DeliveryAddress, Address = productsView.Address, City = productsView.City, Country = productsView.Country, ZipCode = productsView.ZipCode, Email = productsView.Email, Mobile = productsView.Mobile, }; _context.Reservations.Add(reservation); _context.SaveChanges(); bool IsSaved = false; var tableNumber = _context.TableDetails.OrderByDescending(c => c.Id).Take(1).ToList(); int NumberofTable = 0; if (tableNumber.Count == 0) { var AllTable = _context.Table.ToList(); NumberofTable = AllTable[0].AllChir; } else { NumberofTable = tableNumber[0].AvaiableSeat; } //var Available = _context.ReservedTables.OrderByDescending(c=>c.Id).Take(1).ToList(); //int TotalTable = AvailableTable(System.DateTime.Now); ReservedTable reservedTable = new ReservedTable { BookingStartTime = productsView.ChoseTimeStartTo != null ? productsView.ChoseTimeStart : DateTime.Now, BookingEndTime = productsView.ChoseTimeEndTo != null ? productsView.ChoseTimeEnd : DateTime.Now, ReservedTableNumber = productsView.BookingTableNumber, TableId = 1, }; _context.ReservedTables.Add(reservedTable); _context.SaveChanges(); TableDetails tableDetails = new TableDetails() { ChoseTimeStart = productsView.ChoseTimeStartTo != null ? productsView.ChoseTimeStart : DateTime.Now, ChoseTimeEnd = productsView.ChoseTimeEndTo != null ? productsView.ChoseTimeEnd : DateTime.Now, OrderSeat = productsView.OrderSeat, AvaiableSeat = NumberofTable - productsView.BookingTableNumber, TableId = 1, }; _context.TableDetails.Add(tableDetails); IsSaved = _context.SaveChanges() > 0; for (int i = 0; i < productsView.ProductNames.Count; i++) { ReservationDetail reservationDetail = new ReservationDetail { ReservationId = reservation.Id, Name = productsView.ProductNames[i], Price = productsView.ProductPrices[i], Quantity = productsView.ProductQuantities[i], TotalPrice = productsView.TotalPrices, }; _context.ReservationDetails.Add(reservationDetail); IsSaved = _context.SaveChanges() > 0; } return(Json(IsSaved == true ? true: false)); } return(Json(false)); }
private void FormInitNewYear_Load(object sender, EventArgs e) { try { m_OrderSet = m_DataSet; var veHeaderAdapter = new DamaiDataSetTableAdapters.VEHeaderTableAdapter(); veHeaderAdapter.Fill(m_DataSet.VEHeader); } catch { MessageBox.Show("標頭資料讀取錯誤,你的資料庫版本可能不對"); Close(); return; } string path = Application.ExecutablePath; int len = path.Length; if (path[len - 1] == '\\') { path = path.Substring(0, len - 1); // 去掉最後面的 \ } len = path.LastIndexOf('\\'); if (len > 0) { path = path.Substring(0, len); // 取路 } DateTime dt = DateTime.Now; int count = m_DataSet.VEHeader.Rows.Count; if (count != 0) { var row = (DamaiDataSet.VEHeaderRow)m_DataSet.VEHeader.Rows[count - 1]; // 沒指定用最後一個 dt = row.DataYear; } m_Year = dt.Year + 1; NewSqlDB = m_HCfg.Database; int n = NewSqlDB.Length - 1; for (; n > 0; n--) { if (!char.IsDigit(NewSqlDB[n])) { break; } } NewSqlDB = NewSqlDB.Substring(0, n + 1) + m_Year.ToString(); labelYear.Text = "原資料年是 " + dt.Year.ToString() + " 將啟始" + m_Year.ToString() + "年資料"; labelNote.Text = "新年度資料將被放在資料庫[" + NewSqlDB + "] 設定檔HardwareCfg.xml放置於" + System.Net.Dns.GetHostName() + "的"; m_Dir = path + "\\Manage" + m_Year.ToString(); labelPath.Text = m_Dir; // SQL Server只要一個Table chListBoxBasic.Visible = false; List <string> list2 = GetTableName(m_DataSet); foreach (string s in list2) { if (s == "Header") { continue; // Header要特殊處理 } if (s == "VEHeader") { continue; // VEHeader要特殊處理 } if (ReservedTable.Contains(s)) { chListBoxVE.Items.Add(s, true); } else { chListBoxVE.Items.Add(s, false); } } }