// GET: CCS/Clients/Create
        public ActionResult Create()
        {
            CreateViewModelClientsManager model = new CreateViewModelClientsManager();

            List <SelectListItem> possibleUsers = new List <SelectListItem>();
            List <User>           users         = db.Users.ToList();

            foreach (var user in users)
            {
                var item = new SelectListItem
                {
                    Value    = user.ID.ToString(),
                    Text     = user.UserName,
                    Selected = false
                };
                possibleUsers.Add(item);
            }

            var nextClientID = db.Clients.SqlQuery("SELECT TOP (1) * FROM [AlexTemplate].[dbo].[Client] order by id desc").SingleOrDefault();

            model.ClientID      = nextClientID.ID + 1;
            model.PossibleUsers = possibleUsers;

            return(View(model));
        }
        public ActionResult Create(CreateViewModelClientsManager model,
                                   IEnumerable <string> SelectedPossibleUsers)
        {
            if (ModelState.IsValid)
            {
                var nextClientID = db.Clients.SqlQuery("SELECT TOP (1) * FROM [AlexTemplate].[dbo].[Client] order by id desc").SingleOrDefault();
                model.ClientID = nextClientID.ID + 1;

                Client client = new Client();

                client.ClientNumber = model.ClientNumber;
                client.Name         = model.ClientName;
                client.Active       = model.Active;

                db.Clients.Add(client);
                db.SaveChanges();

                //Add users to clients
                if (SelectedPossibleUsers != null)
                {
                    var newClientID = db.Clients.SqlQuery("SELECT TOP (1) * FROM [AlexTemplate].[dbo].[Client] order by id desc").SingleOrDefault();

                    List <License> unassignedLicenses        = db.Licenses.Where(s => s.UserID == null).ToList();
                    int            unassignedLicensesCounter = 0;

                    foreach (var selectedPossibleUser in SelectedPossibleUsers)
                    {
                        if (unassignedLicenses.Count() <= 5)
                        {
                            NewLicenseMaker(5);
                            unassignedLicenses = db.Licenses.Where(s => s.UserID == null).ToList();
                        }

                        int selectedPossibleUserID = Convert.ToInt32(selectedPossibleUser);

                        var selectedPossibleUserLicense = db.Licenses
                                                          .Where(s => s.UserID == selectedPossibleUserID)
                                                          .FirstOrDefault();

                        int selectedPossibleUserRightsID;

                        if (selectedPossibleUserLicense != null)
                        {
                            selectedPossibleUserRightsID = selectedPossibleUserLicense.RightsID;
                        }

                        else
                        {
                            selectedPossibleUserRightsID = 4;
                        }

                        unassignedLicenses[unassignedLicensesCounter].ClientID = newClientID.ID;
                        unassignedLicenses[unassignedLicensesCounter].RightsID = selectedPossibleUserRightsID;
                        unassignedLicenses[unassignedLicensesCounter].UserID   = selectedPossibleUserID;
                        unassignedLicensesCounter++;
                        db.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }