Ejemplo n.º 1
0
        public ActionResult BlockTopics(string spaceKey, List <long> topicIds)
        {
            int addCount = 0;

            long             userId  = UserIdToUserNameDictionary.GetUserId(spaceKey);
            UserBlockService service = new UserBlockService();

            if (userId > 0 && topicIds != null && topicIds.Count > 0)
            {
                foreach (var topicId in topicIds)
                {
                    TopicEntity topic = topicService.Get(topicId);
                    if (topic == null || service.IsBlockedTopic(userId, topicId))
                    {
                        continue;
                    }
                    service.BlockTopic(userId, topic.TopicId, topic.TopicName);
                    addCount++;
                }
            }
            if (addCount > 0)
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, string.Format("成功添加{0}个专题添加到屏蔽列表", addCount));
            }
            else
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "没有任何专题被添加到屏蔽列表中");
            }
            return(Redirect(SiteUrls.Instance().BlockGroups(spaceKey)));
        }
Ejemplo n.º 2
0
        public IActionResult SandChangeOrder(long orderId, string logisticsCode, string waybillNumber)
        {
            OrderChangeStatus changeStatus = OrderChangeStatus.UnknownFailure;

            orderInfoService.SandOrder(orderId, UserContext.CurrentUser.UserId, out changeStatus, logisticsCode, waybillNumber);

            StatusMessageData statusMessageData = null;

            switch (changeStatus)
            {
            case OrderChangeStatus.UnknownFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,发货时产生了一个未知错误");
                break;

            case OrderChangeStatus.StatusException:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,当前订单状态与该业务不符");
                break;

            case OrderChangeStatus.OperationNULL:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,未能获取发货操作员信息,请重新登录再尝试");
                break;

            case OrderChangeStatus.LogisticsCodeOrWaybillNumberNULL:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,请确保运单号和快递公司都填写正确");
                break;

            default:
                break;
            }

            return(View());
        }
Ejemplo n.º 3
0
        public JsonResult _QuitTopic(long groupId)
        {
            StatusMessageData message = new StatusMessageData(StatusMessageType.Success, "退出专题成功!");
            TopicEntity       group   = topicService.Get(groupId);

            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到专题!")));
            }
            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            try
            {
                topicService.DeleteTopicMember(group.TopicId, currentUser.UserId);
            }
            catch
            {
                message = new StatusMessageData(StatusMessageType.Error, "退出专题失败!");
            }
            return(Json(message));
        }
Ejemplo n.º 4
0
        public ActionResult _SetAlbumCover(string spaceKey, long photoId, bool isCover = true)
        {
            Photo cover = photoService.GetPhoto(photoId);

            StatusMessageData message = null;

            try
            {
                if (!authorizer.Album_Edit(cover.Album))
                {
                    return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = "没有设置封面的权限",
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    })));
                }
                photoService.SetCover(cover, isCover);
                message = new StatusMessageData(StatusMessageType.Success, "设置封面成功!");
            }
            catch
            {
                message = new StatusMessageData(StatusMessageType.Error, "设置封面失败!");
            }

            return(Json(message));
        }
Ejemplo n.º 5
0
        public ActionResult SetManager(string spaceKey, long userId, bool isManager)
        {
            StatusMessageData message = null;
            GroupEntity       group   = groupService.Get(spaceKey);

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

            if (!new Authorizer().Group_SetManager(group))
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您没有设置管理员的权限")));
            }

            bool result = groupService.SetManager(group.GroupId, userId, isManager);

            if (result)
            {
                message = new StatusMessageData(StatusMessageType.Success, "操作成功!");
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Error, "操作失败!");
            }
            return(Json(message));
        }
Ejemplo n.º 6
0
        public ActionResult _DeleteAlbum(string spaceKey, long albumId)
        {
            long              userId     = UserIdToUserNameDictionary.GetUserId(spaceKey);
            Album             album      = photoService.GetAlbum(albumId);
            long              albumCount = photoService.GetAlbums(TenantTypeIds.Instance().User(), userId).TotalRecords;
            StatusMessageData message    = null;

            try
            {
                if (albumCount > 1)
                {
                    if (!authorizer.Album_Edit(album))
                    {
                        return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                        {
                            Body = "没有删除相册的权限",
                            Title = "没有权限",
                            StatusMessageType = StatusMessageType.Hint
                        })));
                    }
                    photoService.DeleteAlbum(album);
                    message = new StatusMessageData(StatusMessageType.Success, "删除相册成功!");
                }
                else
                {
                    message = new StatusMessageData(StatusMessageType.Hint, "至少要保留一个相册!");
                }
            }
            catch
            {
                message = new StatusMessageData(StatusMessageType.Error, "删除相册失败!");
            }

            return(Json(message));
        }
Ejemplo n.º 7
0
        public ActionResult BlockGroups(string spaceKey, List <long> groupIds)
        {
            int addCount = 0;

            long             userId  = UserIdToUserNameDictionary.GetUserId(spaceKey);
            UserBlockService service = new UserBlockService();

            if (userId > 0 && groupIds != null && groupIds.Count > 0)
            {
                foreach (var groupId in groupIds)
                {
                    GroupEntity group = groupService.Get(groupId);
                    if (group == null || service.IsBlockedGroup(userId, groupId))
                    {
                        continue;
                    }
                    service.BlockGroup(userId, group.GroupId, group.GroupName);
                    addCount++;
                }
            }
            if (addCount > 0)
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, string.Format("成功添加{0}个群组添加到屏蔽列表", addCount));
            }
            else
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "没有任何群组被添加到屏蔽列表中");
            }
            return(Redirect(SiteUrls.Instance().BlockGroups(spaceKey)));
        }
Ejemplo n.º 8
0
        public ActionResult _ChangeGroupOwner(string spaceKey)
        {
            string returnUrl = Request.QueryString.Get <string>(WebUtility.UrlDecode("returnUrl"));

            var         userIds = Request.Form.Gets <long>("UserId", new List <long>());
            long        userId  = userIds.FirstOrDefault();
            GroupEntity group   = groupService.Get(spaceKey);

            if (group == null)
            {
                return(Content(string.Empty));
            }
            if (userId == 0)
            {
                Tunynet.Utilities.WebUtility.SetStatusCodeForError(Response);
                ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Hint, "您没有选择群主");
                ViewData["returnUrl"]         = returnUrl;
                return(View(group));
            }
            if (group.UserId == userId)
            {
                Tunynet.Utilities.WebUtility.SetStatusCodeForError(Response);
                ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Hint, "您没有更换群主");
                ViewData["returnUrl"]         = returnUrl;
                return(View(group));
            }
            if (!new Authorizer().Group_SetManager(group))
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您没有更换群主的权限")));
            }

            groupService.ChangeGroupOwner(group.GroupId, userId);
            return(Json(new StatusMessageData(StatusMessageType.Success, "更换群主操作成功")));
        }
Ejemplo n.º 9
0
        public ActionResult EditContentFolder(FolderEditModel folderEditModel)
        {
            ContentFolder contentFolder = folderEditModel.AsContentFolder();

            //编辑
            if (folderEditModel.ContentFolderId > 0)
            {
                contentFolderService.Update(contentFolder);
            }
            //添加
            else
            {
                contentFolderService.Create(contentFolder);
            }

            //设置栏目管理员
            IEnumerable <long> moderatorUserIds = Request.Form.Gets <long>("ModeratorUserIds");

            if (moderatorUserIds != null)
            {
                new ContentFolderModeratorService().SetModeratorBaseFolder(contentFolder.ContentFolderId, moderatorUserIds);
            }

            //编辑
            if (folderEditModel.ContentFolderId > 0)
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "编辑成功!");
            }
            //添加
            else
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "添加成功!");
            }
            return(Redirect(SiteUrls.Instance().ManageContentFolders()));
        }
Ejemplo n.º 10
0
        public JsonResult _QuitGroup(long groupId)
        {
            StatusMessageData message = new StatusMessageData(StatusMessageType.Success, "退出群组成功!");
            GroupEntity       group   = groupService.Get(groupId);

            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到群组!")));
            }
            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            try
            {
                groupService.DeleteGroupMember(group.GroupId, currentUser.UserId);
            }
            catch
            {
                message = new StatusMessageData(StatusMessageType.Error, "退出群组失败!");
            }
            return(Json(message));
        }
        public ActionResult SetManager(string spaceKey, long userId, bool isManager)
        {
            StatusMessageData message = null;
            TopicEntity       topic   = topicService.Get(spaceKey);

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

            if (!authorizer.Topic_SetManager(topic))
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您没有设置管理员的权限")));
            }

            bool result = topicService.SetManager(topic.TopicId, userId, isManager);

            if (result)
            {
                message = new StatusMessageData(StatusMessageType.Success, "操作成功!");
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Error, "操作失败!");
            }
            return(Json(message));
        }
Ejemplo n.º 12
0
        public ActionResult SectionSettings(SectionSettingsEditModel model)
        {
            ISettingsManager <BarSettings> manager = DIContainer.Resolve <ISettingsManager <BarSettings> >();

            manager.Save(model.AsBarSettings());

            TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "保存设置成功");

            return(Redirect(SiteUrls.Instance().SectionSettings()));
        }
Ejemplo n.º 13
0
        public IActionResult CreateUser(CreateUserModel model)
        {
            User user = model.AsUser();

            user.IsActivated = true;
            user.IpCreated   = Utility.GetIP();

            UserCreateStatus status      = UserCreateStatus.UnknownFailure;
            User             createdUser = membershipService.CreateUser(user, model.Password, out status);
            var userProfiles             = UserProfiles.New();

            userProfiles.Userid = createdUser.UserId;
            userProfilesService.Create(userProfiles);

            StatusMessageData statusMessageData = null;

            switch (status)
            {
            case UserCreateStatus.DisallowedUsername:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的帐号禁止使用,请输入其他名称");
                break;

            case UserCreateStatus.DuplicateEmailAddress:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的电子邮箱地址已经被使用,请输入其他邮箱");
                break;

            case UserCreateStatus.DuplicateUsername:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的帐号已经被使用,请输入其他名称");
                break;

            case UserCreateStatus.InvalidPassword:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "您的密码长度少于本站要求的最小密码长度,请重新输入");
                break;

            case UserCreateStatus.UnknownFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,注册新用户的时候产生了一个未知错误");
                break;

            default:
                break;
            }
            ViewData["statusMessageData"] = statusMessageData;
            if (statusMessageData == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "创建成功!")));
            }
            else
            {
                return(View(model));
            }
        }
Ejemplo n.º 14
0
        public IActionResult ModifySkuStatus(int skuId, int checkSkuId)
        {
            StatusMessageData statusMessageData = null;

            goodsSkuInfoService.ModifySkuStatus(skuId, checkSkuId, UserContext.CurrentUser.UserId, GoodsSkuInfoStatus.Hide);
            if (statusMessageData == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "设置成功!")));
            }
            else
            {
                return(Json(statusMessageData));
            }
        }
        public IActionResult CreatePermission(CreatePermissionModel model)
        {
            PermissionItems permission = model.AsPermissionItems();

            permission.Itemkey          = Guid.NewGuid().ToString();
            permission.DateCreated      = DateTime.Now;
            permission.DateLastModified = DateTime.Now;

            int newActionValue = Request.GetInt("IsNewAction", -1);

            if (newActionValue == 0)
            {
                permission.IsNewAction = false;
            }
            else if (newActionValue == 1)
            {
                permission.IsNewAction = true;
            }

            PermissionItemsCreateStatus status = PermissionItemsCreateStatus.UnknownFailure;

            permissionItemsService.CreatePermissionItems(permission, out status);
            StatusMessageData statusMessageData = null;

            switch (status)
            {
            case PermissionItemsCreateStatus.GuidFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的父级项不正确");
                break;

            case PermissionItemsCreateStatus.UrlFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的权限Url不正确");
                break;

            case PermissionItemsCreateStatus.UnknownFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "创建时,产生了一个未知错误");
                break;

            default:
                break;
            }
            if (statusMessageData == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "创建成功!")));
            }
            else
            {
                return(Json(statusMessageData));
            }
        }
Ejemplo n.º 16
0
        public JsonResult SetRolesPermission(string roleName, string[] permission)
        {
            permissionItemsService.DeleteRolesPermissionItems(roleName);
            var result = permissionItemsService.AddRolesToPermissionItems(roleName, permission);
            StatusMessageData statusMessageData = new StatusMessageData(StatusMessageType.Error, "设置时,产生了一个未知错误");

            if (result)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "设置成功!")));
            }
            else
            {
                return(Json(statusMessageData));
            }
        }
Ejemplo n.º 17
0
        public ActionResult _ValidateQuestion(long groupId, string myAnswer)
        {
            StatusMessageData message = null;
            GroupEntity       group   = groupService.Get(groupId);

            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到群组!")));
            }


            //已修改
            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            if (group.JoinWay != JoinWay.ByQuestion)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前加入方式不是问题验证")));
            }


            bool isMember = groupService.IsMember(group.GroupId, currentUser.UserId);

            if (!isMember)
            {
                if (group.Answer == myAnswer)
                {
                    GroupMember member = GroupMember.New();
                    member.UserId    = UserContext.CurrentUser.UserId;
                    member.GroupId   = group.GroupId;
                    member.IsManager = false;
                    groupService.CreateGroupMember(member);
                    message = new StatusMessageData(StatusMessageType.Success, "加入群组成功!");
                }
                else
                {
                    message = new StatusMessageData(StatusMessageType.Error, "答案错误!");
                }
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Hint, "您已加入过该群组!");
            }
            return(Json(message));
        }
Ejemplo n.º 18
0
        public ActionResult _ValidateQuestion(long topicId, string myAnswer)
        {
            StatusMessageData message = null;
            TopicEntity       topic   = topicService.Get(topicId);

            if (topic == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到专题!")));
            }


            //已修改
            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            if (topic.JoinWay != TopicJoinWay.ByQuestion)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前加入方式不是问题验证")));
            }


            bool isMember = topicService.IsMember(topic.TopicId, currentUser.UserId);

            if (!isMember)
            {
                if (topic.Answer == myAnswer)
                {
                    TopicMember member = TopicMember.New();
                    member.UserId    = UserContext.CurrentUser.UserId;
                    member.TopicId   = topic.TopicId;
                    member.IsManager = false;
                    topicService.CreateTopicMember(member);
                    message = new StatusMessageData(StatusMessageType.Success, "加入专题成功!");
                }
                else
                {
                    message = new StatusMessageData(StatusMessageType.Error, "答案错误!");
                }
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Hint, "您已加入过该专题!");
            }
            return(Json(message));
        }
        public IActionResult DeletePermission(string itemKey)
        {
            PermissionItems      permission = permissionItemsService.GetPermissionItemsByItemkey(itemKey);
            IEnumerable <string> strRoles   = rolesService.GetRoles().Select(w => w.Rolename);
            bool result = permissionItemsService.DeletePermissionItems(permission, strRoles);

            StatusMessageData statusMessageData = new StatusMessageData(StatusMessageType.Error, "删除时,产生了一个未知错误");

            if (result)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "删除成功!")));
            }
            else
            {
                return(Json(statusMessageData));
            }
        }
Ejemplo n.º 20
0
        public override void ApplyPayload <T>(object viewerActionData, ref T stateData, Action onStateDataChanged)
        {
            var data = (string)viewerActionData;

            StatusMessageData statusMessageData = new StatusMessageData();

            statusMessageData.text = data;
            statusMessageData.type = StatusMessageType.Info;

            object boxed      = stateData;
            var    hasChanged = false;

            hasChanged |= SetPropertyValue(ref stateData, ref boxed, nameof(IStatusMessageData.statusMessageData), statusMessageData);
            if (hasChanged)
            {
                onStateDataChanged?.Invoke();
            }
        }
Ejemplo n.º 21
0
        public ActionResult JoinTopic(long groupId)
        {
            //需判断是否已经加入过专题
            StatusMessageData message = null;
            TopicEntity       group   = topicService.Get(groupId);

            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到专题!")));
            }

            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            if (group.JoinWay != TopicJoinWay.Direct)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前加入方式不是直接加入")));
            }

            //已修改

            //判断是否加入过该专题
            bool isMember = topicService.IsMember(groupId, currentUser.UserId);

            //未加入
            if (!isMember)
            {
                TopicMember member = TopicMember.New();
                member.UserId    = currentUser.UserId;
                member.TopicId   = group.TopicId;
                member.IsManager = false;
                topicService.CreateTopicMember(member);
                message = new StatusMessageData(StatusMessageType.Success, "加入专题成功!");
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Hint, "您已加入过该专题!");
            }
            return(Json(message));
        }
Ejemplo n.º 22
0
        public ActionResult JoinGroup(long groupId)
        {
            //需判断是否已经加入过群组
            StatusMessageData message = null;
            GroupEntity       group   = groupService.Get(groupId);

            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到群组!")));
            }

            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            if (group.JoinWay != JoinWay.Direct)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前加入方式不是直接加入")));
            }

            //已修改

            //判断是否加入过该群组
            bool isMember = groupService.IsMember(groupId, currentUser.UserId);

            //未加入
            if (!isMember)
            {
                GroupMember member = GroupMember.New();
                member.UserId    = currentUser.UserId;
                member.GroupId   = group.GroupId;
                member.IsManager = false;
                groupService.CreateGroupMember(member);
                message = new StatusMessageData(StatusMessageType.Success, "加入群组成功!");
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Hint, "您已加入过该群组!");
            }
            return(Json(message));
        }
Ejemplo n.º 23
0
        public ActionResult EditContentItem(ContentItemEditModel model)
        {
            ContentItem item = model.AsContentItem(Request);

            try
            {
                if (item.ContentItemId > 0)
                {
                    contentItemService.Update(item);
                    TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新成功");
                    //清除标签
                    tagService.ClearTagsFromItem(item.ContentItemId, item.UserId);
                }
                else
                {
                    item.GlobalStickyDate = ValueUtility.GetSafeSqlDateTime(DateTime.MinValue);
                    item.FolderStickyDate = ValueUtility.GetSafeSqlDateTime(DateTime.MinValue);

                    contentItemService.Create(item);
                    TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "创建成功");
                }
            }
            catch (Exception)
            {
                TempData["StatusMessageData"]    = new StatusMessageData(StatusMessageType.Error, "创建或者更新失败,请重试");
                TempData["ContentItemEditModel"] = model;
                return(Redirect(SiteUrls.Instance().EditContentItem(item.ContentItemId)));
            }
            if (model.TagNames != null)
            {
                string tags = string.Join(",", model.TagNames);
                if (!string.IsNullOrEmpty(tags))
                {
                    tagService.AddTagsToItem(tags, item.UserId, item.ContentItemId);
                }
            }
            if (item.ContentType != null && item.ContentType.ContentTypeKey == ContentTypeKeys.Instance().NewsLink())
            {
                return(Redirect(SiteUrls.Instance().FolderDetail(item.ContentFolderId)));
            }
            return(Redirect(SiteUrls.Instance().ContentItemDetail(item.ContentItemId)));
        }
Ejemplo n.º 24
0
        public ActionResult _EditApply(long groupId, string applyReason)
        {
            StatusMessageData message = null;
            GroupEntity       group   = groupService.Get(groupId);

            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到群组!")));
            }

            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            if (group.JoinWay != JoinWay.ByApply)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前加入方式不是需要申请")));
            }


            //已修改
            bool isApplied = groupService.IsApplied(currentUser.UserId, group.GroupId);

            if (!isApplied)
            {
                GroupMemberApply apply = GroupMemberApply.New();
                apply.ApplyReason = applyReason;
                apply.ApplyStatus = GroupMemberApplyStatus.Pending;
                apply.GroupId     = group.GroupId;
                apply.UserId      = UserContext.CurrentUser.UserId;
                groupService.CreateGroupMemberApply(apply);
                message = new StatusMessageData(StatusMessageType.Success, "申请已发出,请等待!");
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Hint, "您已给该群组发送过申请!");
            }
            return(Json(message));
        }
Ejemplo n.º 25
0
        public ActionResult _EditApply(long topicId, string applyReason)
        {
            StatusMessageData message = null;
            TopicEntity       topic   = topicService.Get(topicId);

            if (topic == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到专题!")));
            }

            IUser currentUser = UserContext.CurrentUser;

            if (currentUser == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "您尚未登录!")));
            }
            if (topic.JoinWay != TopicJoinWay.ByApply)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "当前加入方式不是需要申请")));
            }


            //已修改
            bool isApplied = topicService.IsApplied(currentUser.UserId, topic.TopicId);

            if (!isApplied)
            {
                TopicMemberApply apply = TopicMemberApply.New();
                apply.ApplyReason = applyReason;
                apply.ApplyStatus = TopicMemberApplyStatus.Pending;
                apply.TopicId     = topic.TopicId;
                apply.UserId      = UserContext.CurrentUser.UserId;
                topicService.CreateTopicMemberApply(apply);
                message = new StatusMessageData(StatusMessageType.Success, "申请已发出,请等待!");
            }
            else
            {
                message = new StatusMessageData(StatusMessageType.Hint, "您已给该专题发送过申请!");
            }
            return(Json(message));
        }
Ejemplo n.º 26
0
        public IActionResult HomeDisplayOrder(long id, int type, bool isUp)
        {
            StatusMessageData msg = new StatusMessageData(StatusMessageType.Error, "未知错误!");
            var dynamicSource     = homeDynamicSettingsService.GetHomeDynamicSingle(id);
            var dynamicTarget     = homeDynamicSettingsService.GetHomeDynamicTop(id, type, isUp);

            var tempOrder = dynamicSource.DisplayOrder;

            dynamicSource.DisplayOrder = dynamicTarget.DisplayOrder;
            dynamicTarget.DisplayOrder = tempOrder;

            string message = string.Empty;

            homeDynamicSettingsService.UpdateHomeDynamicByDisplayOrder(dynamicSource, out message);
            homeDynamicSettingsService.UpdateHomeDynamicByDisplayOrder(dynamicTarget, out message);
            if (message.IsNotNullAndWhiteSpace())
            {
                msg = new StatusMessageData(StatusMessageType.Success, message);
            }
            return(Json(msg));
        }
        public IActionResult EditPermission(EditPermissionModel model)
        {
            PermissionItems permission = model.AsPermissionItems();

            permission.DateLastModified = DateTime.Now;

            PermissionItemsCreateStatus status = PermissionItemsCreateStatus.UnknownFailure;

            permissionItemsService.EditPermissionItems(permission, out status);

            StatusMessageData statusMessageData = null;

            switch (status)
            {
            case PermissionItemsCreateStatus.GuidFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的父级项不正确");
                break;

            case PermissionItemsCreateStatus.UrlFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的权限Url不正确");
                break;

            case PermissionItemsCreateStatus.UnknownFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Error, "更新时,产生了一个未知错误");
                break;

            default:
                break;
            }
            if (statusMessageData == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "编辑成功!")));
            }
            else
            {
                return(Json(statusMessageData));
            }
        }
Ejemplo n.º 28
0
        /// <summary>
        /// 设置商品基本信息
        /// </summary>
        /// <param name="goodsId"></param>
        /// <returns></returns>
        public IActionResult SetGoodsInfo(SetGoodsInfoModel model)
        {
            if (model == null || model.Goodsid <= 0)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "数据不正确!")));
            }
            StatusMessageData statusMessageData = null;
            GoodsInfo         info = goodsInfoService.GetGoodsInfo(model.Goodsid);

            info = model.AsGoodsInfo(info);

            SetGoodsInfoStatus status = SetGoodsInfoStatus.UnknownFailure;

            goodsInfoService.SetGoodsInfo(info, out status);
            switch (status)
            {
            case SetGoodsInfoStatus.UnknownFailure:
                statusMessageData = new StatusMessageData(StatusMessageType.Success, "发生未知错误!");
                break;

            case SetGoodsInfoStatus.DataCatch:
                statusMessageData = new StatusMessageData(StatusMessageType.Success, "数据发生异常!");
                break;

            default:
                break;
            }

            if (statusMessageData == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Success, "设置成功!")));
            }
            else
            {
                return(Json(statusMessageData));
            }
        }
Ejemplo n.º 29
0
        public ActionResult Create(GroupEditModel groupEditModel)
        {
            string errorMessage = null;

            if (ModelState.HasBannedWord(out errorMessage))
            {
                return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                {
                    Body = errorMessage,
                    Title = "创建失败",
                    StatusMessageType = StatusMessageType.Error
                })));
            }

            System.IO.Stream   stream    = null;
            HttpPostedFileBase groupLogo = Request.Files["GroupLogo"];


            //已修改
            IUser user = UserContext.CurrentUser;

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

            if (!new Authorizer().Group_Create(out errorMessage))
            {
                return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                {
                    Body = errorMessage,
                    Title = errorMessage,
                    StatusMessageType = StatusMessageType.Error
                })));
            }
            if (groupLogo != null && !string.IsNullOrEmpty(groupLogo.FileName))
            {
                TenantLogoSettings tenantLogoSettings = TenantLogoSettings.GetRegisteredSettings(TenantTypeIds.Instance().Group());
                if (!tenantLogoSettings.ValidateFileLength(groupLogo.ContentLength))
                {
                    ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, string.Format("文件大小不允许超过{0}", Formatter.FormatFriendlyFileSize(tenantLogoSettings.MaxLogoLength * 1024)));
                    return(View(groupEditModel));
                }

                LogoSettings logoSettings = DIContainer.Resolve <ILogoSettingsManager>().Get();
                if (!logoSettings.ValidateFileExtensions(groupLogo.FileName))
                {
                    ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "不支持的文件类型,仅支持" + logoSettings.AllowedFileExtensions);
                    return(View(groupEditModel));
                }
                stream = groupLogo.InputStream;
                groupEditModel.Logo = groupLogo.FileName;
            }
            GroupEntity group = groupEditModel.AsGroupEntity();

            bool result = groupService.Create(user.UserId, group);

            if (stream != null)
            {
                groupService.UploadLogo(group.GroupId, stream);
            }
            //设置分类
            if (groupEditModel.CategoryId > 0)
            {
                categoryService.AddItemsToCategory(new List <long>()
                {
                    group.GroupId
                }, groupEditModel.CategoryId, 0);
            }
            //设置标签
            string relatedTags = Request.Form.Get <string>("RelatedTags");

            if (!string.IsNullOrEmpty(relatedTags))
            {
                tagService.AddTagsToItem(relatedTags, group.GroupId, group.GroupId);
            }
            //发送邀请
            if (!string.IsNullOrEmpty(groupEditModel.RelatedUserIds))
            {
                //已修改
                IEnumerable <long> userIds = Request.Form.Gets <long>("RelatedUserIds", null);
                groupService.SendInvitations(group, user, string.Empty, userIds);
            }
            return(Redirect(SiteUrls.Instance().GroupHome(group.GroupKey)));
        }
Ejemplo n.º 30
0
        public ActionResult _Invite(string spaceKey, string userIds, string remark)
        {
            StatusMessageData message             = null;
            string            unInviteFriendNames = string.Empty;
            GroupEntity       group = groupService.Get(spaceKey);


            if (group == null)
            {
                return(Json(new StatusMessageData(StatusMessageType.Error, "找不到群组!")));
            }

            //在显示时做了判断
            //已修改
            IUser currentUser = UserContext.CurrentUser;

            List <long> couldBeInvetedUserIds = new List <long>();
            //被邀请人的隐私设置
            IEnumerable <long> inviteUserIds = Request.Form.Gets <long>("userIds", null);
            int count = 0;

            foreach (long inviteUserId in inviteUserIds)
            {
                if (!privacyService.Validate(inviteUserId, currentUser != null ? currentUser.UserId : 0, PrivacyItemKeys.Instance().Invitation()))
                {
                    User user = userService.GetFullUser(inviteUserId);
                    unInviteFriendNames += user.DisplayName + ",";
                }
                else
                {
                    count++;
                    couldBeInvetedUserIds.Add(inviteUserId);
                }
            }



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

            if (!new Authorizer().Group_Invite(group))
            {
                return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                {
                    Body = "没有邀请好友的权限!",
                    Title = "没有权限",
                    StatusMessageType = StatusMessageType.Error
                })));
            }

            if (!string.IsNullOrEmpty(userIds))
            {
                //已修改

                IEnumerable <long> ids = Request.Form.Gets <long>("userIds", null);
                if (ids != null && ids.Count() > 0)
                {
                    groupService.SendInvitations(group, currentUser, remark, couldBeInvetedUserIds);
                    if (count < ids.Count())
                    {
                        message = new StatusMessageData(StatusMessageType.Hint, "共有" + count + "个好友邀请成功," + unInviteFriendNames.Substring(0, unInviteFriendNames.Count() - 1) + "不能被邀请!");
                    }
                    else
                    {
                        message = new StatusMessageData(StatusMessageType.Success, "邀请好友成功!");
                    }
                }
                else
                {
                    message = new StatusMessageData(StatusMessageType.Hint, "您尚未选择好友!");
                }
            }
            return(Json(message));
        }