public List <DownloadRequestDTO> GetRequestDownloadByOrderID(long OrderID) { List <DownloadRequestDTO> RequestList = new List <DownloadRequestDTO>(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "Adobe.SP_Get_RequestDownloadByOrderID"; cmd.Parameters.AddWithValue("@OrderID", OrderID); conn.Open(); DataTable dt = new DataTable(); SqlDataReader rdr; rdr = cmd.ExecuteReader(); dt.Load(rdr); for (int i = 0; i < dt.Rows.Count; i++) { DownloadRequestDTO asset = new DownloadRequestDTO(); asset.RequestID = int.Parse(dt.Rows[i]["RequestID"].ToString()); asset.OrderID = long.Parse(dt.Rows[i]["OrderID"].ToString()); RequestList.Add(asset); } conn.Close(); return(RequestList); }
public DownloadResponseDTO(bool isValid, DownloadRequestDTO request, string link = null, string fileName = null) { this.IsValid = isValid; this.Request = request; this.Link = link; this.FileNme = fileName; }
public IActionResult DownloadRequest([FromBody] DownloadRequestDTO downloadRequest) { if (downloadRequest == null) { return(new BadRequestResult()); } var validation = ValidateStringParameter(nameof(downloadRequest.RequestUrl), downloadRequest.RequestUrl, 1500); if (!string.IsNullOrWhiteSpace(validation)) { logger.LogError(validation); return(new BadRequestResult()); } validation = ValidateStringParameter(nameof(downloadRequest.SourceName), downloadRequest.SourceName, 100); if (!string.IsNullOrWhiteSpace(validation)) { logger.LogError(validation); return(new BadRequestResult()); } validation = ValidateStringParameter(nameof(downloadRequest.PackageName), downloadRequest.PackageName, 100); if (!string.IsNullOrWhiteSpace(validation)) { logger.LogError(validation); return(new BadRequestResult()); } var response = downloadSpkService.DownloadRequest(downloadRequest, Request.IsHttps); return(new ObjectResult(response.Link)); }
public void Create_DownloadRequest(DownloadRequestDTO dnlReq) { SqlCommand cmdc = new SqlCommand(); cmdc.Connection = conn; cmdc.CommandType = CommandType.StoredProcedure; cmdc.CommandText = "Adobe.SP_Insert_Tbl_DownloadRequest"; cmdc.Parameters.AddWithValue("@Stcode", dnlReq.StCode); cmdc.Parameters.AddWithValue("@AssetId", dnlReq.Class_Code); cmdc.Parameters.AddWithValue("@LinkClick", dnlReq.Link_Click); //cmdc.Parameters.AddWithValue("@TermClass", dnlReq.Term); conn.Open(); cmdc.ExecuteNonQuery(); conn.Close(); }
private bool IsProxyDownload(DownloadRequestDTO downloadRequest, bool isHttps) { if (!isHttps) { return(false); } if (!AppSettingsProvider.AppSettings.EnableProxyDownloadForInsecureProtocol || !downloadRequest.RequestUrl.StartsWith("http://")) { return(false); } else { return(true); } }
protected void btnSelect_Click(object sender, EventArgs e) { DownloadRequestBusiness dnlreq = new DownloadRequestBusiness(); DownloadRequestDTO dnlreqDTO = new DownloadRequestDTO(); dnlreqDTO.StCode = lbl_User.Text; dnlreqDTO.Class_Code = txt_AssetTxt.Text; dnlreqDTO.Link_Click = false; dnlreq.Create_DownloadRequest(dnlreqDTO); MasterPage mp = this.Master; Reports rpt = new Reports(); List <ReportDownloadReqDTO> req = new List <ReportDownloadReqDTO>(); req = rpt.Get_SelectedAsset_NotPay(lbl_User.Text); //MastePage.MasterPage msp = new MastePage.MasterPage(); RadGrid lst = (RadGrid)mp.FindControl("grdShopping"); lst.DataSource = req; lst.Rebind(); Response.Redirect("ClassList.aspx"); }
public DownloadResponseDTO DownloadRequest(DownloadRequestDTO downloadRequest, bool isHttps) { if (!sourceService.ValidateSource(downloadRequest.SourceName)) { logger.LogError($"Coudn't not find source '{downloadRequest.SourceName}'"); return(new DownloadResponseDTO(false, downloadRequest)); } var downloadLink = downloadRequest.RequestUrl; string fileName = null; DownloadResponseDTO response; if (!IsRemoteFileAvailable(downloadRequest.RequestUrl).Result) { return(new DownloadResponseDTO(false, downloadRequest)); } if (IsProxyDownload(downloadRequest, isHttps)) { Guid id = Guid.NewGuid(); fileName = GetFileNameFromUrl(downloadRequest.RequestUrl); downloadLink = $"api/Download/{id}"; response = new DownloadResponseDTO(true, downloadRequest, downloadLink, fileName); var json = JsonConvert.SerializeObject(response); Directory.CreateDirectory("DownloadRequests"); File.WriteAllText(Path.Combine("DownloadRequests", $"{id}.json"), json); return(response); } else { response = new DownloadResponseDTO(true, downloadRequest, downloadLink, null); } var message = $"Download request: '{downloadRequest.PackageName}' from '{downloadRequest.SourceName}'. Link: {downloadLink}"; logger.LogInformation(message); return(response); }
public IHttpActionResult GetFile(Guid id) { if (id == Guid.Empty) { return(BadRequest("id is empty")); } var attachment = UnitOfWork.AttachmentsRepository.Find(id); if (attachment == null) { return(NotFound()); } var filePath = HostingEnvironment.MapPath(attachment.Url); if (!System.IO.File.Exists(filePath)) { return(NotFound()); } var oneTimeAccessId = string.Empty; var currentUser = ServiceContext.CurrentUser; var orgUser = ServiceContext.CurrentUser as OrgUser; if (currentUser is SuperUser) { oneTimeAccessId = OneTimeAccessService.AddFileIdForTicket(id); } else { var project = attachment.FormValue.FilledForm.Project; var template = attachment.FormValue.FilledForm.FormTemplate; var threadAssignment = UnitOfWork.ThreadAssignmentsRepository.AllAsNoTracking .Where(x => x.FormTemplateId == template.Id && x.OrgUserId == CurrentUser.Id) .SingleOrDefault(); var projectAssignment = UnitOfWork.AssignmentsRepository.AllAsNoTracking .Where(x => x.ProjectId == project.Id && x.OrgUserId == CurrentUser.Id) .SingleOrDefault(); if (projectAssignment == null && threadAssignment == null) { return(Unauthorized()); } var authorized = false; if (projectAssignment != null) { authorized = projectAssignment.CanView; } if (threadAssignment != null) { authorized = threadAssignment.CanView; } if (!authorized) { return(Unauthorized()); } oneTimeAccessId = OneTimeAccessService.AddFileIdForTicket(id); } var result = new DownloadRequestDTO { AccessId = oneTimeAccessId }; return(Ok(result)); }
public void Create_DownloadRequest(DownloadRequestDTO dnlReq) { dnlDAO.Create_DownloadRequest(dnlReq); }