Ejemplo n.º 1
0
        public int UpdateWaitList(int id, WalkInWaitList list)
        {
            //throw new NotImplementedException();
            context.WalkInWaitLists.Attach(list);

            var entry = context.Entry(list);

            //Get assigned table
            //
            //var table = context.GuestTables.Where(t => t.TableNumber == list.ServedTableNumber);

            //var newTable = context.Entry(table);



            //newTable.State = EntityState.Modified;
            entry.State = EntityState.Modified;



            try
            {
                context.SaveChanges();

                return(0);
            }
            catch (DbUpdateConcurrencyException dbUpdateConcurrencyException)
            {
                var msg = dbUpdateConcurrencyException.Message;

                return(1);
            }
        }
Ejemplo n.º 2
0
        public void UpdateWaitList(int id, WalkInWaitList list)
        {
            //throw new NotImplementedException();

            //Get the list based on guestId
            //
            WalkInWaitList wList = _waitListRepository.GetWalkInWaitListByGuestId(id);

            wList.UpdateDate       = DateTime.Now;
            wList.StatusChangeTime = DateTime.Now;
            wList.WaitingStatus    = list.WaitingStatus;
            wList.ServedTime       = DateTime.Now;

            if (wList.WaitingStatus == "Waiting" || wList.WaitingStatus == "Available")
            {
                wList.ServedTableNumber = "";
            }
            else
            {
                wList.ServedTableNumber = list.ServedTableNumber;
            }



            var completeCode = _waitListRepository.UpdateWaitList(id, wList);

            if (wList.WaitingStatus == "Served")
            {
                if (completeCode == 0)
                {
                    //Get table by table number
                    //
                    var table = _tableManagementRepository.GetGuestTable(wList.ServedTableNumber, wList.OrganizationId);

                    if (table != null)
                    {
                        table.TableStatus    = "Occupied";
                        table.UpdateDate     = DateTime.Now;
                        table.LastUpdateTime = DateTime.Now;
                        wList.ServedTime     = DateTime.Now;

                        _waitListRepository.UpdateTableStatus(table);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public void AddToWaitList(Domain.ViewModels.WaitListViewModel waitList)
        {
            //throw new NotImplementedException();

            WalkInWaitList list = new WalkInWaitList(
                waitList.GuestGroupSize,
                waitList.OrganizationId,
                waitList.WaitingStatus,
                waitList.IsActive

                );

            Guest guest = new Guest(
                waitList.GuestFirstName,
                waitList.GuestLastName,
                waitList.GuestContactTel,
                waitList.GuestContactEmail
                );


            _waitListRepository.AddToWaitList(list, guest);
        }
Ejemplo n.º 4
0
        public IHttpActionResult UpdateWaitList(int id, WalkInWaitList list)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _waitListService.UpdateWaitList(id, list);

            //Get guest info and send sms message - for production
            //

            var guest = _waitListService.GetGuestFromWaitList(list.GuestId);

            //Get organization name
            var org = _userProfileService.GetOrganizationById(list.OrganizationId);

            var to = guest.GuestContactTel;

            var msg = "";

            if (list.WaitingStatus == "Available")
            {
                msg = "Dear " + guest.GuestFirstName +
                      ", a table is available for you now. Please come to report to the front desk. Thanks.";
            }
            else
            {
                msg = "Dear " + guest.GuestFirstName + ", Welcome to " + org.Name + ". Thank you.";
            }

            //SendSmsMessage();

            SendSmsMessageToGuest(to, msg); //For full testing and production

            return(Ok());
        }