public async Task Update(WaitListViewModel model) { var basketContent = new StringContent(JsonConvert.SerializeObject(model), System.Text.Encoding.UTF8, "application/json"); var response = await _apiClient.PostAsync("", basketContent); response.EnsureSuccessStatusCode(); }
private void AddToList(WaitListViewModel waitListInfo) { //set default values // //waitListInfo.IsActive = true; //waitListInfo.IsPreferred = false; //waitListInfo.WaitingStatus = "Waiting"; //waitListInfo.ServedTableNumber = "0"; //waitListInfo.ArrivalTime = DateTime.Now; //waitListInfo.StatusChangeTime = DateTime.Now; //waitListInfo.CreateDate = DateTime.Now; //waitListInfo.UpdateDate = DateTime.Now; //var org = _userProfileService.GetOrganizationById(waitListInfo.OrganizationId); //Persist waitlist in database // _waitListService.AddToWaitList(waitListInfo); }
public async Task <IActionResult> Create(WaitListViewModel model) { await _waitList.Create(model); return(Redirect("/")); }
public IHttpActionResult AddToWaitList(WaitListViewModel waitListInfo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { //set default values // waitListInfo.IsActive = true; waitListInfo.IsPreferred = false; waitListInfo.WaitingStatus = "Waiting"; waitListInfo.ServedTableNumber = "0"; waitListInfo.ArrivalTime = DateTime.Now; waitListInfo.StatusChangeTime = DateTime.Now; waitListInfo.CreateDate = DateTime.Now; waitListInfo.UpdateDate = DateTime.Now; //Add to the wait list AddToList(waitListInfo); } catch (Exception) { throw; } //set default values // //waitListInfo.IsActive = true; //waitListInfo.IsPreferred = false; //waitListInfo.WaitingStatus = "Waiting"; //waitListInfo.ServedTableNumber = "0"; //waitListInfo.ArrivalTime = DateTime.Now; //waitListInfo.StatusChangeTime = DateTime.Now; //waitListInfo.CreateDate = DateTime.Now; //waitListInfo.UpdateDate = DateTime.Now; var org = _userProfileService.GetOrganizationById(waitListInfo.OrganizationId); ////Persist waitlist in database //// //_waitListService.AddToWaitList(waitListInfo); //Get wait time depending on the hour of day // var hourOfDay = Int32.Parse(DateTime.Now.Hour.ToString()); var weekDay = DateTime.Now.DayOfWeek; var waitTime = _waitTimeService.GetWaitTime(hourOfDay, weekDay); //Send sms to guest // var to = waitListInfo.GuestContactTel; var msg = ""; if (waitTime == "0") { msg = "Dear " + waitListInfo.GuestFirstName + ", The restaurant is currently closed. Please call tomorrow. " + org.Name + "."; } else { msg = "Dear " + waitListInfo.GuestFirstName + ", you have been put in our waitlist. " + "The approximate wait time is " + waitTime + " min. You will be notified when a table is available. Thanks." + " " + org.Name + "."; } //SendSmsMessage(); SendSmsMessageToGuest(to, msg); //For full testing and production return(Ok()); }
[Route("list/sms")] //Add to wait list via SMS message public IHttpActionResult SmsAddToList(SmsRequest message) // change the SmsMessageViewModel to SmsRequest, a Twilio message request object { // for real Twilio SMS message if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //set organizationId to the target code from the argument passed in, then find out the organizaitonId var orgId = _userProfileService.GetOrganizationByCode(message.To).Id; string[] info = GetRequest(message.Body); var customerName = ""; var guest = ""; var waitListInfo = new WaitListViewModel(); try { customerName = info[0]; guest = info[1]; waitListInfo.GuestFirstName = customerName; waitListInfo.GuestLastName = "Guest"; waitListInfo.GuestGroupSize = int.Parse(guest); waitListInfo.GuestContactTel = message.From.Substring(2); waitListInfo.OrganizationId = orgId; waitListInfo.IsActive = true; waitListInfo.IsPreferred = false; waitListInfo.WaitingStatus = "Waiting"; waitListInfo.ServedTableNumber = "0"; waitListInfo.ArrivalTime = DateTime.Now; waitListInfo.StatusChangeTime = DateTime.Now; waitListInfo.CreateDate = DateTime.Now; waitListInfo.UpdateDate = DateTime.Now; } catch (Exception) { var error_msg = "Invalid format. Please resend in the form of 'name number, e.g. John 5. Thanks."; var outTo = message.From; SendSmsMessageToGuest(outTo, error_msg); throw; } #region implementation /* */ try { //Add to the wait list AddToList(waitListInfo); } catch (Exception) { throw; } var org = _userProfileService.GetOrganizationById(waitListInfo.OrganizationId); ////Persist waitlist in database //// //_waitListService.AddToWaitList(waitListInfo); //Get wait time depending on the hour of day and day of week // var weekDay = DateTime.Now.DayOfWeek; //Int32.Parse(DateTime.Now.DayOfWeek.ToString()); var hourOfDay = Int32.Parse(DateTime.Now.Hour.ToString()); var waitTime = _waitTimeService.GetWaitTime(hourOfDay, weekDay); var to = waitListInfo.GuestContactTel; var msg = ""; if (waitTime == "0") { msg = "Dear " + waitListInfo.GuestFirstName + ", The restaurant is currently closed. Please call tomorrow. " + org.Name + "."; } else { msg = "Dear " + waitListInfo.GuestFirstName + ", you have been put in our waitlist. " + "The approximate wait time is " + waitTime + " min. You will be notified when a table is available. Thanks." + " " + org.Name + "."; } //Send sms to guest // //SendSmsMessage(); SendSmsMessageToGuest(to, msg); //For full testing and production #endregion return(Ok()); }