Exemplo n.º 1
0
        public FileResult Download(int ideaId, int fileId)
        {
            IIdeaProcess ideaprocess = ProcessFactory.GetIdeaProcess();

            if (ideaprocess.GetCreatorUserId(ideaId) != UserId && !HasAccess(FeatureAccess.VIEW_IDEAS_OF_OTHERS))
            {
                throw new PermissionException();
            }
            FileDataObject file = ProcessFactory.GetFileProcess().Fetch(ideaId, fileId);

            return(File(file.Content, System.Net.Mime.MediaTypeNames.Application.Octet, file.Name));
        }
Exemplo n.º 2
0
        public JsonResult FetchIdeaDetails(int id)
        {
            IIdeaProcess ideaprocess = ProcessFactory.GetIdeaProcess();

            if (ideaprocess.GetCreatorUserId(id) != UserId && !HasAccess(FeatureAccess.VIEW_IDEAS_OF_OTHERS))
            {
                throw new PermissionException();
            }
            IdeaDataObject idea = ideaprocess.Fetch(id, FetchMode.Full);

            return(Json(idea, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        public ActionResult DisplayImage(int ideaId, int imageId)
        {
            IIdeaProcess ideaprocess = ProcessFactory.GetIdeaProcess();

            if (ideaprocess.GetCreatorUserId(ideaId) != UserId && !HasAccess(FeatureAccess.VIEW_IDEAS_OF_OTHERS))
            {
                throw new PermissionException();
            }
            FileDataObject file = ProcessFactory.GetFileProcess().Fetch(ideaId, imageId);

            if (!file.IsImage)
            {
                throw new CustomException("Image not found");
            }

            return(File(new MemoryStream(file.Content), file.ContentType));
        }
Exemplo n.º 4
0
        public void Update(IdeaDataObject idea)
        {
            idea.Files.AddRange(FetchUploadedFiles());
            idea.UserId = UserId;
            IIdeaProcess process = ProcessFactory.GetIdeaProcess();
            bool         isInDraftModeBeforeUpdate = process.IsInDraftMode(idea.Id);
            int          id = process.Update(idea);

            if (!idea.IsDraft)
            {
                if (isInDraftModeBeforeUpdate)
                {
                    NotifyOwners(id);
                }
                else
                {
                    NotifyIdeaUpdate(id, idea.Reason);
                }
            }
        }