public async Task <ActionResult> BookServiceConfirmed(int inBookingSystemId, int inServiceId, BookingSystemServiceBookingViewModel model) { try { BookingSystemServiceBookingViewModel getService = new BookingSystemServiceBookingViewModel(); HttpClient client = new HttpClient(); //Hämtar servicen med ett api-anrop för bokningen som tillhör ett bokningssystem och service id:et var result = client.GetAsync("http://localhost:55341/api/GetService/" + inBookingSystemId + "/" + inServiceId).Result; if (result.IsSuccessStatusCode) { getService = await result.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator"); } //Tilldelar parametervärdet-model den tjänsten som väljs i bokningsflödet model.service = getService.service; BookingSystemServiceBookingViewModel getSystem = null; HttpClient client1 = new HttpClient(); //Hämtar bokningssystemet med ett api-anrop för bokningen som tillhör ett specifikt bokningssystem var result1 = client1.GetAsync("http://localhost:55341/api/GetBookingSystem/" + inBookingSystemId).Result; if (result1.IsSuccessStatusCode) { getSystem = await result1.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); } //Tilldelar parametervärdet-model det bokningssystemet som väljs i bokningsflödet. model.bookingSystem = getSystem.bookingSystem; //Om man nyligen har bokat en tjänst läggs det till ett klick på relationen eller så skapas den if (model.branchAId != 0 && model.branchAId != null) { await UpdateBranchRelationAsync(model.branchAId ?? default(int), model.service.Branch.BranchId); } //Tilldelar parametervärdet-model branchA Id:et som den tillhör model.branchAId = model.service.Branch.BranchId; var url = "http://localhost:55341/api/PostBooking"; //Gör ett metodanrop till APIContact-metoden som kontrollerar url och model-värden som passeras in. if (await APIContact(url, model)) { //Returnerar bokningsinformation genom att anropa på metoden Details return(RedirectToAction("Details", new { inBookingSystemId, inServiceId })); } } catch (DataException) { ModelState.AddModelError("", "Unable to save changes, please try again"); } return(View(model)); }
public async Task <IHttpActionResult> GetMaxId() { BookingSystemServiceBookingViewModel model = new BookingSystemServiceBookingViewModel(); var maxId = await uw.Bookings.GetBookings(); model.booking = maxId.OrderByDescending(i => i.BookingId).Take(1).Single(); return(Ok(model)); }
public async Task <IHttpActionResult> GetBooking(int inBookingId) { BookingSystemServiceBookingViewModel bsSBVM = new BookingSystemServiceBookingViewModel(); bsSBVM.booking = await uw.Bookings.Get(inBookingId); bsSBVM.bookingSystems = await uw.BookingSystems.GetAll(); bsSBVM.bookings = await uw.Bookings.GetAll(); if (bsSBVM == null) { return(NotFound()); } return(Ok(bsSBVM)); }
public async Task <IHttpActionResult> GetService(int inBookingSystemId, int inServiceId) { //Anropar på GetBookingSystem() från repository för att hämta det specifika bokningssystemet var bs = await uw.BookingSystems.GetBookingSystem(inBookingSystemId); BookingSystemServiceBookingViewModel bsSBVM = new BookingSystemServiceBookingViewModel(); bsSBVM.bookingSystem = bs; //Tilldelar service-objektet ett värde på en tjänst som tillhör ett specifikt bokningssystem bsSBVM.service = bsSBVM.bookingSystem.Services.Single(x => x.ServiceId == inServiceId); if (bsSBVM == null) { return(NotFound()); } return(Ok(bsSBVM)); }
//Returnerar tjänster som möjliggör en bokning i ett bokningsystem public async Task <ActionResult> BookService(int inBookingSystemId, int inServiceId) { BookingSystemServiceBookingViewModel bsSBVM = null; HttpClient client = new HttpClient(); //Gör ett api-anrop för att hämta en tjänst för ett bokningssystem var result = client.GetAsync("http://localhost:55341/api/GetService/" + inBookingSystemId + "/" + inServiceId).Result; if (result.IsSuccessStatusCode) { bsSBVM = await result.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator"); } return(View(bsSBVM)); }
public async Task <IHttpActionResult> GetBooking(int inBookingSystemId, int inServiceId) { //Hämtar bokningssystemet genom att anropa GetBookingSystem() metoden från repository var bs = await uw.BookingSystems.GetBookingSystem(inBookingSystemId); BookingSystemServiceBookingViewModel bsSBVM = new BookingSystemServiceBookingViewModel(); bsSBVM.bookingSystem = bs; //Hämtar den specifika tjänsten som tillhör bokningssystemet bsSBVM.service = bs.Services.Single(x => x.ServiceId == inServiceId); if (bsSBVM == null) { return(NotFound()); } return(Ok(bsSBVM)); }
public async Task <IHttpActionResult> PostBooking(BookingSystemServiceBookingViewModel inBooking) { if (!ModelState.IsValid) { return(BadRequest("Invalid data")); } var booking = inBooking.booking; booking.StartTime = inBooking.startTime; booking.EndTime = inBooking.startTime.AddMinutes(inBooking.service.Duration); /*Gör först ett anrop till AddBooking i repository som kräver en bokning och service id som parameter. * Tar in CreateBooking() metoden från repository som första parametervärde för bokningen och sedan service objektet * som andra parametervärde*/ uw.Services.AddBooking(await uw.Bookings.CreateBooking(booking), inBooking.service.ServiceId); uw.Complete(); return(Ok()); }
public async Task <ActionResult> BookService(int inBookingSystemId, int inServiceId, string inStartTime, int?branchAId) { BookingSystemServiceBookingViewModel bsSBVM = new BookingSystemServiceBookingViewModel(); HttpClient client = new HttpClient(); //Gör ett API-anrop för att hämta information om bokningen som tillhör till ett specifikt bokningssystem och tjänst var result = client.GetAsync("http://localhost:55341/api/GetBooking/" + inBookingSystemId + "/" + inServiceId).Result; if (result.IsSuccessStatusCode) { bsSBVM = await result.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator"); } bsSBVM.branchAId = branchAId ?? default(int); bsSBVM.startTime = Convert.ToDateTime(inStartTime); return(View(bsSBVM)); }
//Returnerar bokningsbekräftelse på bokningen public async Task <ActionResult> Details(int inBookingSystemId, int inServiceId) { BookingSystemServiceBookingViewModel bsSBVM = new BookingSystemServiceBookingViewModel(); HttpClient client = new HttpClient(); BookingSystemServiceBookingViewModel getSystem = null; HttpClient client1 = new HttpClient(); //Gör ett api-anrop för att hämta det valda bokningssystemet i bokningsflödet var result1 = client1.GetAsync("http://localhost:55341/api/GetBookingSystem/" + inBookingSystemId).Result; if (result1.IsSuccessStatusCode) { getSystem = await result1.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); } //Tilldelar objektet värdet på bokningsystemet som är valt. bsSBVM.bookingSystem = getSystem.bookingSystem; BookingSystemServiceBookingViewModel getService = null; HttpClient client2 = new HttpClient(); //Gör ett api-anrop för att hämta tjänsten som är valt i bokningsflödet för bokningssystemet var result2 = client2.GetAsync("http://localhost:55341/api/GetService/" + inBookingSystemId + "/" + inServiceId).Result; if (result2.IsSuccessStatusCode) { getService = await result2.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator"); } //Tilldelar objektet värdet på tjänsten som är valt på bokningssystemet bsSBVM.service = getService.service; BookingSystemServiceBookingViewModel getBookingWithMaxId = null; HttpClient client3 = new HttpClient(); //Gör ett api-anrop för att hämta det högsta id:et för bokningarna var result3 = client3.GetAsync("http://localhost:55341/api/GetBooking/GetMaxId").Result; if (result3.IsSuccessStatusCode) { getBookingWithMaxId = await result3.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); } //Gör ett api-anrop och hämtar bokningen med det högsta id:et var result = client.GetAsync("http://localhost:55341/api/GetBooking/" + getBookingWithMaxId.booking.BookingId).Result; if (result.IsSuccessStatusCode) { getBookingWithMaxId = await result.Content.ReadAsAsync <BookingSystemServiceBookingViewModel>(); } else { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); } bsSBVM.booking = getBookingWithMaxId.booking; bsSBVM.bookings = getBookingWithMaxId.bookings; bsSBVM.bookingSystems = getBookingWithMaxId.bookingSystems; return(View(bsSBVM)); }