public async Task <string> ReserveBook(ReserveBookDTO ReserveBookDTO) { string responce = string.Empty; try { string json = JsonConvert.SerializeObject(ReserveBookDTO); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage ResponseMessage = await Client.PostAsync(Baseurl + "api/ReserveBook/", stringContent); if (ResponseMessage.IsSuccessStatusCode) { var responseData = ResponseMessage.Content.ReadAsStringAsync().Result; var data = JsonConvert.DeserializeObject <ApplicationResultReserveBook>(responseData); if (!data.Status.IsError) { responce = "Reservation Success Reservation id is- RSV" + data.Result; } else { responce = data.Status.ErrorMessage; } return(responce); } } catch (Exception ex) { return(ex.Message); } return(responce); }
public async Task <HttpResponseMessage> Post(ReserveBookDTO reserveBookDTO) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } var Isvalid = false; try { var dtNow = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); var dtNowToAddDays = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); var dt = Convert.ToDateTime(reserveBookDTO.BorrowDate); var dtaddtowdays = dtNowToAddDays.AddDays(2); if (dt >= dtNow && dt <= dtaddtowdays) { Isvalid = true; } } catch { Isvalid = false; } if (!Isvalid) { applicationResult.Status.IsError = true; applicationResult.Status.ErrorMessage = string.Format("Date must be after or equal to current date and within 2 days range"); return(Request.CreateResponse <ApplicationResult>(HttpStatusCode.OK, applicationResult)); } var data = await _service.CreateAsync(reserveBookDTO); if (data == null) { applicationResult.Status.IsError = true; applicationResult.Status.ErrorMessage = string.Format("Reservation Failed"); return(Request.CreateResponse <ApplicationResult>(HttpStatusCode.OK, applicationResult)); } applicationResult.Result = data.Id; return(Request.CreateResponse <ApplicationResult>(HttpStatusCode.OK, applicationResult)); }
public async Task <string> GetData(string MobileNumber, string Message) { string Msg = ""; string MemberName = _memberDBService.ValidateMember(MobileNumber); if (string.IsNullOrEmpty(MemberName)) { MemberDTO member = await _bookService.ValdiateMember(MobileNumber); if (member != null) { MemberName = member.FirstName + " " + member.LastName; // _memberDBService.Insert(member); } else { return("Mobile number is not recognize please Contact Admin"); } } if (!String.IsNullOrEmpty(Message)) { if (Message.ToLower().Contains("info")) { StringBuilder sb = new StringBuilder(); sb.AppendLine(Info.info.Replace("{Name}", MemberName)); sb.AppendLine(Info.ISBNSearch); sb.AppendLine(Info.ISBNReserve + Info.Reserve); return(sb.ToString()); } else if (Message.ToLower().Contains("search")) { string ISBN = Message.Split('#')[1]; Book book = await _bookService.SearchBook(ISBN); StringBuilder sb = new StringBuilder(); if (book == null) { sb.AppendLine("Book Not Found with Isbn " + ISBN); } else { sb.AppendLine("Title - " + book.Title); sb.AppendLine("Publisher - " + book.Publisher); sb.AppendLine("PublishedDate - " + book.PublishedDate); sb.AppendLine("Availablity - " + (book.BookCurrentCount == 0?"Not Available Now":"Available")); } return(sb.ToString()); } else if (Message.ToLower().Contains("reserve")) { StringBuilder sb = new StringBuilder(); try { string[] Data = Message.Split(',').ToArray(); if (Data.Count() == 2) { ReserveBookDTO reserveBookDTO = new ReserveBookDTO(); reserveBookDTO.ISBN = Data[0].Split('#')[1]; string dt = Data[1].Split('#')[1]; reserveBookDTO.BorrowDate = dt; reserveBookDTO.MobileNumber = MobileNumber; string Responce = await _bookService.ReserveBook(reserveBookDTO); if (!String.IsNullOrEmpty(Responce)) { Msg = Responce; } else { Msg = "Reservation Failed"; } } else { Msg = "Invalid Format"; } } catch (Exception ex) { return(ex.Message); } } else { Msg = "Invalid Format"; } } else { Msg = "Invalid Format"; } return(Msg); }
public async Task <string> ReserveBook(ReserveBookDTO ReserveBookDTO) { return(await _bookHttpService.ReserveBook(ReserveBookDTO)); }