/// <summary> /// Accept invitation /// </summary> /// <param name="activeCode"></param> /// <returns></returns> public async Task <ResultModel <AccountInfoModel> > AcceptInvitation(string activeCode) { ResultModel <AccountInfoModel> iResult = new ResultModel <AccountInfoModel>(); ProjectMember inviteItem = await UnitOfWork .ProjectMemberRepository .GetAsync(c => c.IsPending && c.ActiveCode == activeCode); if (inviteItem == null) { iResult.Status = ActionStatus.NotFound; } else { inviteItem.IsPending = false; UnitOfWork.ProjectMemberRepository.Update(inviteItem); var result = await UnitOfWork.CommitAsync(); if (result > 0) { iResult.Data = await _accountBusiness.GetAccountInfo(inviteItem.MemberId); iResult.Status = ActionStatus.Ok; } } return(iResult); }
/// <summary> /// Compare changes of old and new task /// </summary> /// <param name="newData"></param> /// <param name="oldData"></param> /// <returns></returns> public async Task <string> CompareChangesAsync(TaskItemModel newData, TaskItemModel oldData) { if (newData.TaskId != oldData.TaskId) { return(string.Empty); } string content = string.Empty; if (newData.TaskTitle != oldData.TaskTitle) { content += FormartHistoryContent("Title", oldData.TaskTitle, newData.TaskTitle); } if (newData.TaskDetail != oldData.TaskDetail) { content += FormartHistoryContent("Detail", oldData.TaskDetail, newData.TaskDetail); } if (newData.Phase.Id != oldData.Phase.Id) { string oldItem = "Open Features"; string newItem = "Open Features"; if (newData.Phase.Id > 0) { PhaseModel phase = await _phase.GetPhaseById(newData.Phase.Id); newItem = phase.PhaseName; } if (oldData.Phase.Id > 0) { PhaseModel phase = await _phase.GetPhaseById(oldData.Phase.Id); oldItem = phase.PhaseName; } content += FormartHistoryContent("Phase", oldItem, newItem); } if (newData.Assignee.AccountId != oldData.Assignee.AccountId) { string oldItem = "Non-Assigned"; string newItem = "Non-Assigned"; if (newData.Assignee.AccountId > 0) { AccountInfoModel account = await _account.GetAccountInfo(newData.Assignee.AccountId); newItem = account.DisplayName; } if (oldData.Assignee.AccountId > 0) { AccountInfoModel account = await _account.GetAccountInfo(oldData.Assignee.AccountId); oldItem = account.DisplayName; } content += FormartHistoryContent("Assignee", oldItem, newItem); } if (newData.Priority != oldData.Priority) { string oldItem = oldData.Priority.ToString(); string newItem = newData.Priority.ToString(); content += FormartHistoryContent("Priority", oldItem, newItem); } if (newData.Status != oldData.Status) { string oldItem = oldData.Status.ToString(); string newItem = newData.Status.ToString(); content += FormartHistoryContent("Status", oldItem, newItem); } if (newData.PercentCompleted != oldData.PercentCompleted) { string oldItem = oldData.PercentCompleted.ToString(); string newItem = newData.PercentCompleted.ToString(); content += FormartHistoryContent("Percent Completed", oldItem, newItem); } return(content); }