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); } } }
public HttpResponseMessage Create(IsoFinderFileRequest fileRequest) { try { var entities = new IsoFinderEntities(); var user = entities.Users.Find(fileRequest.UserId); var requestStatus = entities.IsoRequestStatus.Find((int)IsoRequestStatus.Pending); var isoFiles = new List <IsoRequestFile>(); foreach (int fileId in fileRequest.FileIds) { var file = entities.IsoFiles.Find(fileId); isoFiles.Add(new IsoRequestFile { IsoFile = file }); } var isoFinderRequest = new IsoRequest { User = user, IsoRequestFiles = isoFiles, 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) }); } }