Esempio n. 1
0
        private void UpdateSubscriptionJobs(string[] selectedJobs, Subscription subscriptionToUpdate)
        {
            if (selectedJobs == null)
            {
                subscriptionToUpdate.SubscriptionJobs = new List <SubscriptionJobs>();
                return;
            }

            var selectedJobsHS   = new HashSet <string>(selectedJobs);
            var subscriptionJobs = new HashSet <int>
                                       (subscriptionToUpdate.SubscriptionJobs.Select(j => j.Job.JobId));

            foreach (var job in _context.Job)
            {
                if (selectedJobsHS.Contains(job.JobId.ToString()))
                {
                    if (!subscriptionJobs.Contains(job.JobId))
                    {
                        subscriptionToUpdate.SubscriptionJobs.Add(new SubscriptionJobs {
                            SubscriptionId = subscriptionToUpdate.SubscriptionId, JobId = job.JobId
                        });
                    }
                }
                else
                {
                    if (subscriptionJobs.Contains(job.JobId))
                    {
                        SubscriptionJobs jobToRemove = subscriptionToUpdate.SubscriptionJobs.FirstOrDefault(i => i.JobId == job.JobId);
                        _context.Remove(jobToRemove);
                    }
                }
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Create([Bind("SubscriptionId,SubscriptionName,CustomerId,HardwareId")] Subscription subscription, string[] selectedK_Admins, string[] selectedJobs)
        {
            if (selectedK_Admins != null)
            {
                subscription.K_AdminSubscriptions = new List <K_AdminSubscriptions>();
                foreach (var k_admin in selectedK_Admins)
                {
                    var k_adminToAdd = new K_AdminSubscriptions {
                        SubscriptionId = subscription.SubscriptionId, K_AdminId = int.Parse(k_admin)
                    };
                    subscription.K_AdminSubscriptions.Add(k_adminToAdd);
                }
            }
            if (selectedJobs != null)
            {
                subscription.SubscriptionJobs = new List <SubscriptionJobs>();
                foreach (var job in selectedJobs)
                {
                    var jobToAdd = new SubscriptionJobs {
                        SubscriptionId = subscription.SubscriptionId, JobId = int.Parse(job)
                    };
                    subscription.SubscriptionJobs.Add(jobToAdd);
                }
            }
            if (ModelState.IsValid)
            {
                _context.Add(subscription);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            //ViewData["CustomerId"] = new SelectList(_context.Customer, "CustomerId", "CompanyName", subscription.CustomerId);
            //ViewData["HardwareId"] = new SelectList(_context.Hardware, "HardwareId", "HardwareName", subscription.HardwareId);
            PopulateCompanyDropDownList(subscription.CustomerId);
            PopulateHardwareDropDownList(subscription.HardwareId);
            PopulateAssignedK_AdminData(subscription);
            PopulateAssignedJobData(subscription);
            return(View(subscription));
        }