Пример #1
0
        private void btnDownload_Click(object sender, EventArgs e)
        {
            if (tabResults.SelectedIndex == 0)
            {
                if (gridResults.SelectedRows.Count > 0)
                {
                    var ids =
                        (from DataGridViewRow selectedRow in gridResults.SelectedRows
                         select Convert.ToInt32(selectedRow.Cells[0].Value)).ToList();

                    var webClient        = new WebClient();
                    var isoFinderRequest = new IsoFinderFileRequest
                    {
                        UserId  = 1,
                        FileIds = ids.ToArray(),
                        Query   = txtSearch.Text
                    };
                    webClient.UploadStringCompleted += WebClientOnUploadStringCompleted;
                    var serialize = JsonConvert.SerializeObject(isoFinderRequest);
                    webClient.Headers.Add("Content-Type", @"application/json");
                    webClient.UploadStringAsync(
                        new Uri(Constants.IsoFinderApiUrl + Constants.IsoFinderFileRequestUri), "POST", serialize);
                }
            }
            else
            {
                if (gridFolderResults.SelectedRows.Count > 0)
                {
                    var ids =
                        (from DataGridViewRow selectedRow in gridFolderResults.SelectedRows
                         select Convert.ToInt32(selectedRow.Cells[0].Value)).ToList();

                    var webClient        = new WebClient();
                    var isoFinderRequest = new IsoFinderFolderRequest
                    {
                        UserId    = 1,
                        FolderIds = ids.ToArray(),
                        Query     = txtSearch.Text
                    };

                    webClient.UploadStringCompleted += WebClientOnUploadStringCompleted;
                    var serialize = JsonConvert.SerializeObject(isoFinderRequest);
                    webClient.Headers.Add("Content-Type", @"application/json");
                    webClient.UploadStringAsync(
                        new Uri(Constants.IsoFinderApiUrl + Constants.IsoFinderFolderRequestUri), "POST", serialize);
                }
            }
        }
Пример #2
0
        public HttpResponseMessage Create(IsoFinderFolderRequest fileRequest)
        {
            try
            {
                var entities      = new IsoFinderEntities();
                var user          = entities.Users.Find(fileRequest.UserId);
                var requestStatus = entities.IsoRequestStatus.Find((int)IsoRequestStatus.Pending);

                var isoFolders = new List <IsoRequestFolder>();
                foreach (int folderId in fileRequest.FolderIds)
                {
                    var folder = entities.IsoFolders.Find(folderId);
                    isoFolders.Add(new IsoRequestFolder {
                        IsoFolder = folder
                    });
                }

                var isoFinderRequest = new IsoRequest
                {
                    User = user,
                    IsoRequestFolders = isoFolders,
                    Created           = DateTime.Today,
                    IsoRequestStatu   = requestStatus,
                    Query             = fileRequest.Query
                };

                entities.IsoRequests.Add(isoFinderRequest);
                entities.SaveChanges();
                return(new HttpResponseMessage(HttpStatusCode.Created));
            }
            catch (Exception ex)
            {
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content = new StringContent(ex.Message)
                });
            }
        }