예제 #1
0
        public async Task <bool> LoadCustomerData()
        {
            ContractSearch  search       = new ContractSearch();
            SearchParamItem searchParams = new SearchParamItem();

            searchParams.CurrentType         = SearchParamItem.SearchType.Customers;
            searchParams.Customer.Namesearch = this.FullName;
            await search.StartSearch(searchParams);

            try
            {
                var items = search.CustomerItems;
                var item  = items.FirstOrDefault();
                if (item != null)
                {
                    Customer           = item;
                    this.ContractCount = Customer.ContractsCount;
                    this.ContractSum   = Customer.ContractsSum;
                }
            }
            catch
            {
            }

            return(true);
        }
예제 #2
0
        public async Task <bool> StartSearch(SearchParamItem paramsItem)
        {
            switch (paramsItem.CurrentType)
            {
            case SearchParamItem.SearchType.Contracts:
                await SearchContractsData(paramsItem);

                break;

            case SearchParamItem.SearchType.Customers:
                await SearchCustomersData(paramsItem);

                break;

            case SearchParamItem.SearchType.Suppliers:
                await SearchSuppliersData(paramsItem);

                break;

            default:
                await SearchContractsData(paramsItem);

                break;
            }
            return(true);
        }
예제 #3
0
        public async Task <bool> SearchSuppliersData(SearchParamItem paramsItem)
        {
            HttpClient http = new HttpClient();

            http.DefaultRequestHeaders.Add("X-Mashape-Authorization", Settings.AuthKey);
            string values = paramsItem.ToString();
            HttpResponseMessage result = await
                                         http.GetAsync(
                new Uri("https://clearspending.p.mashape.com/v1/suppliers/search/" + values));

            RawResult = await result.Content.ReadAsStringAsync();

            JObject resultJObject = new JObject();

            try
            {
                resultJObject = JObject.Parse(RawResult);
            }
            catch
            {
            }

            try
            {
                SupplierItems = new ObservableCollection <SupplierItem>();
                SupplierItems = JsonConvert.DeserializeObject <ObservableCollection <SupplierItem> >(resultJObject["suppliers"]["data"].ToString());
            }
            catch { }

            return(true);
        }
예제 #4
0
        public async Task <bool> SearchContractsData(SearchParamItem paramsItem)
        {
            HttpClient http = new HttpClient();

            http.DefaultRequestHeaders.Add("X-Mashape-Authorization", Settings.AuthKey);
            string values = paramsItem.ToString();
            HttpResponseMessage result = await
                                         http.GetAsync(
                new Uri("https://clearspending.p.mashape.com/v1/contracts/search/" + values));

            RawResult = await result.Content.ReadAsStringAsync();

            JObject resultJObject = new JObject();

            try
            {
                resultJObject = JObject.Parse(RawResult);
            }
            catch
            {
                resultJObject = null;
            }

            ContractItems = new List <ContractItem>();

            try
            {
                if (resultJObject != null)
                {
                    Total = resultJObject["contracts"]["total"].Value <int>();
                }
            }
            catch
            {
                Total = 0;
            }

            try
            {
                if (resultJObject != null)
                {
                    JArray dataItems = JArray.Parse(resultJObject["contracts"]["data"].ToString());
                    foreach (var item in dataItems)
                    {
                        var curContract = new ContractItem();
                        curContract.Customer = JsonConvert.DeserializeObject <CustomerItem>(item["customer"].ToString());
                        try
                        {
                            curContract.Products =
                                JsonConvert.DeserializeObject <ProductsItems>(item["products"].ToString());
                        }
                        catch
                        {
                            try
                            {
                                ProductItem product =
                                    JsonConvert.DeserializeObject <ProductItem>(item["products"]["product"].ToString());
                                curContract.Products.Product.Add(product);
                            }
                            catch
                            {
                            }
                            ;
                        }
                        ;

                        curContract.Price      = item["price"].ToString();
                        curContract.Id         = item["id"].ToString();
                        curContract.RegNum     = item["regNum"].ToString();
                        curContract.SearchRank = item["searchRank"].ToString();
                        try
                        {
                            curContract.SignDate = item["signDate"].Value <DateTime>();
                        }
                        catch
                        {
                        }

                        try
                        {
                            curContract.Suppliers =
                                JsonConvert.DeserializeObject <SuppliersItems>(item["suppliers"].ToString());

                            ContractItems.Add(curContract);
                        }
                        catch
                        {
                        }
                    }
                    //ContractItems = JsonConvert.DeserializeObject<List<ContractItem>>(resultJObject["contracts"]["data"].ToString());
                    RaisePropertyChanged("ContractItems");
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }
            RaisePropertyChanged("ContractItems");
            return(true);
        }