public bool Book([FromBody] BookActionDto dto) { var dinner = _context.Dinners.Find(dto.DinnerID); if (dinner == null) { return(false); } if (dto.DinnerDate.Add(dinner.DinnerTime).AddHours(7) < DateTime.Now) { return(false); } var diner = _context.Diners.Find(dto.DinerID); if (diner == null) { return(false); } if (dto.UnBook) { BookRecord existRecord = _context.BookRecords.FirstOrDefault(p => p.DinerID == dto.DinerID && p.DinnerID == dto.DinnerID && p.DinnerDate == dto.DinnerDate.AddHours(8)); if (existRecord != null) { _context.BookRecords.Remove(existRecord); } else { return(false); } } else { if (_context.BookRecords.Where(p => p.DinerID == dto.DinerID && p.DinnerID == dto.DinnerID && p.DinnerDate == dto.DinnerDate.AddHours(8)).Count() > 0) { return(false); } BookRecord bookRecord = BookRecord.CreateNewBookRecord(dto.DinerID, dto.DinnerID, dto.DinnerDate.ToLocalTime().Date, GetUserID()); this._context.BookRecords.Add(bookRecord); } if (this._context.SaveChanges() == 1) { return(true); } else { return(false); } }