コード例 #1
0
        public ActionResult <CheckDateAvailableResponseModel> CheckAvailableSite([FromBody] CheckDateAvailableInputModel data)
        {
            CheckDateAvailableResponseModel res = new CheckDateAvailableResponseModel();

            try
            {
                SiteBL bl   = new SiteBL(DbContext);
                var    temp = bl.CheckSiteAvailable(data);
                res.data = temp;

                res.Message  = "Success";
                res.Response = true;

                return(Ok(res));
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;

                return(res);
            }
        }
コード例 #2
0
        public IActionResult AddtoCart(AddtoCartSite info)
        {
            AddBookInputModel data = new AddBookInputModel();

            System.TimeSpan   diffResult = info.EndDate - info.StartDate;
            BaseResponseModel resutl     = new BaseResponseModel();

            //temp user
            data.UserID = Guid.Parse(HttpContext.Session.GetString(SessionKeyID));
            //  data.UserID = Guid.Parse("8E8C7738-5076-4E04-A1FB-DAD4A7C2AC21");
            //end temp user
            data.SiteID       = info.SiteID;
            data.SiteItemID   = info.SiteItemID;
            data.SitePriceID  = info.SitePriceID;
            data.StartDate    = info.StartDate;
            data.EndDate      = info.EndDate;
            data.Price        = info.Price;
            data.TotalPerItem = info.Price * diffResult.Days;
            data.Qty          = diffResult.Days;

            CheckDateAvailableInputModel checkDate = new CheckDateAvailableInputModel();

            checkDate.SiteID     = info.SiteID;
            checkDate.SiteItemID = info.SiteItemID;
            checkDate.StartDate  = info.StartDate;
            checkDate.EndDate    = info.EndDate;


            using (var clientCheck = new HttpClient())
            {
                clientCheck.BaseAddress = new Uri(BaseAPI + "Site/");
                //HTTP POST
                var postTaskCheck = clientCheck.PostAsJsonAsync <CheckDateAvailableInputModel>("CheckAvailableSite", checkDate);
                postTaskCheck.Wait();

                var resultCheck = postTaskCheck.Result;
                if (resultCheck.IsSuccessStatusCode)
                {
                    var contentcheck = resultCheck.Content.ReadAsStringAsync();
                    CheckDateAvailableResponseModel resutlcheck = Newtonsoft.Json.JsonConvert.DeserializeObject <CheckDateAvailableResponseModel>(contentcheck.Result);
                    if (resutlcheck.data.CanBook == true)
                    {
                        using (var client = new HttpClient())
                        {
                            client.BaseAddress = new Uri(BaseAPI + "Site/");
                            //HTTP POST
                            var postTask = client.PostAsJsonAsync <AddBookInputModel>("AddToCart", data);
                            postTask.Wait();

                            var result = postTask.Result;
                            if (result.IsSuccessStatusCode)
                            {
                                resutl.Response = true;
                                resutl.Message  = "Add To Cart Successfully.";
                            }
                            else
                            {
                                resutl.Response = false;
                                resutl.Message  = "Fail to add data. Please contact administrator.";
                            }
                        }
                    }
                    else
                    {
                        resutl.Response = false;
                        resutl.Message  = "Fail to add data, date not available. Please contact administrator.";
                    }
                }
                else
                {
                    resutl.Response = false;
                    resutl.Message  = "Fail to add data. Please contact administrator.";
                }
            }


            //ForDetail site = new ForDetail();
            //using (var client = new HttpClient())
            //{

            //}

            return(Ok(resutl));
        }
コード例 #3
0
        public ActionResult AddtoBook(string siteID, string sitePriceID, string siteItemID, string price, string durasi, string totalprice, string startDate, string endDate)
        {
            AddBookOutputModel OutPutData = new AddBookOutputModel();

            if (HttpContext.Session.GetString(SessionKeyID) != null && HttpContext.Session.GetString(SessionKeyID) != "")
            {
                AddToBookListInputModel bookData = new AddToBookListInputModel();
                bookData.isFromCart = false;
                bookData.Data       = new List <AddBookInputModel>();

                AddBookInputModel Data = new AddBookInputModel();
                Data.SitePriceID  = Guid.Parse(sitePriceID);
                Data.SiteID       = Guid.Parse(siteID);
                Data.SiteItemID   = Guid.Parse(siteItemID);
                Data.UserID       = Guid.Parse(HttpContext.Session.GetString(SessionKeyID));
                Data.StartDate    = DateTime.Parse(startDate);
                Data.EndDate      = DateTime.Parse(endDate);
                Data.Qty          = int.Parse(durasi);
                Data.Price        = double.Parse(price);
                Data.TotalPerItem = double.Parse(totalprice);
                Data.CartID       = Guid.Empty;
                bookData.Data.Add(Data);
                JsonConvert.SerializeObject(bookData);

                CheckDateAvailableInputModel checkDate = new CheckDateAvailableInputModel();
                checkDate.SiteID     = Guid.Parse(siteID);
                checkDate.SiteItemID = Guid.Parse(siteItemID);
                checkDate.StartDate  = DateTime.Parse(startDate);
                checkDate.EndDate    = DateTime.Parse(endDate);
                using (var clientCheck = new HttpClient())
                {
                    clientCheck.BaseAddress = new Uri(BaseAPI + "Site/");
                    //HTTP POST
                    var postTaskCheck = clientCheck.PostAsJsonAsync <CheckDateAvailableInputModel>("CheckAvailableSite", checkDate);
                    postTaskCheck.Wait();

                    var resultCheck = postTaskCheck.Result;
                    if (resultCheck.IsSuccessStatusCode)
                    {
                        var contentcheck = resultCheck.Content.ReadAsStringAsync();
                        CheckDateAvailableResponseModel resutlcheck = Newtonsoft.Json.JsonConvert.DeserializeObject <CheckDateAvailableResponseModel>(contentcheck.Result);
                        if (resutlcheck.data.CanBook == true)
                        {
                            using (var client = new HttpClient())
                            {
                                client.BaseAddress = new Uri(BaseAPI + "Site/");
                                //HTTP POST
                                var postTask = client.PostAsJsonAsync <AddToBookListInputModel>("AddToBooked", bookData);
                                postTask.Wait();

                                var result = postTask.Result;
                                if (result.IsSuccessStatusCode)
                                {
                                    return(RedirectToAction("Index", "Booking"));
                                    //var content = result.Content.ReadAsStringAsync();
                                    //AddBookResponseModel resutl = Newtonsoft.Json.JsonConvert.DeserializeObject<AddBookResponseModel>(content.Result);
                                    //OutPutData = resutl.data;
                                }
                                else
                                {
                                    TempData["CustomError"] = "Fail to add data. Please contact administrator.";
                                }
                            }
                        }
                        else
                        {
                            TempData["CustomError"] = "Fail to add data, date not available. Please contact administrator.";
                        }
                    }
                    else
                    {
                        TempData["CustomError"] = "Fail to add data. Please contact administrator.";
                    }
                }
                return(Json(OutPutData));
            }
            else
            {
                TempData["CustomError"] = "Please login before using the web.";
                if (HttpContext.Session.GetString(Loginfrom) == "ADM/SPV")
                {
                    return(RedirectToAction("AdminLogon", "Login"));
                }
                else if (HttpContext.Session.GetString(Loginfrom) == "MDO")
                {
                    return(RedirectToAction("OwnerLogon", "Login"));
                }
                else
                {
                    return(RedirectToAction("BuyerLogon", "Login"));
                }
                //return RedirectToAction("Logon", "Login");
            }
        }