public async Task <IActionResult> Create(ActionItemViewModel actionItemModel) { ModelState.Remove("actionItem.User"); ModelState.Remove("actionItem.UserId"); if (ModelState.IsValid) { using (var memoryStream = new MemoryStream()) { await actionItemModel.ActionItemImage.CopyToAsync(memoryStream); actionItemModel.actionItem.ActionItemImage = memoryStream.ToArray(); } var currentUser = await GetCurrentUserAsync(); actionItemModel.actionItem.UserId = currentUser.Id; _context.Add(actionItemModel.actionItem); await _context.SaveChangesAsync(); return(RedirectToAction("Details", new { id = actionItemModel.actionItem.ActionItemId })); } SelectList compliancePlans = new SelectList(_context.CompliancePlan, "CompliancePlanId", "Label"); // Add a 0 option to the select list SelectList compliancePlans0 = CompliancePlanDropdown(compliancePlans); actionItemModel.compliancePlans = compliancePlans0; return(View(actionItemModel)); }
public void NotifyPropertyChangedTest() { var vm = new ActionItemViewModel(); TestsHelper.TestPropertyWithNotifyPropertyChanged(vm, () => vm.Password); TestsHelper.TestPropertyWithNotifyPropertyChanged(vm, () => vm.Comments); TestsHelper.TestPropertyWithNotifyPropertyChanged(vm, () => vm.ApprovalMemberStatus); }
public static ActionItem FromActionItemViewModel(ActionItemViewModel viewModel) { return(new ActionItem() { PlanningWizardActionItemID = viewModel.ActionItemId, IsComplete = viewModel.Complete, ResourcesContent = viewModel.ResourceHtml }); }
/// <summary> /// Default constructor /// </summary> /// <param name="game">The game</param> /// <param name="displayName">The display name</param> /// <param name="iconSource">The icon source</param> /// <param name="isDemo">Indicates if the game is a demo</param> /// <param name="mainAction">The main action</param> /// <param name="secondaryAction">The secondary action</param> /// <param name="launchActions">The launch actions</param> public Page_Games_GameViewModel(Games game, string displayName, string iconSource, bool isDemo, ActionItemViewModel mainAction, ActionItemViewModel?secondaryAction, IEnumerable <OverflowButtonItemViewModel>?launchActions) { Game = game; DisplayName = displayName; IconSource = iconSource; IsDemo = isDemo; MainAction = mainAction; SecondaryAction = secondaryAction; LaunchActions = launchActions ?? Array.Empty <OverflowButtonItemViewModel>(); }
public void InitializeTest() { var actionManagerVM = Mock.Create<ActionManagerViewModel>(); var actionItemInfo = new ActionItemInfo(123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Approval, "GroupName", new DateTime(2012, 1, 16), true, false); var vm = new ActionItemViewModel(); var changedProperties = new List<string>(); vm.PropertyChanged += (o, e) => changedProperties.Add(e.PropertyName); var dynamicManagerMock = Mock.Create<IDynamicTypeManager>(); Mock.Arrange(() => dynamicManagerMock.BeginGetEditableRoot(Constants.ActionItemsProcessName, 1, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>( (processName, id, callback) => { var result = new DataPortalResult<IEditableRoot>(null, null, null); callback(null, result); }); vm.DynamicManager = dynamicManagerMock; vm.Initialize(actionItemInfo, actionManagerVM); Assert.AreSame(actionItemInfo, vm.Model); Assert.AreSame(actionManagerVM, vm.ParentViewModel); Assert.AreEqual(actionItemInfo.Subject, vm.Subject); Assert.AreEqual(actionItemInfo.Message, vm.Description); Assert.AreEqual(actionItemInfo.GroupName, vm.GroupName); Assert.AreEqual(actionItemInfo.DueDate, vm.DueDate); Assert.AreEqual(actionItemInfo.IsActionNew, vm.IsActionNew); Assert.IsTrue(changedProperties.Contains("Model")); Assert.IsTrue(changedProperties.Contains("AcknowledgeVisible")); Assert.IsTrue(changedProperties.Contains("AcknowledgeCollapse")); Assert.IsTrue(changedProperties.Contains("Subject")); Assert.IsTrue(changedProperties.Contains("Description")); Assert.IsTrue(changedProperties.Contains("GroupName")); Assert.IsTrue(changedProperties.Contains("DueDate")); Assert.IsTrue(changedProperties.Contains("IsLate")); Assert.IsTrue(changedProperties.Contains("IsActionNew")); }
public IActionResult Create() { ActionItemViewModel actionItemModel = new ActionItemViewModel(); SelectList compliancePlans = new SelectList(_context.CompliancePlan, "CompliancePlanId", "Label"); //ViewData["UserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id"); //return View(); // Add a 0 option to the select list SelectList compliancePlans0 = CompliancePlanDropdown(compliancePlans); actionItemModel.compliancePlans = compliancePlans0; return(View(actionItemModel)); }
public JsonResult JsonUpdateActionItem(ActionItemViewModel viewModel) { return(JsonResponse(() => { var actionItem = FromActionItemViewModel(viewModel); var existing = _planningService.GetActionItem(actionItem.PlanningWizardActionItemID); if (existing == null) { throw new Exception("Invalid Action Item. Cannot update"); } existing.ResourcesContent = actionItem.ResourcesContent; existing.ModifyUserID = CurrentUser.UserID; existing.ModifyDate = DateTime.Now; _planningService.UpdateActionItem(ref existing); })); }
public ActionItemViewModel BuildActionItemViewModel(IActionsViewModelFactoryItem item, IssueAction issueAction, Issue issue) { // ReSharper disable once UseObjectOrCollectionInitializer // Suppressed as Title is sometimes built from BuildViewModel var actionsBasePath = issueAction.IsPrimary ? "Actions/{0}" : "Actions/Small/{0}"; var model = new ActionItemViewModel { ActionView = actionsBasePath.FormatString(item.ActionView), ActionModel = item.BuildViewModel(issue, issueAction) }; model.Title = item.Title; model.Eta = item.Eta; model.BasicContent = item.BasicContent; model.IsPrimary = issueAction.IsPrimary; model.DistributeOverTwoColumns = issueAction.IsPrimary && item.DistributeOverTwoColumns; return(model); }
public void PropertiesTest() { var vm = new ActionItemViewModel(); TestsHelper.TestPublicPropertiesGetSet(vm); }
public void WhenPasswordIsEmptyCannotSignOff() { // Arrange. var vm = new ActionItemViewModel { ApprovalMemberStatus = ApprovalMemberResults.Approved, Password = string.Empty }; // Assert. Assert.IsFalse(vm.SignOffCommand.CanExecute(null)); // Act. vm.Password = "******"; // Assert. Assert.IsTrue(vm.SignOffCommand.CanExecute(null)); }
public void SelectingItemShouldMakeActionOld() { var vm = new ActionManagerViewModel(); var item = new ActionItemViewModel(); var newActionItem = new ActionItemInfo(1, "test", Guid.NewGuid().ToString(), 1, "name", "subj", "message", ActionTypes.Approval, "group", DateTime.Now, true, false); var oldActionItem = new ActionItemInfo(1, "test", Guid.NewGuid().ToString(), 1, "name", "subj", "message", ActionTypes.Approval, "group", DateTime.Now, false, false); Mock.Arrange(() => item.Model).Returns(newActionItem); var cmd = new MarkActionItemOldCommand(); Mock.Arrange(() => cmd.ActionItemId).Returns(1); Mock.Arrange(() => cmd.Result).Returns(oldActionItem); Mock.Arrange(() => MarkActionItemOldCommand.BeginExecute(1, Arg.IsAny<EventHandler<DataPortalResult<MarkActionItemOldCommand>>>())).DoInstead((EventHandler<DataPortalResult<MarkActionItemOldCommand>> e) => e(null, new DataPortalResult<MarkActionItemOldCommand>(cmd, null, null))); vm.ActionItems.Add(item); vm.SelectedAction = item; Assert.AreEqual(1, vm.SelectedAction.Model.Id); Assert.IsFalse(vm.SelectedAction.IsActionNew); }
public void ViewFileCommand() { var vm = new ActionItemViewModel(); vm.ViewFileCommand.Execute(null); }
public void WhenApprovalIsRejectedAndCommentsIsEmptyCannotSignOff() { var vm = new ActionItemViewModel {ApprovalMemberStatus = ApprovalMemberResults.Rejected, Password = "******", Comments = null}; Assert.IsFalse(vm.SignOffCommand.CanExecute(null)); vm.Comments = "Test"; Assert.IsTrue(vm.SignOffCommand.CanExecute(null)); }
public void AcknowledgeCollapseTest() { var actionManagerVM = Mock.Create<ActionManagerViewModel>(); var actionItemInfo = new ActionItemInfo( 123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Approval, "GroupName", DateTime.MinValue, true, false); var vm = new ActionItemViewModel(); var dynamicManagerMock = Mock.Create<IDynamicTypeManager>(); Mock.Arrange(() => dynamicManagerMock.BeginGetEditableRoot(Constants.ActionItemsProcessName, 1, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>( (processName, id, callback) => { var result = new DataPortalResult<IEditableRoot>(null, null, null); callback(null, result); }); vm.DynamicManager = dynamicManagerMock; vm.Initialize(actionItemInfo, actionManagerVM); Assert.AreEqual(Visibility.Visible, vm.AcknowledgeCollapse); actionItemInfo = new ActionItemInfo( 123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Assignment, "GroupName", DateTime.MinValue, true, false); vm.Initialize(actionItemInfo, actionManagerVM); Assert.AreEqual(Visibility.Collapsed, vm.AcknowledgeCollapse); }
public void RejectCommandTest() { const string showPassword = "******"; var vm = new ActionItemViewModel {CurrentVisualState = string.Empty, ApprovalMemberStatus = ApprovalMemberResults.Undecided}; vm.RejectCommand.Execute(null); Assert.AreEqual(showPassword, vm.CurrentVisualState); Assert.AreEqual(ApprovalMemberResults.Rejected, vm.ApprovalMemberStatus); }
public void ActionCommandTest() { const string showActions = "ShowActions"; const string showText = "ShowText"; var vm = new ActionItemViewModel {CurrentVisualState = string.Empty}; vm.ActionCommand.Execute(null); Assert.AreEqual(showActions, vm.CurrentVisualState); vm.ActionCommand.Execute(null); Assert.AreEqual(showText, vm.CurrentVisualState); vm.ActionCommand.Execute(null); Assert.AreEqual(showActions, vm.CurrentVisualState); }
public void OpenScreenCommandOpensIntegrationEvent() { // Arrange. var actionItem = new ActionItemInfo( 123, Constants.IntegrationEventProcessName, "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Integration Service Failed", "Subject", "Message", ActionTypes.Assignment, "GroupName", DateTime.MinValue, true, true); var windowManager = Mock.Create<IShell>(Behavior.Loose); var actionManager = new ActionManagerViewModel(); var integrationEventViewModel = Mock.Create<IIntegrationEventViewModel>(Behavior.Loose); var integrationEventViewModelFactory = Mock.Create<IIntegrationEventViewModelFactory>(Behavior.Loose); Mock.Arrange(() => integrationEventViewModelFactory.CreateViewModel()).Returns(integrationEventViewModel); var viewModel = new ActionItemViewModel { WindowManager = windowManager, IntegrationEventViewModelFactory = integrationEventViewModelFactory }; viewModel.Initialize(actionItem, actionManager); // Act. viewModel.OpenScreenCommand.Execute(null); // Assert. Mock.Assert(() => integrationEventViewModel.LoadEvent(321), Occurs.Once()); Mock.Assert(() => windowManager.ShowTaskWindow(integrationEventViewModel, true), Occurs.Once()); }
public void SelectingItemShouldMakeItemSelectedAndDeselectPrevious() { var vm = new ActionManagerViewModel(); var item1 = new ActionItemViewModel(); var item2 = new ActionItemViewModel(); var newActionItem = new ActionItemInfo(1, "test", Guid.NewGuid().ToString(), 1, "name", "subj", "message", ActionTypes.Approval, "group", DateTime.Now, true, false); Mock.Arrange(() => item2.Model).Returns(newActionItem); var cmd = new MarkActionItemOldCommand(); Mock.Arrange(() => cmd.ActionItemId).Returns(1); Mock.Arrange(() => MarkActionItemOldCommand.BeginExecute(1, Arg.IsAny<EventHandler<DataPortalResult<MarkActionItemOldCommand>>>())).DoNothing(); vm.ActionItems.Add(item1); vm.ActionItems.Add(item2); vm.SelectedAction = item1; Assert.IsTrue(item1.IsSelected); vm.SelectedAction = item2; Assert.IsFalse(item1.IsSelected); Assert.IsTrue(item2.IsSelected); }
public void OpenScreenCommandTest() { var actionManagerVM = Mock.Create<ActionManagerViewModel>(); var actionItemInfo = new ActionItemInfo( 123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Approval, "GroupName", DateTime.MinValue, true, false); var detailsMock = Mock.Create<IDetailsViewModel>(); var shellMock = Mock.Create<IShell>(); var vm = new ActionItemViewModel { DetailsViewModelFactory = new ExportFactory<IDetailsViewModel>(() => new Tuple<IDetailsViewModel, Action>(detailsMock, () => { })), WindowManager = shellMock }; var dynamicManagerMock = Mock.Create<IDynamicTypeManager>(); Mock.Arrange(() => dynamicManagerMock.BeginGetEditableRoot(Constants.ActionItemsProcessName, 1, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>( (processName, id, callback) => { var result = new DataPortalResult<IEditableRoot>(null, null, null); callback(null, result); }); vm.DynamicManager = dynamicManagerMock; vm.Initialize(actionItemInfo, actionManagerVM); vm.IsDetailOpen = true; vm.OpenScreenCommand.Execute(null); Assert.IsFalse(vm.IsDetailOpen); Mock.Assert(() => detailsMock.Refresh(actionItemInfo.ProcessName, actionItemInfo.ItemId), Occurs.Once()); Mock.Assert(() => shellMock.ShowTaskWindow(detailsMock, true), Occurs.Once()); }
public void CloseDetailCommandTest() { var actionManagerVm = Mock.Create<ActionManagerViewModel>(); var vm = new ActionItemViewModel() { ParentViewModel = actionManagerVm, IsDetailOpen = true }; vm.CloseDetailCommand.Execute(null); Assert.IsFalse(vm.IsDetailOpen); }