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();
        }
Beispiel #5
0
 private bool IsProxyDownload(DownloadRequestDTO downloadRequest, bool isHttps)
 {
     if (!isHttps)
     {
         return(false);
     }
     if (!AppSettingsProvider.AppSettings.EnableProxyDownloadForInsecureProtocol || !downloadRequest.RequestUrl.StartsWith("http://"))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Beispiel #6
0
        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");
        }
Beispiel #7
0
        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);
 }