コード例 #1
0
 public UpdateData([Import(typeof(IResolver))] IResolver resolver)
 {
     this.resolver = resolver;
     this.pbData   = resolver.GetInstanceOf <IPBData>();
     DataContext   = new UpdateDataViewModel(resolver);
     InitializeComponent();
 }
コード例 #2
0
        public async Task When_viewmodel_hidden_Then_window_gets_hidden(
            [Frozen] IUpdateDataWindow updateDataWindow,
            UpdateDataViewModel updateDataViewModel)
        {
            await updateDataViewModel.Hide();

            updateDataWindow.Received(1).Hide();
        }
コード例 #3
0
 public UpdateDataWindow([NotNull] UpdateDataViewModel updateDataViewModel, [NotNull] WpfSettings wpfSettings)
 {
     _updateDataViewModel = updateDataViewModel;
     _updateDataViewModel.ParentWindow = this;
     DataContext  = _updateDataViewModel;
     _wpfSettings = wpfSettings;
     this.StartOnSelectedWindow(_wpfSettings);
     InitializeComponent();
 }
コード例 #4
0
 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();
 }
コード例 #5
0
        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();
        }
コード例 #6
0
        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();
        }
コード例 #7
0
        /// <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));
        }
コード例 #8
0
        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));
        }
コード例 #9
0
        //
        // 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));
        }
コード例 #10
0
        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));
        }