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)); }
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)); }
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)); }