// 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)); }