/// <summary> /// builds the user action from the pageVM /// </summary> /// <param name="pageVm"></param> /// <param name="sessionId">session id of the user</param> /// <returns>user action object</returns> private UserActionVM GetUserAction(PageVM pageVm, string sessionId) { //get what we need from the pageVm and session var emailAddress = pageVm? .Questions?.FirstOrDefault(x => x.QuestionId.Equals("email-address"))? .Answer ?? string.Empty; var feedback = pageVm? .Questions?.FirstOrDefault(x => x.QuestionId.Equals("message"))? .Answer ?? string.Empty; var userName = pageVm? .Questions?.FirstOrDefault(x => x.QuestionId.Equals("full-name"))? .Answer ?? string.Empty; //build the action data var reportProblemVm = new ReportProblemVM { EmailAddress = emailAddress, UserName = userName, Feedback = feedback }; var actionData = JsonConvert.SerializeObject(reportProblemVm); var action = new UserActionVM { Session = sessionId, Action = "Report a Problem", ActionData = actionData, ActionDate = new DateTime().GetLocalDateTime() }; return(action); }
public Task <UserActionVM> UpdateAsync(string id, UserActionVM item) { return(_repo.UpdateAsync(id, item)); }
public Task <UserActionVM> CreateAsync(UserActionVM item) { return(_repo.CreateAsync(item)); }