Beispiel #1
0
        public ActionResult _EditAlbum(string spaceKey, long albumId = 0, string callBack = null)
        {
            IUser user  = userService.GetUser(spaceKey);
            Album album = null;

            if (user == null)
            {
                return(HttpNotFound());
            }

            if (albumId == 0)
            {
                if (!authorizer.Album_Create())
                {
                    return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = "没有创建相册的权限",
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    })));
                }
                album = Album.New();
                album.PrivacyStatus = PrivacyStatus.Public;
            }
            else
            {
                album = photoService.GetAlbum(albumId);
                if (album == null)
                {
                    return(HttpNotFound());
                }
                if (!authorizer.Album_Edit(album))
                {
                    return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = "没有编辑相册的权限",
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    })));
                }
                Dictionary <int, IEnumerable <ContentPrivacySpecifyObject> > privacySpecifyObjects = contentPrivacyService.GetPrivacySpecifyObjects(TenantTypeIds.Instance().Album(), album.AlbumId);
                if (privacySpecifyObjects.ContainsKey(SpecifyObjectTypeIds.Instance().User()))
                {
                    IEnumerable <ContentPrivacySpecifyObject> userPrivacySpecifyObjects = privacySpecifyObjects[SpecifyObjectTypeIds.Instance().User()];
                    ViewData["userPrivacySpecifyObjects"] = string.Join(",", userPrivacySpecifyObjects.Select(n => n.SpecifyObjectId));
                }
                if (privacySpecifyObjects.ContainsKey(SpecifyObjectTypeIds.Instance().UserGroup()))
                {
                    IEnumerable <ContentPrivacySpecifyObject> userGroupPrivacySpecifyObjects = privacySpecifyObjects[SpecifyObjectTypeIds.Instance().UserGroup()];
                    ViewData["userGroupPrivacySpecifyObjects"] = string.Join(",", userGroupPrivacySpecifyObjects.Select(n => n.SpecifyObjectId));
                }
            }

            AlbumEditModel albumEditModel = album.AsEditModel();

            return(View(albumEditModel));
        }
Beispiel #2
0
        public ActionResult _EditAlbum(string spaceKey, AlbumEditModel albumEditModel)
        {
            IUser user = userService.GetUser(spaceKey);

            if (user == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前空间主人不存在!")));
            }

            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Hint, "您尚未登录!")));
            }

            StatusMessageData message = null;
            Album             album   = albumEditModel.AsAlbum();

            if (albumEditModel.AlbumId == 0)//创建
            {
                if (!authorizer.Album_Create())
                {
                    return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = "没有创建或编辑相册的权限",
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    })));
                }

                bool result = photoService.CreateAlbum(album);
                if (result)
                {
                    //message = new StatusMessageData(StatusMessageType.Success, album.AlbumId.ToString() + "&" + album.AlbumName);
                    //设置隐私状态
                    UpdatePrivacySettings(album, albumEditModel.PrivacyStatus1, albumEditModel.PrivacyStatus2);
                    return(Json(new { MessageType = StatusMessageType.Success, MessageContent = "创建相册成功!", AlbumId = album.AlbumId, AlbumName = album.AlbumName }));
                }
                else
                {
                    message = new StatusMessageData(StatusMessageType.Error, "创建相册失败!");
                }
            }
            else//编辑
            {
                if (!authorizer.Album_Edit(album))
                {
                    return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = "没有编辑相册的权限",
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    })));
                }
                photoService.UpdateAlbum(album, currentUser.UserId);
                message = new StatusMessageData(StatusMessageType.Success, "编辑相册成功!");
            }
            //设置隐私状态
            UpdatePrivacySettings(album, albumEditModel.PrivacyStatus1, albumEditModel.PrivacyStatus2);
            return(Json(message));
        }