public UpdateData([Import(typeof(IResolver))] IResolver resolver) { this.resolver = resolver; this.pbData = resolver.GetInstanceOf <IPBData>(); DataContext = new UpdateDataViewModel(resolver); InitializeComponent(); }
public async Task When_viewmodel_hidden_Then_window_gets_hidden( [Frozen] IUpdateDataWindow updateDataWindow, UpdateDataViewModel updateDataViewModel) { await updateDataViewModel.Hide(); updateDataWindow.Received(1).Hide(); }
public UpdateDataWindow([NotNull] UpdateDataViewModel updateDataViewModel, [NotNull] WpfSettings wpfSettings) { _updateDataViewModel = updateDataViewModel; _updateDataViewModel.ParentWindow = this; DataContext = _updateDataViewModel; _wpfSettings = wpfSettings; this.StartOnSelectedWindow(_wpfSettings); InitializeComponent(); }
public UpdateDataWindow([NotNull] UpdateDataViewModel updateDataViewModel, [NotNull] WpfSettings wpfSettings, [NotNull] IDoWorkOnUi doWorkOnUi, [NotNull] WindowExtensions windowExtensions) { _updateDataViewModel = updateDataViewModel; _updateDataViewModel.ParentWindow = this; DataContext = _updateDataViewModel; _wpfSettings = wpfSettings; _doWorkOnUi = doWorkOnUi; _windowExtensions = windowExtensions; Task.Run(async() => await _windowExtensions.StartOnSelectedWindow(this, _wpfSettings)); InitializeComponent(); }
public async Task When_task_run_then_completed_Then_active_jobs_should_be_empty( UpdateDataViewModel updateDataViewModel, Guid taskGuid, string title, CancellationTokenSource cancellationTokenSource ) { await updateDataViewModel.CreateNewActiveTask(taskGuid, title, cancellationTokenSource); updateDataViewModel.ActiveJobs.ContainsKey(taskGuid).Should().BeTrue(); await updateDataViewModel.SetActiveTaskComplete(taskGuid, title); updateDataViewModel.ActiveJobs.ContainsKey(taskGuid).Should().BeFalse(); }
public async Task When_task_run_then_tasks_cancelled_Then_active_jobs_should_be_cancelled( UpdateDataViewModel updateDataViewModel, List <Guid> taskGuids, string title, CancellationTokenSource cancellationTokenSource ) { foreach (var guid in taskGuids) { await updateDataViewModel.CreateNewActiveTask(guid, title, cancellationTokenSource); updateDataViewModel.ActiveJobs.ContainsKey(guid).Should().BeTrue(); } updateDataViewModel.ActiveJobs.Count.Should().Be(taskGuids.Count()); await updateDataViewModel.CancelActiveTasks(); updateDataViewModel.ActiveJobs.Should().BeEmpty(); cancellationTokenSource.IsCancellationRequested.Should().BeTrue(); }
/// <summary> /// GET: Admin/Data/Update/1 /// Updates the specified identifier. /// </summary> /// <param name="id">The identifier.</param> /// <returns>ActionResult.</returns> public ActionResult Update(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Find the production instance the user selected and populate the view model Production production = db.Productions.Find(id); var data = new Data(); var model = new UpdateDataViewModel(); model.Production = production; model.EmployeeList = data.GetActiveEmployees(); model.IssueList = data.GetActiveIssues(); model.ProductList = data.GetActiveProducts(); model.ProcessList = data.GetActiveProcesses(); model.BatchList = data.GetActiveBatches(); return(View(model)); }
public async Task <ActionResult> UpdateData(UpdateDataViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; var result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("Index", new { Message = ManageMessageId.UserDataSuccess })); } else { AddErrors(result); } } return(View("Index", model)); }
// // GET: /Manage/Index public async Task <ActionResult> Index(ManageMessageId?message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : message == ManageMessageId.UserDataSuccess ? "Your user data has been updated" : ""; var userId = User.Identity.GetUserId(); var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); var model = new UpdateDataViewModel { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email }; return(View(model)); }
public ActionResult Update(UpdateDataViewModel Model) { // Look up existing productions based on the ProductionID that was passed through as a hidden field var production = db.Productions.Find(Model.Production.ProductionID); String[] issues = production.Issues.Select(x => x.IssueID.ToString()).ToArray(); // Create an instance of the Data utility var d = new Data(); if (!ModelState.IsValid) { //Production log entry was invalid // Kick them back to the view and try again Model.EmployeeList = d.GetActiveEmployees(); Model.ProductList = d.GetActiveProducts(); Model.ProcessList = d.GetActiveProcesses(); Model.BatchList = d.GetActiveBatches(); Model.IssueList = d.GetActiveIssues(); Model.Production = production; Model.SelectedIssues = issues; return(View(Model)); } // If we find that production indeed exists if (production != null) { // Grab each property based on the selected value production.Employee = db.Employees.Find(Model.Production.Employee.EmployeeID); production.Product = db.Products.Find(Model.Production.Product.ProductID); production.Process = db.Processes.Find(Model.Production.Process.ProcessID); production.Batch = db.Batches.Find(Model.Production.Batch.BatchID); production.Quantity = Model.Production.Quantity; production.Duration = Model.Production.Duration; // Clear existing issues from the production so that we may associate any selected issue production.Issues.Clear(); // If any issue is selected if (Model.SelectedIssues != null && Model.SelectedIssues.Count() > 0) { // Insert a list of Issues as the production Issues where the ID is found within the Issues array production.Issues = db.Issues.Where(x => Model.SelectedIssues.Contains(x.IssueID.ToString())).ToList(); } db.Entry(production).State = EntityState.Modified; db.SaveChanges(); // Inform the user that the production was updated successfully TempData["Success"] = "Production updated"; return(RedirectToAction("Edit", "Data")); } // Fillout the lists if we need to return to the update view Model.EmployeeList = d.GetActiveEmployees(); Model.ProductList = d.GetActiveProducts(); Model.ProcessList = d.GetActiveProcesses(); Model.BatchList = d.GetActiveBatches(); Model.IssueList = d.GetActiveIssues(); Model.Production = production; Model.SelectedIssues = issues; // Inform the user that the production was not updated successfully TempData["Error"] = "Production not updated"; return(View(Model)); }