示例#1
0
 public IstabWindow(MainForm main_form, Istab.TABTYP tabtyp)
 {
     InitializeComponent();
     this.main_form = main_form;
     this.tabtyp    = tabtyp;
     this.sort      = SORT_BY.TYPCOD;
 }
示例#2
0
 public IstabWindow(MainForm main_form, Istab.TABTYP tabtyp)
 {
     InitializeComponent();
     this.main_form = main_form;
     this.tabtyp = tabtyp;
     this.sort = SORT_BY.TYPCOD;
 }
示例#3
0
        public void search(string query, bool staffpicked, bool animated, string categoryName, SORT_BY sortby, string maxFaceCount = "", string minFaceCount = "")
        {
            reset();
            string searchQuery = START_QUERY;

            if (query.Length > 0)
            {
                searchQuery = searchQuery + "q=" + query;
            }

            if (minFaceCount != "")
            {
                searchQuery = searchQuery + "&min_face_count=" + minFaceCount;
            }

            if (maxFaceCount != "")
            {
                searchQuery = searchQuery + "&max_face_count=" + maxFaceCount;
            }

            if (staffpicked)
            {
                searchQuery = searchQuery + "&staffpicked=true";
            }
            if (animated)
            {
                searchQuery = searchQuery + "&animated=true";
            }

            switch (sortby)
            {
            case SORT_BY.RECENT:
                searchQuery = searchQuery + "&sort_by=" + "-publishedAt";
                break;

            case SORT_BY.VIEWS:
                searchQuery = searchQuery + "&sort_by=" + "-viewCount";
                break;

            case SORT_BY.LIKES:
                searchQuery = searchQuery + "&sort_by=" + "-likeCount";
                break;
            }

            if (_categories[categoryName].Length > 0)
            {
                searchQuery = searchQuery + "&categories=" + _categories[categoryName];
            }

            _lastQuery = searchQuery;
            startSearch();
            _isFetching = true;
        }
示例#4
0
        private void GetIstabData(Istab selected_item = null, bool performadd = false, int selected_row_index_after_delete = -1)
        {
            this.FormProcessing();

            string sort = "";

            switch (this.sort)
            {
            case SORT_BY.TYPCOD:
                sort = "typcod";
                break;

            case SORT_BY.ABBR_TH:
                sort = "abbreviate_th";
                break;

            case SORT_BY.ABBR_EN:
                sort = "abbreviate_en";
                break;

            case SORT_BY.DESC_TH:
                sort = "typdes_th";
                break;

            case SORT_BY.DESC_EN:
                sort = "typdes_en";
                break;

            default:
                sort = "typcod";
                break;
            }
            bool   get_success = false;
            string err_msg     = "";

            BackgroundWorker worker = new BackgroundWorker();

            worker.DoWork += delegate
            {
                CRUDResult   get = ApiActions.GET(PreferenceForm.API_MAIN_URL() + "istab/get_all&tabtyp=" + this.tabtyp.ToTabtypString() + "&sort=" + sort);
                ServerResult sr  = JsonConvert.DeserializeObject <ServerResult>(get.data);
                if (sr.result == ServerResult.SERVER_RESULT_SUCCESS)
                {
                    get_success = true;
                    this.istabs = sr.istab;
                    this.main_form.data_resource.Refresh();
                }
                else
                {
                    get_success = false;
                    err_msg     = sr.message;
                }
            };
            worker.RunWorkerCompleted += delegate
            {
                if (get_success)
                {
                    this.FillInDatagrid(selected_item);
                    this.FormRead();
                    if (performadd)
                    {
                        this.toolStripAdd.PerformClick();
                    }
                    if (selected_row_index_after_delete > -1)
                    {
                        this.dgvIstab.Rows[selected_row_index_after_delete].Cells[1].Selected = true;
                    }
                }
                else
                {
                    MessageAlert.Show(err_msg, "Error", MessageAlertButtons.OK, MessageAlertIcons.ERROR);
                    this.FormRead();
                }
            };
            worker.RunWorkerAsync();
        }
        public void search(string query, bool staffpicked, bool animated, string categoryName, SORT_BY sortby, string maxFaceCount = "", string minFaceCount = "", bool myModels = false)
        {
            reset();
            string searchQuery = (myModels ? SketchfabPlugin.Urls.ownModelsSearchEndpoint : SketchfabPlugin.Urls.searchEndpoint);

            if (query.Length > 0)
            {
                searchQuery = searchQuery + "&q=" + query;
            }

            if (minFaceCount != "")
            {
                searchQuery = searchQuery + "&min_face_count=" + minFaceCount;
            }

            if (maxFaceCount != "")
            {
                searchQuery = searchQuery + "&max_face_count=" + maxFaceCount;
            }

            if (staffpicked)
            {
                searchQuery = searchQuery + "&staffpicked=true";
            }
            if (animated)
            {
                searchQuery = searchQuery + "&animated=true";
            }

            switch (sortby)
            {
            case SORT_BY.RECENT:
                searchQuery = searchQuery + "&sort_by=" + "-publishedAt";
                break;

            case SORT_BY.VIEWS:
                searchQuery = searchQuery + "&sort_by=" + "-viewCount";
                break;

            case SORT_BY.LIKES:
                searchQuery = searchQuery + "&sort_by=" + "-likeCount";
                break;
            }

            if (_categories[categoryName].Length > 0)
            {
                searchQuery = searchQuery + "&categories=" + _categories[categoryName];
            }

            _lastQuery = searchQuery;

            startSearch();
            _isFetching = true;
        }
示例#6
0
        public void search(string query, bool staffpicked, bool animated, string categoryName, string licenseSmug, string maxFaceCount = "", string minFaceCount = "", SEARCH_ENDPOINT endpoint = SEARCH_ENDPOINT.DOWNLOADABLE, SORT_BY sortBy = SORT_BY.RECENT)
        {
            reset();
            string searchQuery = "";

            switch (endpoint)
            {
            case SEARCH_ENDPOINT.DOWNLOADABLE:
                searchQuery = SketchfabPlugin.Urls.searchEndpoint;
                break;

            case SEARCH_ENDPOINT.MY_MODELS:
                searchQuery = SketchfabPlugin.Urls.ownModelsSearchEndpoint;
                break;

            case SEARCH_ENDPOINT.STORE_PURCHASES:
                searchQuery = SketchfabPlugin.Urls.storePurchasesModelsSearchEndpoint;
                break;
            }
            if (endpoint != SEARCH_ENDPOINT.STORE_PURCHASES)
            {
                // Apply default filters
                searchQuery = searchQuery + "type=models&downloadable=true";
            }

            if (query.Length > 0)
            {
                if (endpoint != SEARCH_ENDPOINT.STORE_PURCHASES)
                {
                    searchQuery = searchQuery + "&";
                }

                searchQuery = searchQuery + "q=" + query;
            }

            // Search filters are not available for store purchases
            if (endpoint != SEARCH_ENDPOINT.STORE_PURCHASES)
            {
                searchQuery = applySearchFilters(searchQuery, staffpicked, animated, categoryName, licenseSmug, maxFaceCount, minFaceCount);
                switch (sortBy)
                {
                case SORT_BY.RECENT:
                    searchQuery = searchQuery + "&sort_by=" + "-publishedAt";
                    break;

                case SORT_BY.VIEWS:
                    searchQuery = searchQuery + "&sort_by=" + "-viewCount";
                    break;

                case SORT_BY.LIKES:
                    searchQuery = searchQuery + "&sort_by=" + "-likeCount";
                    break;
                }
            }

            _lastQuery = searchQuery;

            startSearch();
            _isFetching = true;
        }
示例#7
0
        private void GetIstabData(Istab selected_item = null, bool performadd = false, int selected_row_index_after_delete = -1)
        {
            this.FormProcessing();

            string sort = "";

            switch (this.sort)
            {
                case SORT_BY.TYPCOD:
                    sort = "typcod";
                    break;
                case SORT_BY.ABBR_TH:
                    sort = "abbreviate_th";
                    break;
                case SORT_BY.ABBR_EN:
                    sort = "abbreviate_en";
                    break;
                case SORT_BY.DESC_TH:
                    sort = "typdes_th";
                    break;
                case SORT_BY.DESC_EN:
                    sort = "typdes_en";
                    break;
                default:
                    sort = "typcod";
                    break;
            }
            bool get_success = false;
            string err_msg = "";

            BackgroundWorker worker = new BackgroundWorker();
            worker.DoWork += delegate
            {
                CRUDResult get = ApiActions.GET(PreferenceForm.API_MAIN_URL() + "istab/get_all&tabtyp=" + this.tabtyp.ToTabtypString() + "&sort=" + sort);
                ServerResult sr = JsonConvert.DeserializeObject<ServerResult>(get.data);
                if (sr.result == ServerResult.SERVER_RESULT_SUCCESS)
                {
                    get_success = true;
                    this.istabs = sr.istab;
                    this.main_form.data_resource.Refresh();
                }
                else
                {
                    get_success = false;
                    err_msg = sr.message;
                }
            };
            worker.RunWorkerCompleted += delegate
            {
                if (get_success)
                {
                    this.FillInDatagrid(selected_item);
                    this.FormRead();
                    if (performadd)
                    {
                        this.toolStripAdd.PerformClick();
                    }
                    if (selected_row_index_after_delete > -1)
                    {
                        this.dgvIstab.Rows[selected_row_index_after_delete].Cells[1].Selected = true;
                    }
                }
                else
                {
                    MessageAlert.Show(err_msg, "Error", MessageAlertButtons.OK, MessageAlertIcons.ERROR);
                    this.FormRead();
                }
            };
            worker.RunWorkerAsync();
        }