Ejemplo n.º 1
0
        public string GetUserProfileImageUrl(long userId)
        {
            var appFileType = AppFileTypeEN.GetService().GetByIDT((int)EntityEnums.AppFileTypeEnum.ProfilePicture);
            var key         = GetFileKeyByPathTemplate(appFileType.VirtualPathTemplate, "profile.jpg", userId, userId.ToString());

            return(GetS3SignedUrlAccessByHour(key));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Amazons the upload request information of for Amazon S3
        /// </summary>
        /// <param name="p">parameters</param>
        /// <returns></returns>
        public AppFileAmazonS3DirectHttpUploadData AmazonUploadRequest(AppFileAmazonUploadRequestSP p)
        {
            Check.Require(string.IsNullOrEmpty(p.FileName) == false);
            Check.Require(p.AppFileTypeID > 0);
            Check.Require(p.AppEntityRecordIDValue > 0);

            var biz = (AppFileBR)BusinessLogicObject;

            biz.AmazonUploadRequestPre(p);

            vAppFile    appFile  = null;
            AppFileType fileType = (AppFileType)AppFileTypeEN.GetService().GetByID(p.AppFileTypeID, new GetByIDParameters());

            // checking business rules at first
            biz.AmazonUploadRequest(fileType, p);

            if (fileType.HasSecurityCheck == true)
            {
                CheckUploadRequestSecurity((EntityEnums.AppEntityFileTypeEnum)fileType.AppFileTypeID, p);
            }

            if (fileType.MaxNumberOfFiles == 1) // single file upload
            {
                FilterExpression filter = new FilterExpression();
                filter.AddFilter(vAppFile.ColumnNames.AppFileTypeID, p.AppFileTypeID);
                filter.AddFilter(vAppFile.ColumnNames.AppEntityRecordIDValue, p.AppEntityRecordIDValue);
                IList <vAppFile> list = GetByFilterV(new GetByFilterParameters(filter));
                if (list.Count == 0) // create a record
                {
                    appFile = InsertNewFile(p.FileName, p.AppFileTypeID, p.AppEntityRecordIDValue);
                }
                else
                {
                    appFile = list[0];
                }
            }
            else  // multiple file upload
            {
                appFile = InsertNewFile(p.FileName, p.AppFileTypeID, p.AppEntityRecordIDValue);
            }

            long userId = FWUtils.SecurityUtils.GetCurrentUserIDLong();
            var  result = GetAmazonUploadData(fileType, appFile);

            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Sends a request to replace a file in Amazon S3
        /// </summary>
        /// <param name="p">parameters</param>
        /// <returns></returns>
        public AppFileAmazonS3DirectHttpUploadData S3RequestReplaceFile(AppFileS3RequestReplaceFileSP p)
        {
            var file = GetByIDV(p.AppFileID);

            if (file != null)
            {
                //string key = GetFileKeyByFileInfo(file);
                //DeleteFromS3(key); // deletes the file from S3 to make sure that the old file doesn't exists

                AppFileType fileType = (AppFileType)AppFileTypeEN.GetService().GetByID(file.AppFileTypeID, new GetByIDParameters());
                long        userId   = FWUtils.SecurityUtils.GetCurrentUserIDLong();
                var         result   = GetAmazonUploadData(fileType, file);
                result.AppFileID = file.AppFileID;
                return(result);
            }
            else
            {
                throw new UserException(StringMsgs.BusinessErrors.RecordIsNotAvailable);
            }
        }