Example #1
0
        private void UpdateK_AdminSubscriptions(string[] selectedK_Admins, Subscription subscriptionToUpdate)
        {
            if (selectedK_Admins == null)
            {
                subscriptionToUpdate.K_AdminSubscriptions = new List <K_AdminSubscriptions>();
                return;
            }

            var selectedK_AdminsHS   = new HashSet <string>(selectedK_Admins);
            var subscriptionK_Admins = new HashSet <int>
                                           (subscriptionToUpdate.K_AdminSubscriptions.Select(k => k.K_Admin.K_AdminId));

            foreach (var k_admin in _context.K_Admin)
            {
                if (selectedK_AdminsHS.Contains(k_admin.K_AdminId.ToString()))
                {
                    if (!subscriptionK_Admins.Contains(k_admin.K_AdminId))
                    {
                        subscriptionToUpdate.K_AdminSubscriptions.Add(new K_AdminSubscriptions {
                            SubscriptionId = subscriptionToUpdate.SubscriptionId, K_AdminId = k_admin.K_AdminId
                        });
                    }
                }
                else
                {
                    if (subscriptionK_Admins.Contains(k_admin.K_AdminId))
                    {
                        K_AdminSubscriptions k_adminToRemove = subscriptionToUpdate.K_AdminSubscriptions.FirstOrDefault(i => i.K_AdminId == k_admin.K_AdminId);
                        _context.Remove(k_adminToRemove);
                    }
                }
            }
        }
Example #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));
        }