public JsonResult SaveHostelBooking(HostelBookingModel hostelBookingModel) { try { var token = _tokenValidator.Validate(HttpContext); if (!token.Success) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = $"Unauthorized:-{token.Message}", })); } var hostelRatio = _context.Settings.FirstOrDefault()?.HostelRatio; var bookingResults = _unisolApiProxy.SubmitBooking(hostelBookingModel, classStatus, hostelRatio).Result; var jdata = JsonConvert.DeserializeObject <ReturnData <string> >(bookingResults); return(Json(jdata)); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "There was a problem while retrieving your hostel booking history, please try again" })); } }
private ReturnData <string> InvoiceStudent(HostelBookingModel hostelBookingModel, string classStatus) { try { var roomFeeResponse = GetRoomFees(hostelBookingModel.Hostel, hostelBookingModel.AdmnNo); if (!roomFeeResponse.Success) { return new ReturnData <string> { Success = roomFeeResponse.Success, Message = roomFeeResponse.Message } } ; var enrolment = _studentServices.GetEnrollment(hostelBookingModel.AdmnNo, classStatus); if (!enrolment.Success) { return new ReturnData <string> { Success = false, Message = enrolment.Message } } ; AdjustInvoice(new StudInvoiceAdj { AdmnNo = hostelBookingModel.AdmnNo, Term = hostelBookingModel.Term, Class = enrolment.Data.Class, Amount = roomFeeResponse.Data.Amount }); return(new ReturnData <string> { Success = true }); } catch (Exception ex) { return(new ReturnData <string> { Success = false, Message = "Sorry, An error occurred" }); } }
public JsonResult BookHostel(HostelBookingModel hostelBookingModel, string classStatus, string hostelRatio) { try { var booking = new HostelBooking { AdmnNo = hostelBookingModel.AdmnNo, Notes = null, Term = hostelBookingModel.Term, Personnel = hostelBookingModel.Personnel, Hostel = hostelBookingModel.Hostel, Rdate = DateTime.Now.Date }; if (_context.HostelBooking.Any(h => h.AdmnNo.Contains(hostelBookingModel.AdmnNo) && h.Term.Contains(hostelBookingModel.Term))) { return(Json(new ReturnData <List <HostelBooking> > { Success = false, Message = "Your have already booked for this semester" })); } var percentages = hostelRatio.Split(")*("); var sponsor = _context.Register.FirstOrDefault(r => r.AdmnNo.ToUpper().Equals(hostelBookingModel.AdmnNo.ToUpper()))?.Sponsor; int percentage = 0; if (percentages.Length > 1) { if (sponsor.ToUpper().Equals("NYS")) { int.TryParse(percentages[1], out percentage); } else { int.TryParse(percentages[0], out percentage); } } double ratio = percentage * 0.01; if (CheckIfRoomIsBookable(hostelBookingModel.Hostel, hostelBookingModel.Term, ratio, hostelBookingModel.AdmnNo)) { return(Json(new ReturnData <List <HostelBooking> > { Success = false, Message = "Sorry, maximum occupancy has been reached" })); } var inistitutionInitial = _systemServices.GetSystemSetup()?.Data?.SubTitle ?? ""; if (inistitutionInitial.ToUpper().Equals("UOEM")) { var studInvoiced = InvoiceStudent(hostelBookingModel, classStatus); if (!studInvoiced.Success) { return(Json(new ReturnData <List <HostelBooking> > { Success = false, Message = "Sorry, An error occurred while invoicing" })); } } _context.HostelBooking.Add(booking); _context.SaveChanges(); return(Json(new ReturnData <List <HostelBooking> > { Success = true, Message = "Your hostel booking was submited succesfully" })); } catch (Exception ex) { Console.WriteLine(ex.Message); return(Json(new ReturnData <string> { Success = false, Message = "There was a problem while trying to submit your booking" })); } }
public Task <string> SubmitBooking(HostelBookingModel hostelBookingModel, string classStatus, string hostelRatio) { var response = Post($"HostelBooking/bookhostel/?classStatus={classStatus}&hostelRatio={hostelRatio}", hostelBookingModel); return(response); }