コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public async Task <string> ReserveBook(ReserveBookDTO ReserveBookDTO)
 {
     return(await _bookHttpService.ReserveBook(ReserveBookDTO));
 }