private void BindModel()
 {
     CheckBoxListModel.DataSource     = SPARInsightManagement.Web.Code.Model.GetModelList();
     CheckBoxListModel.DataTextField  = "Description";
     CheckBoxListModel.DataValueField = "ModelId";
     CheckBoxListModel.DataBind();
 }
Example #2
0
        public IActionResult PromoteStoreAdmin(int systemId, string state, string message, string store, bool valid)
        {
            var options = new List <CheckBoxModel>
            {
                new CheckBoxModel {
                    Name = "Store Owner"
                },
                new CheckBoxModel {
                    Name = "Can Manage Products"
                },
                new CheckBoxModel {
                    Name = "Can Promote Store Admin"
                },
                new CheckBoxModel {
                    Name = "Can Manage Discounts"
                },
                new CheckBoxModel {
                    Name = "Can View Purchase History"
                }
            };

            ViewBag.valid = valid;
            CheckBoxListModel optionsModel = new CheckBoxListModel(systemId, state, message, store)
            {
                Items = options
            };

            return(View(optionsModel));
        }
        public IActionResult PromoteStoreAdmin(int systemId, string state, string message, string store, bool valid)
        {
            List <CheckBoxModel> lst = new List <CheckBoxModel>
            {
                new CheckBoxModel {
                    Name = "StoreOwner"
                },
                new CheckBoxModel {
                    Name = "ManageProducts"
                },
                new CheckBoxModel {
                    Name = "PromoteStoreAdmin"
                },
                new CheckBoxModel {
                    Name = "DeclareDiscountPolicy"
                },
                new CheckBoxModel {
                    Name = "ViewPurchaseHistory"
                }
            };

            ViewBag.valid = valid;
            CheckBoxListModel optionList = new CheckBoxListModel(systemId, state, message, store)
            {
                Items = lst
            };

            return(View(optionList));
        }
Example #4
0
        public ActionResult btnSubmit_Click([Bind(Include = "IsChecked,CheckBoxList1,RadioButtonList1")] CheckBoxListModel model)
        {
            if (ModelState.IsValid)
            {
                ShowNotify(String.Format("用户提交的数据:<br/><pre>{0}</pre>", JsonConvert.SerializeObject(model, Formatting.Indented)));
            }

            return(UIHelper.Result());
        }
Example #5
0
        public void TestPermissionsServices_Check_User_CityArea_Permissions()
        {
            var USAM1 = GetUserSessionModel("*****@*****.**");

            var model = new CheckBoxListModel();

            // check  business
            var list = permService.GetPermissonsForUser(USAM1, USAM1.UserId, PermissionTypeEnum.CityArea);

            Assert.IsTrue(list.Count() == CountPermUser(USAM1, PermissionTypeEnum.CityArea));
        }
Example #6
0
        public void TestPermissionsServices_Check_Business_Brand_Permissions()
        {
            var USAM1 = GetUserSessionModel("*****@*****.**");

            var model = new CheckBoxListModel();

            // check  business
            var list = permService.GetPermissonsForBusiness(USAM1, USAM1.BusinessId.Value, PermissionTypeEnum.Brand);

            Assert.IsTrue(list.Count() == CountPermBusiness(USAM1, PermissionTypeEnum.Brand));
        }
Example #7
0
        public void TestPermissionsServices_Check_User_SystemAccess_Permissions()
        {
            var USAM1 = GetUserSessionModel("*****@*****.**");

            var model = new CheckBoxListModel();

            // check  default
            var list = permService.GetPermissonsForUser(USAM1, (long)USAM1.UserId, PermissionTypeEnum.SystemAccess);

            Assert.IsTrue(list.Count() == CountSystemAccess(USAM1));

            // check  user
            list = permService.GetPermissonsForUser(USAM1, USAM1.UserId, PermissionTypeEnum.SystemAccess);
            Assert.IsTrue(list.Where(p => p.IsSelected).Count() == CountSystemAccessUser(USAM1));
        }
Example #8
0
        // GET: DataModel/CheckBoxList
        public ActionResult Index()
        {
            var model = new CheckBoxListModel();

            model.IsChecked          = true;
            model.CheckBoxList1      = new string[] { "Value1", "Value3" };
            model.CheckBoxList1Items = new List <CheckItem>
            {
                new CheckItem {
                    Text  = "可选项 1",
                    Value = "Value1"
                },
                new CheckItem {
                    Text  = "可选项 2",
                    Value = "Value2"
                },
                new CheckItem {
                    Text  = "可选项 3",
                    Value = "Value3"
                }
            };

            model.RadioButtonList1  = "Value1";
            model.RadioButton1Items = new List <RadioItem>
            {
                new RadioItem {
                    Text  = "可选项 1",
                    Value = "Value1"
                },
                new RadioItem {
                    Text  = "可选项 2",
                    Value = "Value2"
                },
                new RadioItem {
                    Text  = "可选项 3",
                    Value = "Value2"
                }
            };

            return(View(model));
        }
Example #9
0
        public void TestPermissionsServices_Check_Remove_Parent_Permissions_Reduces_Child_List()
        {
            var USAM1 = GetUserSessionModel("*****@*****.**");

            var model = new CheckBoxListModel();

            /// Business
            var busPerms = permService.GetPermissonsForBusiness(USAM1, USAM1.BusinessId.Value, PermissionTypeEnum.Tool);

            Assert.IsTrue(busPerms.Count() == CountPermBusiness(USAM1, PermissionTypeEnum.Tool));

            /// user
            var userPerms = permService.GetPermissonsForUser(USAM1, USAM1.UserId, PermissionTypeEnum.Tool);

            Assert.IsTrue(busPerms.Count() == CountPermUser(USAM1, PermissionTypeEnum.Tool));

            // Remove 1
            var perms = new List <PermissionListModel>();

            perms.AddRange(busPerms);
            perms.Remove(busPerms.Where(b => b.IsSelected).FirstOrDefault());
            db.PermissionsUpdate(EntityEnum.Tool, (long)PermissionTypeEnum.Tool, EntityEnum.Business, USAM1.BusinessId, perms, PermissionTypeEnum.Tool);
            db.SaveChanges();

            /// Business defaults
            var busPerms2 = permService.GetPermissonsForBusiness(USAM1, USAM1.BusinessId.Value, PermissionTypeEnum.Tool);

            Assert.IsTrue(busPerms2.Where(p => p.IsSelected).Count() == CountPermBusiness(USAM1, PermissionTypeEnum.Tool));

            /// user
            var userPerms2 = permService.GetPermissonsForUser(USAM1, USAM1.UserId, PermissionTypeEnum.Tool);

            Assert.IsTrue(userPerms2.Count() == CountPermUser(USAM1, PermissionTypeEnum.Tool));

            Assert.IsTrue(busPerms.Count() == busPerms2.Count);

            Assert.IsTrue(userPerms.Count - 1 == userPerms2.Count);
        }
Example #10
0
        public ServiceResponse PostModel(UserSessionModel admin, UserModel model)
        {
            this.Db.ReadOnly = false;

            try
            {
                User entity = null;

                // Validate Model
                RulesOnValidateModel(model);

                // Map to Entity
                if (this.Response.IsOK)
                {
                    entity = ModelToEntity(admin, model);
                }

                // Validate Entity
                if (this.Response.IsOK)
                {
                    ApplyBusinessRules(admin, entity);
                }

                // Do this last, painful for users if not last
                if (this.Response.IsOK)
                {
                    if (model.IsRegistering)
                    {
                        this.Response.PropertyReference = "";

                        Validation.IsText(this.Response.Messages, model.Password, "Password", "Password", 5, 50, true);

                        Validation.IsText(this.Response.Messages, model.ConfirmPassword, "ConfirmPassword", "Confirm Password", 50, true);

                        Validation.IsPasswordConfirmed(this.Response.Messages, model.Password, model.ConfirmPassword, "ConfirmPassword");
                    }
                }

                if (this.Response.IsOK)
                {
                    var dbSelection = this.Context.Permissions.Where(p => p.ObjectId == entity.UserId &&
                                                                     p.PermissionTypeId == PermissionTypeEnum.SystemAccess).Select(r => r).ToList();

                    base.SaveToDatabase(model, entity, string.Format("User '{0}'", Helpers.DisplayName(entity)));
                    model.UserId = entity.UserId;

                    var permissions = CheckBoxListModel.ToPermissionListModel(model.SystemAccesses);

                    this.Db.UpdatePermissionAudit(EntityEnum.UserType, entity, permissions,
                                                  PermissionTypeEnum.SystemAccess, admin, dbSelection);

                    // If registered successfully prevent message from being sent
                    // Reasom is that they remain in temp data and show up on sign in. 0000067: Sign In window acts funky
                    if (model.IsRegistering)
                    {
                        this.Response.Messages.Clear();
                    }
                }
            }
            catch (Exception e)
            {
                this.Response.AddError(e.Message);
                this.Response.Messages.AddAudit(e);
            }

            FinaliseModel(admin, model);

            this.Response.Model = model;

            return(this.Response);
        }
        public void ApplyBusinessRules(User entity, UserModel model, UserSessionModel admin)
        {
            Db.PermissionsUpdate(EntityEnum.Business, entity.BusinessId,
                                 EntityEnum.User, model.UserId,
                                 CheckBoxListModel.ToPermissionListModel(model.CityAreas),
                                 PermissionTypeEnum.CityArea);

            Db.PermissionsUpdate(EntityEnum.Business, entity.BusinessId,
                                 EntityEnum.User, model.UserId,
                                 CheckBoxListModel.ToPermissionListModel(model.Brands),
                                 PermissionTypeEnum.Brand);

            Db.PermissionsUpdate(EntityEnum.Business, entity.BusinessId,
                                 EntityEnum.User, model.UserId,
                                 CheckBoxListModel.ToPermissionListModel(model.ProductFamilies),
                                 PermissionTypeEnum.ProductFamily);

            Db.PermissionsUpdate(EntityEnum.Business, entity.BusinessId,
                                 EntityEnum.User, model.UserId,
                                 CheckBoxListModel.ToPermissionListModel(model.Tools),
                                 PermissionTypeEnum.Tool);

            permissions = CheckBoxListModel.ToPermissionListModel(model.SystemAccesses);

            // all users have this unset when being created
            if (IsSet(SystemAccessEnum.AdminAccessRights) && this.Db.Entry(entity).State == EntityState.Added)
            {
                UnSet(SystemAccessEnum.AdminAccessRights);
            }

            if (entity.IsGroupOwner.HasValue && entity.IsGroupOwner.Value)
            {
                CreateOrSet(SystemAccessEnum.ManageGroups);
            }


            if (IsSet(SystemAccessEnum.EditUser))
            {
                CreateOrSet(SystemAccessEnum.ViewUsers);
            }

            if (IsSet(SystemAccessEnum.UndeleteUser))
            {
                CreateOrSet(SystemAccessEnum.ViewUsers);
            }


            if (IsSet(SystemAccessEnum.EditBusiness))
            {
                CreateOrSet(SystemAccessEnum.ViewBusiness);
            }

            if (IsSet(SystemAccessEnum.UndeleteBusiness))
            {
                CreateOrSet(SystemAccessEnum.ViewBusiness);
            }


            if (IsSet(SystemAccessEnum.EditProject))
            {
                CreateOrSet(SystemAccessEnum.ViewProject);
            }

            if (IsSet(SystemAccessEnum.UndeleteProject))
            {
                CreateOrSet(SystemAccessEnum.ViewProject);
            }

            //if (IsSet(SystemAccessEnum.ShareProject)) CreateOrSet(SystemAccessEnum.ViewProject);

            if (IsSet(SystemAccessEnum.TransferProject))
            {
                CreateOrSet(SystemAccessEnum.ViewProject);
            }

            Db.PermissionsUpdate(EntityEnum.UserType, (long)entity.UserTypeId,
                                 EntityEnum.User, model.UserId, permissions,
                                 PermissionTypeEnum.SystemAccess);
        }
Example #12
0
        public Business ModelToEntity(UserSessionModel admin, BusinessModel model, bool businessEdit)
        {
            var entity = GetEntity(admin, model);

            if (this.Response.HasError)
            {
                return(null);
            }

            entity.BusinessName = Utilities.Trim(model.BusinessName);

            entity.AccountId = Utilities.Trim(model.AccountId);

            if (model.BusinessTypeId != null)
            {
                entity.BusinessTypeId = (BusinessTypeEnum)model.BusinessTypeId;
            }

            if (businessEdit)
            {
                if (this.Context.Entry(entity).State == EntityState.Added)
                {
                    if (entity.IsWebServiceImport)
                    {
                        model.Enabled = true;
                    }
                }

                entity.ShowPricing = model.ShowPricing;

                entity.Enabled = model.Enabled;

                Db.PermissionsUpdate(EntityEnum.CityArea, (long)PermissionTypeEnum.CityArea, EntityEnum.Business, model.BusinessId, CheckBoxListModel.ToPermissionListModel(model.CityAreas), PermissionTypeEnum.CityArea);
                Db.PermissionsUpdate(EntityEnum.Brand, (long)PermissionTypeEnum.Brand, EntityEnum.Business, model.BusinessId, CheckBoxListModel.ToPermissionListModel(model.Brands), PermissionTypeEnum.Brand);
                Db.PermissionsUpdate(EntityEnum.ProductFamily, (long)PermissionTypeEnum.ProductFamily, EntityEnum.Business, model.BusinessId, CheckBoxListModel.ToPermissionListModel(model.ProductFamilies), PermissionTypeEnum.ProductFamily);
                Db.PermissionsUpdate(EntityEnum.Tool, (long)PermissionTypeEnum.Tool, EntityEnum.Business, model.BusinessId, CheckBoxListModel.ToPermissionListModel(model.Tools), PermissionTypeEnum.Tool);

                contactService.BeginPropertyReference(this, "Contact");
                entity.Contact = contactService.ModelToEntity(model.Contact);
                contactService.EndPropertyReference();

                if (model.ParentBusinessId != 0 && model.ParentBusinessId != null)
                {
                    UpdateParentBusiness(model);
                }
            }

            addressService.BeginPropertyReference(this, "Address");
            entity.Address = addressService.ModelToEntity(model.Address);
            addressService.EndPropertyReference();

            return(entity);
        }
Example #13
0
        public CheckBoxListModel CheckBoxListModelUserPermissions(UserSessionModel admin, long businessId, UserTypeEnum?userTypeId, CheckBoxListModel model, PermissionTypeEnum type, bool isEditing = false)
        {
            var permissionService = new PermissionServices(this.Context);

            // Return default permissions with selected items
            var permissions = permissionService.GetPermissonsForUserType(admin, businessId, userTypeId, type, isEditing);

            var result = GetCheckBoxListModel(admin, permissions, model);

            result.EntityReferenceId = GetEntityReferenceByPermissionType(type);

            return(result);
        }
Example #14
0
        private CheckBoxListModel GetCheckBoxListModel(UserSessionModel admin, List <PermissionListModel> permissions, CheckBoxListModel model)
        {
            model = model ?? new CheckBoxListModel();

            model.List = permissions.Select(p => new CheckBoxModel {
                Id = p.ReferenceId.ToString(), Name = p.Description
            }).ToList();

            // If a post back no need to look on DB
            if (model.PostedIds != null)
            {
                model.Selected = model.List.Where(l => model.PostedIds.Contains(l.Id)).ToList();
            }
            else
            {
                model.Selected = permissions.Where(p => p.IsSelected).Select(p => new CheckBoxModel {
                    Id = p.ReferenceId.ToString(), Name = p.Description
                }).ToList();
            }

            model.PostedIds = (model == null) ? null : model.PostedIds;

            return(model);
        }