//public static Call MakeCallForTalkNow(Booking booking, IServices service) //{ // // Get name of customer and specialist // string customerName = booking.Customer.FirstName + " " + booking.Customer.LastName; // string specialistName = booking.Specialist.FirstName + " " + booking.Specialist.LastName; // // TODO Remove it // // Hard code for test // booking.Customer.MobilePhone = "+61280114708"; // booking.Specialist.MobilePhone = "+61280114691"; // // .Hard code for test // // Create url TwiML // var _Url = new System.Web.Mvc.UrlHelper(System.Web.HttpContext.Current.Request.RequestContext); // var twiMLUrl = _Url.Action("FirstClientStart", "Conference", new CallContextModel // { // BookingId = booking.Id, // CallerId = booking.Customer.Id, // ReceiverId = booking.Specialist.Id, // IsCustomer = true, // NatureOfEnquiry = booking.Enquiry // }); // try // { // var call = service.CallManager.Call(twiMLUrl, booking.Specialist); // // Update into database // var callLog = new CallLog // { // CallerSid = call.Sid, // Booking = booking, // CallerStatus = call.Status, // Caller = booking.Customer, // Receiver = booking.Specialist, // StartTime = DateTime.Now, // EndTime = DateTime.Now // }; // service.CallLog.Create(callLog); // return call; // } // catch (Exception e) // { // // Log // Log.Debug("Error making call. Error: " + e.Message + " StackTrace: " + e.StackTrace); // throw new Exception("Error making call. Error: " + e.Message); // } //} public static BookingStatus GetBookingStatusByListType(ListBookingType type) { BookingStatus status = BookingStatus.Requested; switch (type) { case ListBookingType.Alert: break; case ListBookingType.Request: status = BookingStatus.Requested; break; case ListBookingType.Confirmed: status = BookingStatus.Confirmed; break; case ListBookingType.Past: status = BookingStatus.Finish; break; default: break; } return status; }
public ActionResult ListBookingPartial(ListBookingType type, string keyword) { //check List Booking Type to get list following status BookingStatus status = BookingHelper.GetBookingStatusByListType(type); //check consultant and get list booking ListBookingViewModel lstBookingViewModel = new ListBookingViewModel(); lstBookingViewModel.IsConsultant = IsSpecialist(); if (type != ListBookingType.Alert) { lstBookingViewModel.ListBooking = MapperBooking(Services.Booking.GetListBookingForDashBoard(CurrentUser.Id, CurrentUser.Role, status)); // Count booking list lstBookingViewModel.Total = lstBookingViewModel.ListBooking.Count(); } else // If list booking type is alert { lstBookingViewModel.BookingEventList = MapperBookingEvent(Services.Booking.GetBookingEventListForDashBoard(CurrentUser.Id)); // Count booking event list lstBookingViewModel.Total = lstBookingViewModel.BookingEventList.Count(); } lstBookingViewModel.ListBookingType = type; return PartialView("_ListBookingPartial", lstBookingViewModel); }