public CommandResult <BoardColumn> Execute(RedfernDb db) { Board board = db.Boards.Find(this.BoardId); BoardColumn archiveColumn = board.Columns.Where(c => c.Name == "Archived").SingleOrDefault(); BoardColumn column = db.BoardColumns.Create(); column.BoardId = this.BoardId; column.Name = this.Name; column.Sequence = archiveColumn != null ? archiveColumn.Sequence : board.Columns.Count - 1; column.Hidden = false; column.Expanded = true; column = db.BoardColumns.Add(column); if (archiveColumn != null) { archiveColumn.Sequence++; } db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("created"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("column", column.ColumnId.ToString(), column.Name, String.Format(@"/board/{0}", board.BoardId)); activity.SetContext("board", column.BoardId.ToString(), column.Board.Name, String.Format(@"/board/{0}", board.BoardId)); activity.SetDescription("{actor} created new column {object} in board {context}."); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <BoardColumn>(column, db, activity)); }
public CommandResult <CardComment> Execute(RedfernDb db) { CardComment comment = db.CardComments.Create(); comment.CardId = this.CardId; comment.Comment = this.Comment; comment.CommentDate = DateTime.UtcNow; comment.CommentByUser = db.Context.ClientUserName; comment = db.CardComments.Add(comment); db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("added"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("comment", comment.CommentId.ToString(), comment.Comment.Substring(0, comment.Comment.Length < 50 ? comment.Comment.Length - 1 : 45), String.Format(@"/board/{0}/card/{1}/comment/{2}", comment.Card.BoardId.ToString(), comment.Card.CardId.ToString(), comment.CommentId.ToString())); activity.SetTarget("card", comment.CardId.ToString(), comment.Card.Title, ""); activity.SetContext("board", comment.Card.BoardId.ToString(), comment.Card.Board.Name, String.Format(@"/board/{0}", comment.Card.BoardId)); activity.SetDescription("{actorlink} added comment to {target} in {context}"); activity.AdditionalData = comment.Comment; activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <CardComment>(comment, 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.DueDate = this.DueDate; db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; if (this.DueDate.HasValue) { activity.SetVerb("set"); } else { activity.SetVerb("unset"); } activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetAtrribute("due date"); 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} {verb} {attribute} of card {objectlink} in {contextlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Card>(card, db, activity)); }
public CommandResult <BoardColumn> Execute(RedfernDb db) { BoardColumn column = db.BoardColumns.Find(this._columnId); if (_nameUpdated) { column.Name = this._name; } if (_hiddenUpdated) { column.Hidden = this._hidden; } db.SaveChanges(); Activity activity; if (_nameUpdated) { activity = CreateUpdateColumnNameActivity(column, db); } else if (_hiddenUpdated && this._hidden) { activity = CreateHideColumnActivity(column, db); } else if (_hiddenUpdated && !this._hidden) { activity = CreateUnhidColumnActivity(column, db); } else { activity = CreateUpdateColumnPropertyActivity(column, db); } return(this.CommandResult <BoardColumn>(column, db, activity)); }
private Activity CreateMoveCardActivity(Card card, RedfernDb db, BoardColumn targetColumn = null) { // create an activity Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("moved"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("card", card.CardId.ToString(), card.Title, String.Format(@"/board/{0}/card/{1}", card.BoardId, card.CardId)); activity.SetSource("column", card.ColumnId.ToString(), card.Column.Name, ""); activity.SetContext("board", card.BoardId.ToString(), card.Board.Name, String.Format(@"/board/{0}", card.BoardId)); if (targetColumn != null) { activity.SetTarget("column", targetColumn.ColumnId.ToString(), targetColumn.Name, ""); activity.SetDescription("{actor} moved card {object} from {source} to {target} in board {context}."); } else { activity.SetDescription("{actorlink} moved card {object} in board {context}."); } activity = db.Activities.Add(activity); return(activity); }
public CommandResult <Card> Execute(RedfernDb db) { Board board = db.Boards.Find(this.BoardId); Card card = db.Cards.Create(); card.BoardId = this.BoardId; card.ColumnId = this.ColumnId; card.Title = this.Title; card.Sequence = this.Sequence; card.CardTypeId = board.CardTypes.Where(ct => ct.ColorCode == "amber").SingleOrDefault().CardTypeId; card = db.Cards.Add(card); db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("added"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("card", card.CardId.ToString(), card.Title, String.Format(@"#/board/{0}/card/{1}", card.BoardId, card.CardId)); activity.SetTarget("column", card.ColumnId.ToString(), card.Column.Name, ""); activity.SetContext("board", card.BoardId.ToString(), card.Board.Name, String.Format(@"/board/{0}", card.BoardId)); activity.SetDescription("{actorlink} added card {objectlink} to {target} in {context}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Card>(card, db, activity)); }
public CommandResult <Card> Execute(RedfernDb db) { Card card = db.Cards.Find(this.CardId); BoardColumn archivedColumn = db.BoardColumns.Where(c => c.Name == "Archived" && c.BoardId == card.BoardId).SingleOrDefault(); if (archivedColumn == null) { archivedColumn = db.BoardColumns.Create(); archivedColumn.BoardId = card.BoardId; archivedColumn.Name = "Archived"; archivedColumn.Sequence = card.Board.Columns.Count + 1; archivedColumn.Hidden = true; archivedColumn = db.BoardColumns.Add(archivedColumn); db.SaveChanges(); } card.ColumnId = archivedColumn.ColumnId; card.Sequence = archivedColumn.Cards.Count + 1; card.ArchivedDate = DateTime.UtcNow; db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("archived"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); 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} archived card {objectlink} in {contextlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Card>(card, db, activity)); }
public CommandResult <CardTask> Execute(RedfernDb db) { CardTask task = db.CardTasks.Create(); task.CardId = this.CardId; task.Description = this.Description; task.AssignedToUser = this.AssignedToUser; task.AssignedDate = this.AssignedDate; task.DueDate = this.DueDate; task.TaskNotes = this.TaskNotes; db.CardTasks.Add(task); db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("added"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("task", task.CardTaskId.ToString(), task.Description.Substring(0, task.Description.Length < 30 ? task.Description.Length - 1 : 25), ""); activity.SetTarget("card", task.CardId.ToString(), task.Card.Title, String.Format(@"#/board/{0}/card/{1}", task.Card.BoardId.ToString(), task.CardId.ToString())); activity.SetContext("board", task.Card.BoardId.ToString(), task.Card.Board.Name, String.Format(@"/board/{0}", task.Card.BoardId)); activity.SetDescription("{actorlink} added task {objectlink} to card {targetlink} in {contextlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <CardTask>(task, db, activity)); }
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 <CardAttachment> Execute(RedfernDb db) { CardAttachment attachment = db.CardAttachments.Create(); attachment.CardId = this.CardId; attachment.FileName = this.FileName; attachment.FileExtension = this.FileExtension; attachment.ContentType = this.ContentType; attachment.FileContent = this.FileContent; attachment = db.CardAttachments.Add(attachment); db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("attached"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("attachment", attachment.CardAttachmentId.ToString(), attachment.FileName, String.Format(@"/api/attachment/{0}", attachment.CardAttachmentId.ToString())); activity.SetTarget("card", attachment.CardId.ToString(), attachment.Card.Title, String.Format(@"/board/{0}/card/{1}", attachment.Card.BoardId.ToString(), attachment.CardId.ToString())); activity.SetContext("board", attachment.Card.BoardId.ToString(), attachment.Card.Board.Name, String.Format(@"/board/{0}", attachment.Card.BoardId)); activity.SetDescription("{actorlink} attached file {objectlink} to card {targetlink} in {contextlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <CardAttachment>(attachment, db, activity)); }
public CommandResult <bool> Execute(RedfernDb db) { BoardColumn column = db.BoardColumns.Find(this.ColumnId); try { Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("deleted"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("column", column.ColumnId.ToString(), column.Name, ""); activity.SetContext("board", column.BoardId.ToString(), column.Board.Name, String.Format(@"/board/{0}", column.BoardId)); activity.SetDescription("{actorlink} deleted column {object} in {context}"); activity = db.Activities.Add(activity); db.SaveChanges(); db.BoardColumns.Remove(column); db.SaveChanges(); return(this.CommandResult <bool>(true, db, activity)); } catch { return(this.CommandResult <bool>(false, db)); } }
public CommandResult <bool> Execute(RedfernDb db) { Notification notification = db.Notifications.Find(this.NotificationId); db.Notifications.Remove(notification); db.SaveChanges(); return(this.CommandResult <bool>(true, db, "Notification deleted.")); }
public CommandResult <bool> Execute(RedfernDb db) { BoardMember member = db.BoardMembers.Where(m => m.BoardId == this.BoardId && m.UserName == this.UserName).SingleOrDefault(); if (member != null) { member.LastAccessedDate = DateTime.UtcNow; } db.SaveChanges(); return(this.CommandResult <bool>(true, db, activityDate: DateTime.UtcNow, actorId: db.Context.ClientUserName, description: "LastAccessedDate was updated")); }
private Activity CreateUpdateColumnNameActivity(BoardColumn column, RedfernDb db) { Activity activity = db.CreateActivity(); activity.SetVerb("renamed"); activity.SetObject("column", column.ColumnId.ToString(), column.Name, ""); activity.SetContext("board", column.BoardId.ToString(), column.Board.Name, String.Format(@"/board/{0}", column.BoardId)); activity.SetDescription("{actorlink} renamed column {object} in board {contextlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(activity); }
private Activity CreateArchiveCardActivity(Card card, RedfernDb db) { // create an activity Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("archived"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); 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("{actor} arvived card {object} in board {context}."); activity = db.Activities.Add(activity); return(activity); }
private Activity CreateMoveColumnActivity(BoardColumn column, RedfernDb db) { // create an activity Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("moved"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("column", column.ColumnId.ToString(), column.Name, ""); activity.SetContext("board", column.BoardId.ToString(), column.Board.Name, String.Format(@"/board/{0}", column.BoardId)); activity.SetDescription("{actor} moved card {object} in board {context}."); activity = db.Activities.Add(activity); db.SaveChanges(); return(activity); }
public CommandResult <Card> Execute(RedfernDb db) { Card card = db.Cards.Find(this._cardId); if (_boardIdChanged) { card.BoardId = this.BoardId; } if (_columnIdChanged) { card.ColumnId = this.ColumnId; } if (_titleChanged) { card.Title = this.Title; } if (_descriptionChanged) { card.Description = this.Description; } if (_cardTypeIdChanged) { card.CardTypeId = this.CardTypeId; } if (_assignedToUserChanged) { card.AssignedToUser = this.AssignedToUser; } if (_dueDateChanged) { card.DueDate = this.DueDate; } db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("updated"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); 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} updated card {objectlink} in {contextlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Card>(card, db, activity)); }
public CommandResult <Notification> Execute(RedfernDb db) { Notification notification = db.Notifications.Create(); notification.NotificationDate = DateTime.UtcNow; notification.Message = this.Message; notification.SenderUser = this.SenderUser; notification.RecipientUser = this.RecipientUser; notification.NotificationType = this.NotificationType; notification.ObjectType = this.ObjectType; notification.ObjectId = this.ObjectId; notification.ObjectDescription = this.ObjectDescription; notification = db.Notifications.Add(notification); db.SaveChanges(); return(this.CommandResult <Notification>(notification, db, "New notification created.")); }
public CommandResult <CardType> Execute(RedfernDb db) { CardType cardType = db.CardTypes.Find(this._cardTypeId); if (_boardIdChanged) { cardType.BoardId = this.BoardId; } if (_nameChanged) { cardType.Name = this.Name; } if (_colorCodeChanged) { cardType.ColorCode = this.ColorCode; } db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; if (_nameChanged) { activity.SetVerb("renamed"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("color", cardType.ColorCode, cardType.ColorCode, ""); activity.SetTarget("name", cardType.Name, cardType.Name, ""); activity.SetContext("board", cardType.BoardId.ToString(), cardType.Board.Name, ""); activity.SetDescription("{actorlink} renamed color {object} to {target} in {contextlink}"); } else { activity.SetVerb("updated"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("cardtype", cardType.CardTypeId.ToString(), cardType.Name, ""); activity.SetContext("board", cardType.BoardId.ToString(), cardType.Board.Name, ""); activity.SetDescription("{actorlink} updated cardtype {objectlink} in {contextlink}"); } activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <CardType>(cardType, db, activity)); }
public CommandResult <bool> Execute(RedfernDb db) { Card card = db.Cards.Find(this.CardId); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("deleted"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); 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("<b>{actorlink}</b> deleted <b>{object}</b> from <b>{contextlink}</b>"); activity = db.Activities.Add(activity); db.Cards.Remove(card); db.SaveChanges(); return(this.CommandResult <bool>(true, db, activity)); }
public CommandResult <BoardColumn> Execute(RedfernDb db) { int counter = 1; BoardColumn column, movedColumn = null; foreach (var id in ColumnIds) { column = db.BoardColumns.Find(id); if (MovedColumnId == column.ColumnId) { movedColumn = column; } column.Sequence = counter; counter++; } db.SaveChanges(); return(this.CommandResult <BoardColumn>(movedColumn, db, CreateMoveColumnActivity(movedColumn, db))); }
public CommandResult<CardTag> Execute(RedfernDb db) { Card card = db.Cards.Find(this.CardId); CardTag cardTag = db.CardTags.Where(ct => ct.CardId == this.CardId && ct.Tag.TagName == this.TagName).FirstOrDefault(); if (cardTag == null) { Tag tag = db.Tags.Where(t => t.TagName == this.TagName && t.BoardId == card.BoardId).FirstOrDefault(); if (tag == null) { tag = db.Tags.Create(); tag.TagName = this.TagName; tag.BoardId = card.BoardId; tag = db.Tags.Add(tag); db.SaveChanges(); } cardTag = db.CardTags.Create(); cardTag.CardId = this.CardId; cardTag.TagId = tag.TagId; cardTag = db.CardTags.Add(cardTag); db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("added"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("tag", cardTag.CardTagId.ToString(), cardTag.Tag.TagName, String.Format(@"#/board/{0}/card/{1}", card.BoardId, card.CardId)); activity.SetTarget("card", cardTag.CardId.ToString(), cardTag.Card.Title, ""); activity.SetContext("board", cardTag.Card.BoardId.ToString(), cardTag.Card.Board.Name, String.Format(@"/board/{0}", cardTag.Card.BoardId)); activity.SetDescription("{actorlink} added tag to {target} in {context}"); activity = db.Activities.Add(activity); db.SaveChanges(); return this.CommandResult<CardTag>(cardTag, db, activity); } else { return this.CommandResult<CardTag>(cardTag, db); } }
public CommandResult <bool> Execute(RedfernDb db) { CardAttachment attachment = db.CardAttachments.Find(this.CardAttachmentId); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("removed"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("attachment", attachment.CardAttachmentId.ToString(), attachment.FileName, ""); activity.SetSource("card", attachment.CardId.ToString(), attachment.Card.Title, ""); activity.SetContext("board", attachment.Card.BoardId.ToString(), attachment.Card.Board.Name, String.Format(@"/board/{0}", attachment.Card.BoardId)); activity.SetDescription("{actorlink} deleted <b>{object}</b> from {sourcelink} in {contextlink}"); activity = db.Activities.Add(activity); db.CardAttachments.Remove(attachment); db.SaveChanges(); return(this.CommandResult <bool>(true, db, activity)); }
public CommandResult <Card> Execute(RedfernDb db) { Card card = db.Cards.Find(this.CardId); card.ArchivedDate = null; db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("unarchived"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); 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} unarchived {objectlink} in {contextlink}."); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Card>(card, db, activity)); }
public CommandResult <bool> Execute(RedfernDb db) { CardTask task = db.CardTasks.Find(this.CardTaskId); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("deleted"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("task", task.CardTaskId.ToString(), task.Description.Substring(0, task.Description.Length < 30 ? task.Description.Length - 1 : 25), ""); activity.SetTarget("card", task.CardId.ToString(), task.Card.Title, String.Format(@"#/board/{0}/card/{1}", task.Card.BoardId.ToString(), task.CardId.ToString())); activity.SetContext("board", task.Card.BoardId.ToString(), task.Card.Board.Name, String.Format(@"/board/{0}", task.Card.BoardId)); activity.SetDescription("<b>{actorlink}</b> deleted <b>{object}</b> from <b>{contextlink}</b>"); activity = db.Activities.Add(activity); db.CardTasks.Remove(task); db.SaveChanges(); return(this.CommandResult <bool>(true, db, activity)); }
public CommandResult <Board> Execute(RedfernDb db) { Board board = db.Boards.Find(this.BoardId); board.ArchiveDate = DateTime.UtcNow; db.SaveChanges(); Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("archived"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("board", board.BoardId.ToString(), board.Name, String.Format(@"/board/{0}", board.BoardId)); activity.SetContext("board", board.BoardId.ToString(), board.Name, String.Format(@"/board/{0}", board.BoardId)); activity.SetDescription("{actorlink} archived board {objectlink}"); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Board>(board, 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)); }
public CommandResult <Board> Execute(RedfernDb db) { Board board = db.Boards.Find(this.BoardId); board.IsPublic = this.IsPublic; db.SaveChanges(); string visibility = board.IsPublic ? "public" : "private"; Activity activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("changed"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("board", board.BoardId.ToString(), board.Name, String.Format(@"/board/{0}", board.BoardId)); activity.SetDescription("{actorlink} change visibility of board {objectlink} to " + visibility + "."); activity = db.Activities.Add(activity); db.SaveChanges(); return(this.CommandResult <Board>(board, db, activity)); }
public CommandResult <string> Execute(RedfernDb db) { Activity activity = null; CardTag cardTag = db.CardTags.Where(ct => ct.CardId == this.CardId && ct.Tag.TagName == this.TagName).First(); if (cardTag != null) { activity = db.Activities.Create(); activity.ActivityDate = DateTime.UtcNow; activity.SetVerb("removed"); activity.SetActor(db.Context.ClientUserName, db.Context.ClientUserFullName); activity.SetObject("tag", cardTag.CardTagId.ToString(), cardTag.Tag.TagName, String.Format(@"#/board/{0}/card/{1}", cardTag.Card.BoardId, cardTag.CardId)); activity.SetSource("card", cardTag.CardId.ToString(), cardTag.Card.Title, ""); activity.SetContext("board", cardTag.Card.BoardId.ToString(), cardTag.Card.Board.Name, String.Format(@"/board/{0}", cardTag.Card.BoardId)); activity.SetDescription("{actorlink} removed tag from {source} in {context}"); activity = db.Activities.Add(activity); db.CardTags.Remove(cardTag); db.SaveChanges(); } return(this.CommandResult <string>(this.TagName, db, activity)); }