Ejemplo n.º 1
0
        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);
            }
        }