Esempio n. 1
0
        // GET: CCS/UsersManager/Create
        public ActionResult Create()
        {
            CreateViewModelUsersManager model = new CreateViewModelUsersManager();

            List <SelectListItem> currentClients = new List <SelectListItem>();
            List <Client>         clients        = db.Clients.ToList();

            foreach (var client in clients)
            {
                var item = new SelectListItem
                {
                    Value    = client.ID.ToString(),
                    Text     = client.Name,
                    Selected = false
                };
                currentClients.Add(item);
            }

            List <SelectListItem> rights   = new List <SelectListItem>();
            List <Right>          dbrights = db.Rights.ToList();

            foreach (var dbright in dbrights)
            {
                if (dbright.ID == 4)
                {
                    var item = new SelectListItem
                    {
                        Value    = dbright.ID.ToString(),
                        Text     = dbright.Right1,
                        Selected = true
                    };
                    rights.Add(item);
                }
                else
                {
                    var item = new SelectListItem
                    {
                        Value    = dbright.ID.ToString(),
                        Text     = dbright.Right1,
                        Selected = false
                    };
                    rights.Add(item);
                }
            }

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

            model.UserID  = nextUserID.ID + 1;
            model.Active  = true;
            model.Clients = currentClients;
            model.Rights  = rights;

            return(View(model));
        }
Esempio n. 2
0
        public async Task <ActionResult> Create(CreateViewModelUsersManager model,
                                                IEnumerable <string> SelectedClients)
        {
            if (ModelState.IsValid)
            {
                List <License> unassignedLicenses = db.Licenses.Where(s => s.UserID == null).ToList();

                //List of Clients to be added to user association
                if (model.SelectedClients != null)
                {
                    if (unassignedLicenses.Count() <= 5)
                    {
                        NewLicenseMaker(5);
                        unassignedLicenses = db.Licenses.Where(s => s.UserID == null).ToList();
                    }


                    int unassignedLicensesCounter = 0;

                    foreach (var selectedCurrentClient in model.SelectedClients)
                    {
                        unassignedLicenses[unassignedLicensesCounter].ClientID = Convert.ToInt32(selectedCurrentClient);
                        unassignedLicenses[unassignedLicensesCounter].RightsID = model.RightID.Value;
                        unassignedLicenses[unassignedLicensesCounter].UserID   = model.UserID;
                        unassignedLicensesCounter++;
                    }
                }

                User user = new User();

                user.UserName      = model.UserName;
                user.Password      = Hash("Chang3m3");
                user.Active        = true;
                user.MustChange    = false;
                user.Locked        = false;
                user.EnforcePolicy = 1;
                user.ChangeDate    = DateTime.Now;
                user.CreateDate    = DateTime.Now;
                user.Email         = model.Email;
                user.Secret        = model.Secret;
                user.Answer        = model.Answer;

                db.Users.Add(user);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View());
        }