public ActionResult CreateUserGroupData(UserGroupDetailModel model)
        {
            // Validate
            if (ModelState.IsValid)
            {
                List <SiteMap> siteMapList     = new List <SiteMap>();
                List <SiteMap> siteMapRoleList = new List <SiteMap>();
                SiteMap        list            = new SiteMap();
                UserRole       userRole        = null;
                using (var proxy = new UserProxy())
                {
                    if (proxy.CheckUserGroupExist(model.UserGroupName))
                    {
                        ModelState.AddModelError("User Group Name", Convert.ToString(Resources.Res.RES_Error_Unique));
                    }
                    else
                    {
                        using (var _proxy = new UserProxy())
                        {
                            if ((Utilities.MaxRoleType == RoleType.SystemAdmin) && (Utilities.MaxRoleType != 0))
                            {
                                if (Convert.ToInt32(model.RoleTypeId) == Convert.ToInt32(RoleType.SystemAdmin))
                                {
                                    siteMapList = _proxy.GetSiteMapByApplicationId(1);
                                }
                                if (Convert.ToInt32(model.RoleTypeId) == Convert.ToInt32(RoleType.UserAdmin))
                                {
                                    siteMapRoleList = _proxy.GetSiteMapByApplicationId(1);
                                    foreach (var UserAdminSitmap in siteMapRoleList)
                                    {
                                        if ((UserAdminSitmap.SiteMapTitle == Constants.Controllers.Users) || (UserAdminSitmap.SiteMapTitle == Constants.Controllers.Sitmap_Organization) || (UserAdminSitmap.SiteMapTitle == Constants.Controllers.UserAccount) ||
                                            (UserAdminSitmap.SiteMapTitle == Constants.Controllers.UserGroup))
                                        {
                                            list = _proxy.GetSiteMapBySiteMapById(UserAdminSitmap.SiteMapId);
                                            siteMapList.Add(list);
                                        }
                                    }
                                }
                                else if (Convert.ToInt32(model.RoleTypeId) == Convert.ToInt32(RoleType.NormalUser))
                                {
                                    siteMapRoleList = _proxy.GetSiteMapByApplicationId(1);
                                    foreach (var UserAdminSitmap in siteMapRoleList)
                                    {
                                        if ((UserAdminSitmap.SiteMapTitle == Constants.Controllers.Users) || (UserAdminSitmap.SiteMapTitle == Constants.Controllers.UserAccount))
                                        {
                                            list = _proxy.GetSiteMapBySiteMapById(UserAdminSitmap.SiteMapId);
                                            siteMapList.Add(list);
                                        }
                                    }
                                }

                                else if (Convert.ToInt32(model.RoleTypeId) == Convert.ToInt32(RoleType.RigUser))
                                {
                                    siteMapRoleList = _proxy.GetSiteMapByApplicationId(1);
                                    foreach (var UserAdminSitmap in siteMapRoleList)
                                    {
                                        if ((UserAdminSitmap.SiteMapTitle == Constants.Controllers.Users) || (UserAdminSitmap.SiteMapTitle == Constants.Controllers.UserAccount))
                                        {
                                            list = _proxy.GetSiteMapBySiteMapById(UserAdminSitmap.SiteMapId);
                                            siteMapList.Add(list);
                                        }
                                    }
                                }
                            }
                        }

                        User user = @Utilities.GetCurrentUserInfo();

                        userRole = new UserRole()
                        {
                            Description = Convert.ToString(model.Description),
                            RoleName    = Convert.ToString(model.UserGroupName),
                            RoleType    = model.RoleTypeId.Value,
                            IsADGroup   = false,
                            SiteMaps    = siteMapList,
                            CreatedBy   = Convert.ToString(user.UserName),
                            CreatedDate = DateTime.Now,
                            UpdatedBy   = null,
                            UpdatedDate = null,
                        };
                        proxy.CreateUserGroup(userRole, user);

                        model.ShowSuccessMessage   = true;
                        model.SuccessDirectionPath = string.Format("{0}/{1}", Constants.Controllers.User, Constants.Controllers.User_UserGroup);
                        model.SuccessMessage       = Convert.ToString(Resources.Res.RES_Success);
                    }
                }
            }
            return(View("CreateUserGroup", model));
        }