Beispiel #1
0
        /// <summary>
        /// UpdateImage
        /// </summary>
        /// <param name="image"></param>
        /// <param name="fileData"></param>
        /// <param name="approvalRequired"></param>
        private void UpdateImage(SiteImage image, byte[] fileData, bool approvalRequired)
        {
            SiteImage oldImage = eCollabroDbContext.Repository<SiteImage>().Find(image.ImageId);
            if (oldImage != null)
            {
                if (approvalRequired && oldImage.ApprovalStatus.Equals(WorkflowConstants.ApprovedStatus)) // Save to Queue
                {
                    image.ModifiedById = UserContextDetails.UserId;
                    image.ModifiedOn = DateTime.UtcNow;
                    image.ApprovalStatus = WorkflowConstants.ApprovalWaitingStatus;
                    TempSiteImage tempImage = Mapper.Map<SiteImage, TempSiteImage>(image);
                    if (fileData != null)
                    {
                        tempImage.ImageFile = fileData;
                    }
                    _workflowManager.SaveToQueue<TempSiteImage>(tempImage, ContextEnum.Image, image.ImageId);
                    _workflowManager.CreateWorkflowTask(ContextEnum.Image, image.ImageId, "New Image [" + image.ImageTitle + "] ", "Image Description : " + image.ImageDescription);

                }
                else // Record is new and not in Queue
                {
                    oldImage.ImageTitle = image.ImageTitle;
                    oldImage.ImageDescription = image.ImageDescription;
                    if (!string.IsNullOrEmpty(image.ImageFileName))
                        oldImage.ImageFileName = image.ImageFileName;
                    if (fileData != null)
                    {
                        if (oldImage.ImageObject != null)
                        {
                            oldImage.ImageObject.ModifiedById = UserContextDetails.UserId;
                            oldImage.ImageObject.ModifiedOn = DateTime.UtcNow;
                        }
                        else
                        {
                            oldImage.ImageObject = new ImageObject();
                            oldImage.ImageObject.CreatedOn = DateTime.UtcNow;
                            oldImage.ImageObject.CreatedById = UserContextDetails.UserId;
                        }
                        oldImage.ImageObject.ImageObjectData = fileData;
                        oldImage.ImageObject.ImageThumbnailData = ImageUtility.CreateThumbnail(fileData, 60);
                    }
                    oldImage.ImageGalleryId = image.ImageGalleryId;
                    oldImage.IsActive = image.IsActive;
                    oldImage.ModifiedById = UserContextDetails.UserId;
                    oldImage.ModifiedOn = DateTime.UtcNow;
                    oldImage.IsAnomynousAccess = image.IsAnomynousAccess;
                    oldImage.IsCommentsAllowed = image.IsCommentsAllowed;
                    oldImage.IsLikeAllowed = image.IsLikeAllowed;
                    oldImage.IsRatingAllowed = image.IsRatingAllowed;
                    oldImage.IsVotingAllowed = image.IsVotingAllowed;
                    oldImage.ApprovalStatus = image.ApprovalStatus;
                    oldImage.ApproveRejectDate = image.ApproveRejectDate;
                    oldImage.ApproveRejectById = image.ApproveRejectById;
                    eCollabroDbContext.Save();
                    if (approvalRequired) // approval required // create or update task
                    {
                        _workflowManager.CreateWorkflowTask(ContextEnum.Image, image.ImageId, "New Image [" + image.ImageTitle + "] ", "Image Description : " + image.ImageDescription);
                    }
                }
            }
            else
            {
                throw new DBConcurrencyException();
            }
        }
Beispiel #2
0
        /// <summary>
        /// AddImage
        /// </summary>
        /// <param name="image"></param>
        /// <param name="fileData"></param>
        /// <param name="approvalRequired"></param>
        private void AddImage(SiteImage image, byte[] fileData, bool approvalRequired)
        {
            image.CreatedById = UserContextDetails.UserId;
            image.CreatedOn = DateTime.UtcNow;
            if (approvalRequired)
                image.ApprovalStatus = WorkflowConstants.ApprovalWaitingStatus;

            if (fileData != null)
            {
                image.ImageObject = new ImageObject();
                image.ImageObject.CreatedById = UserContextDetails.UserId;
                image.ImageObject.CreatedOn = DateTime.UtcNow;
                image.ImageObject.ContextId = (int)ContextEnum.Image;
                image.ImageObject.ImageObjectData = fileData;
                image.ImageObject.ImageThumbnailData = ImageUtility.CreateThumbnail(fileData, 60);
            }
            eCollabroDbContext.Repository<SiteImage>().Insert(image);
            eCollabroDbContext.Save();

            if (approvalRequired)
            {
                _workflowManager.CreateWorkflowTask(ContextEnum.Image, image.ImageId, "New Image [" + image.ImageTitle + "] ", "Image Description : " + image.ImageDescription);
            }
        }
Beispiel #3
0
 /// <summary>
 /// MapImageQueueToImage
 /// </summary>
 /// <param name="image"></param>
 /// <param name="imageinQueue"></param>
 private void MapImageQueueToImage(SiteImage image, TempSiteImage imageinQueue)
 {
     image.ImageTitle = imageinQueue.ImageTitle;
     image.ImageDescription = imageinQueue.ImageDescription;
     image.ImageGalleryId = imageinQueue.ImageGalleryId;
     if (!string.IsNullOrEmpty(imageinQueue.ImageFileName))
         image.ImageFileName = imageinQueue.ImageFileName;
     if (imageinQueue.ImageFile != null)
     {
         if (image.ImageObject == null)
         {
             image.ImageObject = new ImageObject();
             image.ImageObject.CreatedById = imageinQueue.CreatedById;
             image.ImageObject.CreatedOn = imageinQueue.CreatedOn;
         }
         else
         {
             image.ImageObject.ModifiedById = imageinQueue.ModifiedById;
             image.ImageObject.ModifiedOn = imageinQueue.ModifiedOn;
         }
         image.ImageObject.ImageObjectData = imageinQueue.ImageFile;
         image.ImageObject.ImageThumbnailData = ImageUtility.CreateThumbnail(imageinQueue.ImageFile, 60);
     }
     image.IsAnomynousAccess = imageinQueue.IsAnomynousAccess;
     image.IsCommentsAllowed = imageinQueue.IsCommentsAllowed;
     image.IsLikeAllowed = imageinQueue.IsLikeAllowed;
     image.IsRatingAllowed = imageinQueue.IsRatingAllowed;
     image.IsVotingAllowed = imageinQueue.IsVotingAllowed;
     image.ModifiedOn = imageinQueue.ModifiedOn;
     image.ModifiedById = imageinQueue.ModifiedById;
     image.IsActive = imageinQueue.IsActive;
     image.ApprovalStatus = imageinQueue.ApprovalStatus;
     image.ApproveRejectById = imageinQueue.ApproveRejectById;
     image.ApproveRejectDate = imageinQueue.ApproveRejectDate;
 }
Beispiel #4
0
        /// <summary>
        /// SaveImage
        /// </summary>
        /// <param name="image"></param>
        /// <returns></returns>
        public void SaveImage(SiteImage image, byte[] fileData)
        {
            #region Check Permission

            List<PermissionEnum> userPermissions = _securityManager.GetUserFeaturePermissions(UserContextDetails.UserId, FeatureEnum.ImageGallery);
            if ((image.ImageId.Equals(0) && !userPermissions.Contains(PermissionEnum.AddContent)) || (!image.ImageId.Equals(0) && !userPermissions.Contains(PermissionEnum.EditContent)))
                throw new BusinessException(_coreValidationResourceManager.GetString(CoreValidationMessagesConstants.UnAuthorized), CoreValidationMessagesConstants.UnAuthorized);

            #endregion

            //check contentSetting
            SecurityManager securityManager = new SecurityManager();
            List<SiteContentSettingResult> siteContentSettingResults = securityManager.GetSiteFeatureSettings(FeatureEnum.ImageGallery);

            bool approvalRequired = siteContentSettingResults.Where(qry => qry.ContentSettingId.Equals((int)FeatureSettingEnum.ApprovalRequired)).FirstOrDefault().IsAssigned;
            //self approved in case approval not required
            if (!approvalRequired)
            {
                image.ApprovalStatus = WorkflowConstants.ApprovedStatus;
                image.ApproveRejectDate = DateTime.UtcNow;
                image.ApproveRejectById = UserContextDetails.UserId;
            }
            else
            {
                image.ApprovalStatus = WorkflowConstants.ApprovalWaitingStatus;
                image.ApproveRejectById = null;
                image.ApproveRejectDate = null;
            }

            if (image.ImageId.Equals(0)) // New SiteImage
            {
                AddImage(image, fileData, approvalRequired);

            }
            else  // Update SiteImage
            {
                UpdateImage(image, fileData, approvalRequired);
            }
        }