コード例 #1
0
        public CommandResult <BoardMember> Execute(RedfernDb db)
        {
            Activity    activity = null;
            BoardMember member   = db.BoardMembers.Where(m => m.BoardId == this.BoardId && m.UserName == this.UserName).SingleOrDefault();

            if (member == null)
            {
                member          = db.BoardMembers.Create();
                member.BoardId  = this.BoardId;
                member.UserName = this.UserName;
                member.Role     = BoardMemberRole.Contributor;
                member          = db.BoardMembers.Add(member);
                db.SaveChanges();

                activity = db.Activities.Create();
                activity.ActivityDate = DateTime.UtcNow;
                activity.SetVerb("inlcuded");
                activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName);
                activity.SetObject("member", member.BoardMemberId.ToString(), db.GetUserFullName(member.UserName), String.Format(@"/profile/{0}", member.UserName));
                activity.SetContext("board", member.BoardId.ToString(), member.Board.Name, String.Format(@"/board/{0}", member.BoardId));
                activity.SetDescription("{actorlink} included member {object} to {context}");
                activity = db.Activities.Add(activity);
                db.SaveChanges();
            }
            else
            {
            }

            return(this.CommandResult <BoardMember>(member, db, activity));
        }
コード例 #2
0
        public CommandResult <bool> Execute(RedfernDb db)
        {
            BoardMember member = db.BoardMembers.Find(this.BoardMemberId);

            if (member == null)
            {
                return(this.CommandResult <bool>(false, db, "Member not found."));
            }

            // else

            // create the activity
            Activity activity = db.Activities.Create();

            activity.ActivityDate = DateTime.UtcNow;
            activity.SetVerb("removed");
            activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName);
            activity.SetObject("member", member.BoardMemberId.ToString(), db.GetUserFullName(member.UserName), String.Format(@"/profile/{0}", member.UserName));
            activity.SetContext("board", member.BoardId.ToString(), member.Board.Name, String.Format(@"/board/{0}", member.BoardId));
            activity.SetDescription("{actorlink} removed {object} from board {contextlink}");
            activity = db.Activities.Add(activity);

            // remove board member
            db.BoardMembers.Remove(member);
            db.SaveChanges();

            return(this.CommandResult <bool>(true, db, activity));
        }
コード例 #3
0
        public CommandResult <Card> Execute(RedfernDb db)
        {
            Card card = db.Cards.Find(this.CardId);

            card.AssignedToUser = this.AssignedToUser;
            db.SaveChanges();

            Activity activity = db.Activities.Create();

            activity.ActivityDate = DateTime.UtcNow;
            activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName);
            if (!String.IsNullOrEmpty(card.AssignedToUser))
            {
                if (card.AssignedToUser == db.Context.ClientUserName)
                {
                    activity.SetVerb("claimed");
                    activity.SetObject("card", card.CardId.ToString(), card.Title, String.Format(@"/board/{0}/card/{1}", card.BoardId, card.CardId));
                    activity.SetContext("board", card.BoardId.ToString(), card.Board.Name, String.Format(@"/board/{0}", card.BoardId));
                    activity.SetDescription("{actorlink} claimed card {objectlink} in {contextlink}");
                }
                else
                {
                    activity.SetVerb("assigned");
                    activity.SetObject("card", card.CardId.ToString(), card.Title, String.Format(@"/board/{0}/card/{1}", card.BoardId, card.CardId));
                    activity.SetTarget("member", card.AssignedToUser.ToString(), db.GetUserFullName(card.AssignedToUser), String.Format(@"/profile/{0}", card.AssignedToUser));
                    activity.SetContext("board", card.BoardId.ToString(), card.Board.Name, String.Format(@"/board/{0}", card.BoardId));
                    activity.SetDescription("{actorlink} assigned card {objectlink} to {target} in {contextlink}");
                }
            }
            else
            {
                activity.SetVerb("unassigned");
                activity.SetObject("card", card.CardId.ToString(), card.Title, String.Format(@"/board/{0}/card/{1}", card.BoardId, card.CardId));
                activity.SetContext("board", card.BoardId.ToString(), card.Board.Name, String.Format(@"/board/{0}", card.BoardId));
                activity.SetDescription("{actorlink} unassigned card {objectlink} in {contextlink}");
            }
            activity = db.Activities.Add(activity);
            db.SaveChanges();

            return(this.CommandResult <Card>(card, db, activity));
        }