Exemplo n.º 1
0
        public async Task <IActionResult> Detail([FromRoute] string slug)
        {
            //split productId
            if (slug != null)
            {
                string[] id        = slug.Split('-');
                string   productId = id[id.Length - 1].Substring(1);

                using (var client = _restClient.CreateClient(User))
                {
                    using (var response = await client.GetAsync("/api/product/GetProduct?id=" + productId))
                    {
                        dynamic result = response.StatusCode == HttpStatusCode.OK
                            ? JsonConvert.DeserializeObject <dynamic>(await response.Content.ReadAsStringAsync())
                            : null;

                        if (result != null && result.status == "Success")
                        {
                            return(View(result.product[0]));
                        }
                    }
                }
            }

            //Return View 404 not found
            return(RedirectToAction("NotFound404", "Home"));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString,
                                                int?page = 1)
        {
            var staffs = new List <GetStaffsForAdmin>();

            if (searchString == null)
            {
                searchString = currentFilter;
            }
            else
            {
                page = 1;
            }

            var sortQuery = new List <string>
            {
                "name",
                "name_desc",
                "adddate",
                "adddate_desc",
                "salary",
                "salary_desc",
                "email",
                "email_desc",
                "role",
                "role_desc",
            };

            sortOrder = string.IsNullOrEmpty(sortOrder) || !sortQuery.Contains(sortOrder)
                ? "name"
                : sortOrder.Trim().ToLower();

            var queryString = nameof(sortOrder) + "=" + sortOrder + (!string.IsNullOrEmpty(searchString)
                                  ? "&" + nameof(searchString) + "=" + searchString
                                  : "");

            ViewData["SortOrder"]     = sortOrder;
            ViewData["CurrentFilter"] = searchString;

            using (var client = _restClient.CreateClient(User))
            {
                using (
                    var response = await client.GetAsync("/api/admin/GetStaffsForAdmin?" + queryString))
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        staffs = JsonConvert.DeserializeObject <List <GetStaffsForAdmin> >(
                            await response.Content.ReadAsStringAsync());
                    }
                }
            }

            int pageSize = 5;

            ViewData["LengthEntry"]  = staffs.Count;
            ViewData["CurrentEntry"] = pageSize * page;

            return(View(PaginatedList <GetStaffsForAdmin> .CreateAsync(staffs, page ?? 1, pageSize)));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> UserInformation()
        {
            using (var client = _restClient.CreateClient(User))
            {
                using (var response = await client.GetAsync("/api/customer/GetCustomerInfo"))
                {
                    dynamic root = response.StatusCode == HttpStatusCode.OK
                        ? JsonConvert.DeserializeObject <dynamic>(await response.Content.ReadAsStringAsync())
                        : null;

                    if (root != null)
                    {
                        return(View(root));
                    }
                }
            }

            return(View(null));
        }
Exemplo n.º 4
0
        public ActionResult <object> Get()
        {
            var response = _client.CreateClient("https://www.exampleurl.com")
                           .AddAuthentication()
                           .CreateRequest("/example/example", HTTPMethod.POST)
                           .AddHeader("content-type", "application/json")
                           .AddBody(new object())
                           .Execute <object>();

            return(Ok(response));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Index(string error)
        {
            if (_claimPrincipalManager.IsAuthenticated)
            {
                using (var client = _restClient.CreateClient(User))
                {
                    using (var response = await client.GetAsync("/api/customercart/GetCustomerCarts?customerId=" + _claimPrincipalManager.Id + "&error=" + error))
                    {
                        dynamic result = response.StatusCode == HttpStatusCode.OK
                            ? JsonConvert.DeserializeObject <dynamic>(await response.Content.ReadAsStringAsync())
                            : null;

                        return(View(result));
                    }
                }
            }

            var customerId = Request.Cookies["AnonymousId"];

            if (string.IsNullOrEmpty(customerId))
            {
                return(View(null));
            }
            else
            {
                using (var client = _restClient.CreateClient(User))
                {
                    using (var response = await client.GetAsync("/api/anonymouscustomercart/GetAnonymousCustomerCarts?customerId=" + customerId))
                    {
                        dynamic result = response.StatusCode == HttpStatusCode.OK
                            ? JsonConvert.DeserializeObject <dynamic>(await response.Content.ReadAsStringAsync())
                            : null;

                        return(View(result));
                    }
                }
            }
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Load(String sort, String order, Int32 offset, Int32 limit, String search, String searchFields)
        {
            //  setup url with query parameters
            var queryString = new Dictionary <String, String>();

            queryString["sortBy"]             = sort ?? "";
            queryString["sortDirection"]      = order ?? "";
            queryString["skip"]               = offset.ToString();
            queryString["take"]               = limit.ToString();
            queryString[nameof(search)]       = search ?? "";
            queryString[nameof(searchFields)] = searchFields ?? "";

            // convert dictionary to query params
            var uriBuilder = new UriBuilder(restClient.BaseAddress + apiUrl)
            {
                Query = QueryHelpers.AddQueryString("", queryString)
            };

            using (var client = restClient.CreateClient(User))
            {
                using (var response = await client.GetAsync(uriBuilder.Uri))
                {
                    var document = await response.Content.ReadAsStringAsync();

                    var loadResult = JsonConvert.DeserializeObject <LoadResult <EmployeeResource> >(document);

                    // Convert loadResult into Bootstrap-Table compatible format
                    var result = new
                    {
                        total = loadResult.CountUnfiltered,
                        rows  = loadResult.Items
                    };

                    return(Json(result));
                }
            }
        }
Exemplo n.º 7
0
        public async Task <IActionResult> List([FromRoute] string slug, string sortOrder,
                                               int?page = 1)
        {
            if (slug != null)
            {
                string[] id      = slug.Split('-');
                string   brandId = id[id.Length - 1].Substring(1);

                var sortQuery = new List <string>
                {
                    "name",
                    "name_desc",
                    "price",
                    "price_desc"
                };

                sortOrder = string.IsNullOrEmpty(sortOrder) || !sortQuery.Contains(sortOrder)
                    ? "name"
                    : sortOrder.Trim().ToLower();

                var queryString = nameof(sortOrder) + "=" + sortOrder;

                string displayOrder = "";

                switch (sortOrder)
                {
                case "":
                case "name":
                    displayOrder = "Name A-Z";
                    break;

                case "name_desc":
                    displayOrder = "Name Z-A";
                    break;

                case "price":
                    displayOrder = "Price low to high";
                    break;

                case "price_desc":
                    displayOrder = "Price high to low";
                    break;
                }

                ViewData["DisplayOrder"] = displayOrder;
                ViewData["SortOrder"]    = sortOrder;
                ViewData["Slug"]         = slug;

                int pageSize = 8;

                using (var client = _restClient.CreateClient(User))
                {
                    using (var response = await client.GetAsync("/api/brand/GetProductsForBrand?id=" + brandId + "&" + queryString))
                    {
                        RootBrandProducts root = response.StatusCode == HttpStatusCode.OK
                            ? JsonConvert.DeserializeObject <RootBrandProducts>(await response.Content.ReadAsStringAsync())
                            : null;

                        if (root != null && root.status == "Success")
                        {
//                            ViewData["LengthEntry"] = root.brands.products.Count;
//                            ViewData["CurrentEntry"] = pageSize * page;
                            ViewData["CurrentPage"] = page;
                            ViewBag.BrandInfo       = root.brands;
                            return(View(PaginatedList <BrandProducts> .CreateAsync(root.brands.products, page ?? 1, pageSize)));
                        }

                        return(View(null));
                    }
                }
            }

            //Return View 404 not found
            return(RedirectToAction("NotFound404", "Home"));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> Products(string sortOrder, string currentFilter, string searchString,
                                                   int?page = 1)
        {
            var products = new List <GetProductForStaff>();

            if (searchString == null)
            {
                searchString = currentFilter;
            }
            else
            {
                page = 1;
            }

            var sortQuery = new List <string>
            {
                "id",
                "id_desc",
                "name",
                "name_desc",
                "sales",
                "sales_desc",
                "status",
                "status_desc",
                "numberorder",
                "numberorder_desc",
                "rating",
                "rating_desc",
                "wishcounting",
                "wishcounting_desc",
            };

            sortOrder = string.IsNullOrEmpty(sortOrder) || !sortQuery.Contains(sortOrder)
                ? "id"
                : sortOrder.Trim().ToLower();

            var queryString = nameof(sortOrder) + "=" + sortOrder + (!string.IsNullOrEmpty(searchString)
                                  ? "&" + nameof(searchString) + "=" + searchString
                                  : "");

            ViewData["SortOrder"]     = sortOrder;
            ViewData["CurrentFilter"] = searchString;

            using (var client = _restClient.CreateClient(User))
            {
                using (
                    var response = await client.GetAsync("/api/product/GetProductsForStaff?" + queryString))
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        products = JsonConvert.DeserializeObject <List <GetProductForStaff> >(
                            await response.Content.ReadAsStringAsync());
                    }
                }
            }

            int pageSize = 5;

            ViewData["LengthEntry"]  = products.Count;
            ViewData["CurrentEntry"] = pageSize * page;

            return(View(PaginatedList <GetProductForStaff> .CreateAsync(products, page ?? 1, pageSize)));
        }