private static void UpdateRoles(DataSourceContext context, JToken data, JObject schema, UserInfo user)
 {
     if (HasProperty(schema, "", "Roles"))
     {
         List <string> rolesToRemove = new List <string>(user.Roles);
         var           roles         = data["Roles"] as JArray;
         foreach (var role in roles)
         {
             string roleName = role.ToString();
             rolesToRemove.Remove(roleName);
             if (!user.Roles.Contains(roleName))
             {
                 var roleInfo = RoleController.Instance.GetRoleByName(context.PortalId, roleName);
                 RoleController.AddUserRole(user, roleInfo, PortalSettings.Current, RoleStatus.Approved, Null.NullDate, Null.NullDate, false, false);
             }
         }
         foreach (var roleName in rolesToRemove)
         {
             if (roleName != REGISTERED_USERS)
             {
                 var roleInfo = RoleController.Instance.GetRoleByName(context.PortalId, roleName);
                 RoleController.DeleteUserRole(user, roleInfo, PortalSettings.Current, false);
             }
         }
     }
 }
예제 #2
0
        private UserCreateStatus CreateDNNUser(UserInfo user)
        {
            user.Membership.Password = UserController.GeneratePassword(12).ToString();
            user.PortalID            = PortalId;
            user.IsSuperUser         = false;

            UserCreateStatus createStatus = UserCreateStatus.AddUser;

            //Create the User
            createStatus = UserController.CreateUser(ref user);

            if (createStatus == UserCreateStatus.Success)
            {
                RoleController objRoles = new RoleController();

                List <int> rolesList = new List <int>();

                foreach (int roleID in rolesList)
                {
                    objRoles.AddUserRole(user.PortalID, user.UserID, roleID, Null.NullDate, Null.NullDate);
                }
            }

            return(createStatus);
        }
예제 #3
0
        public void RemoveUserFromRoles(Int32 portalID, OrderInfo order)
        {
            int userID = order.CustomerID;

            RoleController         roleController = new RoleController();
            List <OrderDetailInfo> orderDetails   = GetOrderDetails(order.OrderID);

            foreach (OrderDetailInfo detail in orderDetails)
            {
                int roleID = detail.RoleID;
                if (roleID != Null.NullInteger)
                {
                    DateTime     today    = DateTime.Now;
                    UserRoleInfo userRole = roleController.GetUserRole(portalID, userID, roleID);
                    if (userRole != null)
                    {
                        DateTime roleExpiryDate = userRole.ExpiryDate;
                        // If remaining days exist
                        if (roleExpiryDate != Null.NullDate && roleExpiryDate > today)
                        {
                            RoleInfo role       = roleController.GetRoleById(portalID, roleID);
                            DateTime expiryDate = Null.NullDate;
                            // If a billing period is defined
                            if (role.BillingPeriod != Null.NullInteger)
                            {
                                switch (role.BillingFrequency)
                                {
                                case "D":
                                    expiryDate = roleExpiryDate.AddDays(-(role.BillingPeriod * detail.Quantity));
                                    break;

                                case "M":
                                    expiryDate = roleExpiryDate.AddMonths(-(role.BillingPeriod * detail.Quantity));
                                    break;

                                case "W":
                                    expiryDate = roleExpiryDate.AddDays(-(role.BillingPeriod * 7 * detail.Quantity));
                                    break;

                                case "Y":
                                    expiryDate = roleExpiryDate.AddYears(-(role.BillingPeriod * detail.Quantity));
                                    break;

                                default:
                                    // If 'None' or 'One Time Fee' is defined,
                                    // then the role never expire!
                                    break;
                                }
                            }
                            // If an expiry date is defined
                            if (expiryDate != Null.NullDate)
                            {
                                roleController.AddUserRole(portalID, userID, roleID, userRole.EffectiveDate, expiryDate);
                            }
                        }
                    }
                }
            }
        }
예제 #4
0
        public void AddPortalToGroup(PortalInfo portal, PortalGroupInfo portalGroup, UserCopiedCallback callback)
        {
            Requires.NotNull("portal", portal);
            Requires.PropertyNotNegative("portal", "PortalId", portal.PortalID);
            Requires.NotNull("portalGroup", portalGroup);
            Requires.PropertyNotNegative("portalGroup", "PortalGroupId", portalGroup.PortalGroupId);
            Requires.PropertyNotNegative("portalGroup", "MasterPortalId", portalGroup.MasterPortalId);

            OnAddPortalToGroupStart(callback, portal);

            var users       = UserController.GetUsers(portal.PortalID);
            var masterUsers = UserController.GetUsers(portalGroup.MasterPortalId);
            var totalUsers  = users.Count + masterUsers.Count;
            var userNo      = 0;

            if (users.Count > 0)
            {
                var masterPortal = _portalController.GetPortal(portalGroup.MasterPortalId);

                foreach (UserInfo user in users)
                {
                    userNo += 1;

                    //move user to master portal
                    UserController.CopyUserToPortal(user, masterPortal, true, true);

                    OnUserAddedToSiteGroup(callback, portal, user, totalUsers, userNo);
                }
            }

            if (masterUsers.Count > 0)
            {
                var autoAssignRoles = TestableRoleController.Instance.GetRoles(portal.PortalID,
                                                                               role =>
                                                                               role.AutoAssignment &&
                                                                               role.Status == RoleStatus.Approved);
                foreach (UserInfo user in masterUsers)
                {
                    userNo += 1;
                    foreach (var autoAssignRole in autoAssignRoles)
                    {
                        var roleController = new RoleController();
                        roleController.AddUserRole(portalGroup.MasterPortalId, user.UserID, autoAssignRole.RoleID,
                                                   Null.NullDate, Null.NullDate);
                    }
                    OnUserAddedToSiteGroup(callback, portal, user, totalUsers, userNo);
                }
            }

            OnAddPortalToGroupFinishing(callback, portal, users.Count);

            RemoveProfileDefinitions(portal);

            //Add portal to group
            portal.PortalGroupID = portalGroup.PortalGroupId;
            _portalController.UpdatePortalInfo(portal);

            OnAddPortalToGroupFinished(callback, portal, portalGroup, users.Count);
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// cmdAdd_Click runs when the Update Button is clicked
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        ///     [cnurse]	9/10/2004	Updated to reflect design changes for Help, 508 support
        ///                       and localisation
        /// </history>
        /// -----------------------------------------------------------------------------
        private void cmdAdd_Click(Object sender, EventArgs e)
        {
            if (PortalSecurity.IsInRole(PortalSettings.AdministratorRoleName) == false)
            {
                return;
            }
            try
            {
                if (Page.IsValid)
                {
                    if ((Role != null) && (User != null))
                    {
                        //do not modify the portal Administrator account dates
                        if (User.UserID == PortalSettings.AdministratorId && Role.RoleID == PortalSettings.AdministratorRoleId)
                        {
                            effectiveDatePicker.SelectedDate = null;
                            expiryDatePicker.SelectedDate    = null;
                        }

                        DateTime datEffectiveDate;
                        if (effectiveDatePicker.SelectedDate != null)
                        {
                            datEffectiveDate = effectiveDatePicker.SelectedDate.Value;
                        }
                        else
                        {
                            datEffectiveDate = Null.NullDate;
                        }

                        DateTime datExpiryDate;
                        if (expiryDatePicker.SelectedDate != null)
                        {
                            datExpiryDate = expiryDatePicker.SelectedDate.Value;
                        }
                        else
                        {
                            datExpiryDate = Null.NullDate;
                        }

                        //Add User to Role
                        var isOwner = false;

                        if (((Role.SecurityMode == SecurityMode.SocialGroup) || (Role.SecurityMode == SecurityMode.Both)))
                        {
                            isOwner = chkIsOwner.Checked;
                        }

                        RoleController.AddUserRole(User, Role, PortalSettings, RoleStatus.Approved, datEffectiveDate, datExpiryDate, chkNotify.Checked, isOwner);
                        chkIsOwner.Checked = false; //reset the checkbox
                    }
                }
                BindGrid();
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
예제 #6
0
        protected void cmdNewUser_Click(object sender, EventArgs e)
        {
            if (lblUserNameConfirm.Text.ToLower() == txtUserName2Repeat.Text.ToLower())
            {
                _userName = txtUserName2Repeat.Text;
                UserInfo user = new UserInfo();
                user.Username            = _userName;
                user.FirstName           = "";
                user.LastName            = "";
                user.PortalID            = PortalId;
                user.Email               = _userName;
                user.DisplayName         = _userName;
                user.Membership.Password = UserController.GeneratePassword(10);
                user.IsSuperUser         = false;

                user.Profile.PreferredLocale = PortalSettings.DefaultLanguage;
                user.Profile.TimeZone        = PortalSettings.TimeZoneOffset;
                user.Profile.FirstName       = user.FirstName;
                user.Profile.LastName        = user.LastName;

                UserCreateStatus status = MembershipProvider.Instance().CreateUser(ref user);

                if (status == UserCreateStatus.Success)
                {
                    // Add User to Standard Roles
                    RoleController roleController = new RoleController();
                    RoleInfo       role           = new RoleInfo();

                    ArrayList roles = roleController.GetPortalRoles(PortalId);
                    for (int i = 0; i < roles.Count - 1; i++)
                    {
                        role = (RoleInfo)roles[i];
                        if (role.AutoAssignment == true)
                        {
                            roleController.AddUserRole(PortalId, user.UserID, role.RoleID, Null.NullDate, Null.NullDate);
                        }
                    }
                    // Log new user in and create a new customer +  add him to cart
                    UserController.UserLogin(PortalId, user, PortalSettings.PortalName, Request.UserHostAddress, false);
                    int customerId = Controller.NewCustomer(new CustomerInfo(user.UserID, PortalId, _userName));
                    Controller.UpdateCartCustomerId(this.MainControl.CartId, customerId);
                    Mail.SendMail(user, MessageType.UserRegistrationVerified, PortalSettings);
                    Response.Redirect(Request.QueryString["returnUrl"]);
                }
            }
            else
            {
                divMessages.Attributes.Add("class", "dnnFormMessage dnnFormWarning");
                string loginUrl = Globals.NavigateURL(TabId, "", "ctl=Login");
                lblIntro.Text          = String.Format(Localization.GetString("DifferentUserNames.Text", this.LocalResourceFile));
                txtUserName.Text       = "";
                pnlUser.Visible        = true;
                pnlCheckUser.Visible   = true;
                pnlPassword.Visible    = false;
                pnlConfirmUser.Visible = false;
            }
        }
        private string UpdateRoles(UserInfo objUser, DataRow dr)
        {
            RoleController objRoleController = new RoleController();
            bool           ByID  = false;
            string         Roles = "";

            switch (rblImportRoles.SelectedValue)
            {
            case "0":
                return("");

            case "1":
                ByID  = true;
                Roles = (string)dr["RoleIDs"];
                break;

            case "2":
                Roles = (string)dr["Roles"];
                break;
            }

            StringBuilder sb = new StringBuilder();

            foreach (string Role in Roles.Split(new char[] { ',' }))
            {
                if (Role.Trim() == "")
                {
                    continue;
                }

                RoleInfo objRole = null;
                if (ByID)
                {
                    int RoleID = -1;
                    if (Int32.TryParse(Role, out RoleID))
                    {
                        objRole = objRoleController.GetRole(RoleID, this.PortalId);
                    }
                }
                else
                {
                    objRole = objRoleController.GetRoleByName(this.PortalId, Role);
                }

                if (objRole != null)
                {
                    objRoleController.AddUserRole(this.PortalId, objUser.UserID, objRole.RoleID, Null.NullDate);
                }
                else
                {
                    sb.AppendFormat(
                        ByID ? Localization.GetString("RoleIDNotFound", this.LocalResourceFile) : Localization.GetString("RoleNameNotFound", this.LocalResourceFile),
                        Role);
                }
            }
            return(sb.ToString());
        }
예제 #8
0
        public ActionResult AdminPanel()
        {
            bool   mustRedirect = false;
            string newUrl       = string.Empty;

            if (PortalSettings.EnablePopUps)
            {
                if (Request.QueryString["popUp"] == null || Request.QueryString["popUp"] != "true" || Request.Url.Query.IndexOf("popUp") == -1)
                {
                    mustRedirect = true;
                    newUrl       = ModuleContext.EditUrl("popUp", "true", "AdminPanel", "controller", "AdminPanel", "action", "AdminPanel");
                }
            }
            else
            {
                if (Request.QueryString["SkinSrc"] == null)
                {
                    mustRedirect = true;
                    newUrl       = ModuleContext.EditUrl("", "", "AdminPanel", "controller", "AdminPanel", "action", "AdminPanel", "SkinSrc=[G]Skins%2f_default%2fNo+Skin&ContainerSrc=[G]Containers%2f_default%2fNo+Container");
                }
            }

            if (!User.IsInRole("MyDnnSupportAgent"))
            {
                //add agent role to current user
                var role = RoleController.Instance.GetRoleByName(PortalSettings.PortalId, "MyDnnSupportAgent");
                RoleController.AddUserRole(User, role, PortalSettings, DotNetNuke.Security.Roles.RoleStatus.Approved, Null.NullDate, Null.NullDate, true, false);
            }

            var model = new ModuleConfigStatusViewModel();

            model.VisitorsOnlineEnabled = bool.Parse(PortalController.GetPortalSetting("MyDnnVisitorsOnlineEnabled", PortalSettings.PortalId, "false"));;
            model.LiveChatEnabled       = bool.Parse(PortalController.GetPortalSetting("MyDnnLiveChatEnabled", PortalSettings.PortalId, "false"));;

            var moduleID = int.Parse(PortalController.GetPortalSetting("MyDnnLiveChatModuleID", PortalSettings.PortalId, "-1"));

            if (moduleID != -1)
            {
                var objModuleInfo = new ModuleController().GetModule(moduleID);
                var Settings      = objModuleInfo.ModuleSettings;

                model.ModuleID             = objModuleInfo.ModuleID;
                model.TabID                = objModuleInfo.TabID;
                model.BasicSettingsUpdated = Settings["UpdateBasicSettings"] != null?bool.Parse(Settings["UpdateBasicSettings"].ToString()) : false;

                model.WidgetSettingsUpdated = Settings["UpdateWidgetSettings"] != null?bool.Parse(Settings["UpdateWidgetSettings"].ToString()) : false;;
            }

            if (mustRedirect)
            {
                return(Redirect(newUrl));
            }
            else
            {
                return(View(model));
            }
        }
        public HttpResponseMessage JoinGroup(RoleDTO postData)
        {
            try
            {
                if (UserInfo.UserID >= 0 && postData.RoleId > 0)
                {
                    var roleController = new RoleController();
                    _roleInfo = roleController.GetRole(postData.RoleId, PortalSettings.PortalId);
                    if (_roleInfo != null)
                    {
                        var requireApproval = false;

                        if (_roleInfo.Settings.ContainsKey("ReviewMembers"))
                        {
                            requireApproval = Convert.ToBoolean(_roleInfo.Settings["ReviewMembers"]);
                        }


                        if ((_roleInfo.IsPublic || UserInfo.IsInRole(PortalSettings.AdministratorRoleName)) && !requireApproval)
                        {
                            roleController.AddUserRole(PortalSettings.PortalId, UserInfo.UserID, _roleInfo.RoleID, Null.NullDate);
                            roleController.UpdateRole(_roleInfo);

                            var url = Globals.NavigateURL(postData.GroupViewTabId, "", new[] { "groupid=" + _roleInfo.RoleID });
                            return(Request.CreateResponse(HttpStatusCode.OK, new { Result = "success", URL = url }));
                        }
                        if (_roleInfo.IsPublic && requireApproval)
                        {
                            roleController.AddUserRole(PortalSettings.PortalId, UserInfo.UserID, _roleInfo.RoleID, RoleStatus.Pending, false, Null.NullDate, Null.NullDate);
                            var notifications = new Notifications();
                            notifications.AddGroupOwnerNotification(Constants.MemberPendingNotification, _tabId, _moduleId, _roleInfo, UserInfo);
                            return(Request.CreateResponse(HttpStatusCode.OK, new { Result = "success", URL = string.Empty }));
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                Logger.Error(exc);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc));
            }

            return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Unknown Error"));
        }
        private void AssignToGuestRole(CustomerAccount n)
        {
            try
            {
                var roleCtl  = new RoleController();
                var portalId = PortalSettings.Current.PortalId;
                var ui       = UserController.GetUserById(portalId, Convert.ToInt32(n.Bvin));

                var gRole = roleCtl.GetRoleByName(portalId, GUEST_ROLENAME);

                if (gRole == null)
                {
                    gRole = new RoleInfo();

                    gRole.PortalID = portalId;
                    gRole.RoleName = GUEST_ROLENAME;
                    gRole.IsPublic = false;

                    //Null.NullInteger is giving error in Evoq. Needs to be -1
                    gRole.RoleGroupID = -1; //Null.NullInteger; Default value as per DNN EditRole.ascx.cs BindGroups()
                    gRole.Status      = RoleStatus.Approved;

                    //Need Auto assignment (Not Null in DNN Role table)
                    gRole.AutoAssignment = false;

                    //Need Security Mode (Not Null in DNN Role table)
                    gRole.SecurityMode = SecurityMode.SecurityRole;

                    //Need IsSystemRole (Not Null in DNN Role table)
                    gRole.IsSystemRole = false;

                    //Even if this property are Nullable in DNN Role Table , DNN Store Procedure: AddRole() expects them as non nullable.
                    // Set them with default values. Reference DNN: EditRoles.ascx.cs (Line 382: OnUpdateClick())
                    gRole.Description      = string.Empty;
                    gRole.ServiceFee       = 0;   //Required value 0 if BillingFrequency is 'N'
                    gRole.BillingPeriod    = -1;
                    gRole.BillingFrequency = "N"; //Default in EditRole.ascx.cs

                    gRole.TrialPeriod    = -1;
                    gRole.TrialFrequency = "N"; //Default in EditRole.ascx.cs
                    gRole.TrialFee       = 0;

                    gRole.IconFile = string.Empty;
                    gRole.RSVPCode = string.Empty;

                    gRole.RoleID = roleCtl.AddRole(gRole);
                }

                roleCtl.AddUserRole(portalId, ui.UserID, gRole.RoleID, Null.NullDate, Null.NullDate);
            }
            catch (Exception ex)
            {
                LogError(ex);
                EventLog.LogEvent(ex);
            }
        }
예제 #11
0
 /// <summary>
 /// Adds information to the current user. Add the user the following roles: Registered Users and NexsoUser
 /// </summary>
 /// <param name="user"></param>
 /// <returns></returns>
 private int SaveProfile(UserProperty user)
 {
     try
     {
         user.FirstName  = ValidateSecurity.ValidateString(txtFirstName.Text, false);
         user.LastName   = ValidateSecurity.ValidateString(txtLastName.Text, false);
         user.Address    = CountryStateCityEditMode.SelectedAddress;
         user.City       = CountryStateCityEditMode.SelectedCity;
         user.Region     = CountryStateCityEditMode.SelectedState;
         user.Country    = CountryStateCityEditMode.SelectedCountry;
         user.PostalCode = CountryStateCityEditMode.SelectedPostalCode;
         user.Longitude  = CountryStateCityEditMode.SelectedLongitude;
         user.Latitude   = CountryStateCityEditMode.SelectedLatitude;
         user.email      = ValidateSecurity.ValidateString(txtEmail.Text, false);
         //user.Telephone = txtPhone.Text;
         //user.SkypeName = txtSkype.Text;
         //user.Twitter = txtTwitter.Text;
         //user.FaceBook = txtFacebook.Text;
         //user.Google = txtGoogle.Text;
         //user.LinkedIn = txtLinkedIn.Text;
         user.Agreement = "A001";
         //user.CustomerType = Convert.ToInt32(ddWhoareYou.SelectedValue);
         //user.NexsoEnrolment = Convert.ToInt32(ddSource.SelectedValue);
         //user.Language = Convert.ToInt32(ddLanguage.SelectedValue);
         //user.AllowNexsoNotifications = Convert.ToInt32(chkNotifications.Checked);
         if (currentUser != null)
         {
             UserInfo myDnnUser = currentUser;
             if (!myDnnUser.IsInRole("Registered Users"))
             {
                 var      oDnnRoleController = new RoleController();
                 RoleInfo oCurrentRole       = oDnnRoleController.GetRoleByName(this.PortalId, "Registered Users");
                 oDnnRoleController.AddUserRole(this.PortalId, myDnnUser.UserID, oCurrentRole.RoleID,
                                                System.DateTime.Now.AddDays(-1),
                                                DotNetNuke.Common.Utilities.Null.NullDate);
             }
             if (!myDnnUser.IsInRole("NexsoUser"))
             {
                 var      oDnnRoleController = new RoleController();
                 RoleInfo oCurrentRole       = oDnnRoleController.GetRoleByName(this.PortalId, "NexsoUser");
                 oDnnRoleController.AddUserRole(this.PortalId, myDnnUser.UserID, oCurrentRole.RoleID,
                                                System.DateTime.Now.AddDays(-1),
                                                DotNetNuke.Common.Utilities.Null.NullDate);
             }
         }
     }
     catch (Exception exc)
     //Module failed to load
     {
         Exceptions.
         ProcessModuleLoadException(
             this, exc);
     }
     return(0);
 }
예제 #12
0
        private void GivenThereIsAUserWithThisRole(string userName, string password, string roleName)
        {
            var reset       = false;
            var isSuperUser = roleName == "Super User";
            var portalId    = PortalId;
            var user        = UserController.GetUserByName(PortalId, userName);

            if (user == null)
            {
                user = new UserInfo
                {
                    PortalID    = PortalId,
                    Username    = userName,
                    IsSuperUser = isSuperUser,
                    Email       = string.Format("{0}@dnn.com", userName),
                    FirstName   = string.Format("{0} FN", userName),
                    LastName    = string.Format("{0} LN", userName),
                    DisplayName = string.Format("{0} DN", userName),
                    Membership  = { Password = password }
                };
                var res = UserController.CreateUser(ref user);
                reset = true;
            }
            else if (user.IsDeleted)
            {
                UserController.RestoreUser(ref user);
                reset = true;
            }
            user.Membership.Password = password;
            if (!isSuperUser)
            {
                var roles = user.Roles.Where(r => r == roleName);
                if (!roles.Any())
                {
                    var roleController = new RoleController();
                    var role           = roleController.GetRoleByName(PortalId, roleName);
                    if (role == null)
                    {
                        role = new RoleInfo {
                            RoleName = roleName, PortalID = PortalId, RoleGroupID = -1
                        };
                        role.RoleID = roleController.AddRole(role);
                    }
                    RoleController.AddUserRole(user, role, PortalSettings.Current, RoleStatus.Approved, DateTime.Now, Null.NullDate, false, false);
                    reset = true;
                }
            }

            User = user;
            if (reset)
            {
                Config.Touch();
            }
        }
예제 #13
0
 public void AddUserToPaidOrderRole(Int32 portalID, int userID, int roleID)
 {
     if (userID != Null.NullInteger && roleID != Null.NullInteger)
     {
         RoleController roleController = new RoleController();
         RoleInfo       role           = roleController.GetRoleById(portalID, roleID);
         if (role != null)
         {
             roleController.AddUserRole(portalID, userID, roleID, DateTime.Now, Null.NullDate);
         }
     }
 }
예제 #14
0
        protected void btnSaveUserPermissions_Click(object sender, EventArgs e)
        {
            AdminController aCont      = new AdminController();
            int             thisUserId = -1;

            if (ddlUsers.SelectedIndex > 0)
            {
                //save roles
                RoleController   rCont = new RoleController();
                IList <RoleInfo> roles = rCont.GetRoles(PortalId);
                thisUserId = Convert.ToInt32(ddlUsers.SelectedValue);
                UserInfo thisUser = UserController.GetUserById(PortalId, thisUserId);
                foreach (ListItem li in lbxUserRoles.Items)
                {
                    RoleInfo rInfo = rCont.GetRoleByName(PortalId, li.Text);
                    if (rInfo != null)
                    {
                        if (li.Selected)
                        {
                            rCont.AddUserRole(PortalId, thisUserId, rInfo.RoleID, DateTime.MinValue, DateTime.MaxValue);
                        }
                        else
                        {
                            rCont.DeleteUserRole(PortalId, thisUserId, rInfo.RoleID);
                        }
                    }
                }
                //save agencies
                //first delete all agencies for this user
                aCont.Delete_UserInAgencies(thisUserId);
                //now add them back in
                foreach (ListItem li in lbxUserAgencies.Items)
                {
                    if (li.Selected)
                    {
                        aCont.Add_UserInAgency(thisUserId, Convert.ToInt32(li.Value));
                    }
                }
                //save advertisers
                //first, delete all advertisers for this user
                aCont.Delete_UserInAdvertisers(thisUserId);
                //now add them back in
                foreach (ListItem li in lbxUserAdvertisers.Items)
                {
                    if (li.Selected)
                    {
                        aCont.Add_UserInAdvertiser(thisUserId, Convert.ToInt32(li.Value));
                    }
                }
                lblUserMessage.Text = "Permissions updated for this user.";
            }
        }
예제 #15
0
        public UserRoleDto SaveUserRole(int portalId, UserInfo currentUserInfo, UserRoleDto userRoleDto, bool notifyUser,
                                        bool isOwner)
        {
            PortalSettings portalSettings = this.PortalSettings;

            if (this.PortalSettings.PortalId != portalId)
            {
                portalSettings = this.GetPortalSettings(portalId);
            }

            if (!UserRoleDto.AllowExpiredRole(portalSettings, userRoleDto.UserId, userRoleDto.RoleId))
            {
                userRoleDto.StartTime = userRoleDto.ExpiresTime = Null.NullDate;
            }

            var user = UserController.Instance.GetUserById(portalId, userRoleDto.UserId);
            var role = RoleController.Instance.GetRoleById(portalId, userRoleDto.RoleId);

            if (role == null || role.Status != RoleStatus.Approved)
            {
                throw new Exception(Localization.GetString("RoleIsNotApproved", Constants.LocalResourcesFile));
            }

            if (currentUserInfo.IsSuperUser || currentUserInfo.Roles.Contains(portalSettings.AdministratorRoleName) ||
                (!currentUserInfo.IsSuperUser && !currentUserInfo.Roles.Contains(portalSettings.AdministratorRoleName) &&
                 role.RoleType != RoleType.Administrator))
            {
                if (role.SecurityMode != SecurityMode.SocialGroup && role.SecurityMode != SecurityMode.Both)
                {
                    isOwner = false;
                }

                RoleController.AddUserRole(user, role, portalSettings, RoleStatus.Approved, userRoleDto.StartTime,
                                           userRoleDto.ExpiresTime, notifyUser, isOwner);
                var addedRole = RoleController.Instance.GetUserRole(portalId, userRoleDto.UserId, userRoleDto.RoleId);

                return(new UserRoleDto
                {
                    UserId = addedRole.UserID,
                    RoleId = addedRole.RoleID,
                    DisplayName = addedRole.FullName,
                    RoleName = addedRole.RoleName,
                    StartTime = addedRole.EffectiveDate,
                    ExpiresTime = addedRole.ExpiryDate,
                    AllowExpired = UserRoleDto.AllowExpiredRole(portalSettings, user.UserID, role.RoleID),
                    AllowDelete = RoleController.CanRemoveUserFromRole(portalSettings, user.UserID, role.RoleID)
                });
            }
            throw new Exception(Localization.GetString("InSufficientPermissions", Constants.LocalResourcesFile));
        }
예제 #16
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// cmdAdd_Click runs when the Update Button is clicked
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        ///     [cnurse]	9/10/2004	Updated to reflect design changes for Help, 508 support
        ///                       and localisation
        /// </history>
        /// -----------------------------------------------------------------------------
        private void cmdAdd_Click(Object sender, EventArgs e)
        {
            if (PortalSecurity.IsInRole(PortalSettings.AdministratorRoleName) == false)
            {
                return;
            }
            try
            {
                if (Page.IsValid)
                {
                    if ((Role != null) && (User != null))
                    {
                        //do not modify the portal Administrator account dates
                        if (User.UserID == PortalSettings.AdministratorId && Role.RoleID == PortalSettings.AdministratorRoleId)
                        {
                            effectiveDatePicker.SelectedDate = null;
                            expiryDatePicker.SelectedDate    = null;
                        }

                        DateTime datEffectiveDate;
                        if (effectiveDatePicker.SelectedDate != null)
                        {
                            datEffectiveDate = effectiveDatePicker.SelectedDate.Value;
                        }
                        else
                        {
                            datEffectiveDate = Null.NullDate;
                        }

                        DateTime datExpiryDate;
                        if (expiryDatePicker.SelectedDate != null)
                        {
                            datExpiryDate = expiryDatePicker.SelectedDate.Value;
                        }
                        else
                        {
                            datExpiryDate = Null.NullDate;
                        }

                        //Add User to Role
                        RoleController.AddUserRole(User, Role, PortalSettings, datEffectiveDate, datExpiryDate, UserId, chkNotify.Checked);
                    }
                }
                BindGrid();
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
예제 #17
0
        public bool addRoleToUser(UserInfo user, string roleName, DateTime expiry)
        {
            var      rc      = false;
            var      roleCtl = new RoleController();
            RoleInfo newRole = roleCtl.GetRoleByName(user.PortalID, roleName);

            if (newRole != null && user != null)
            {
                rc = user.IsInRole(roleName);
                roleCtl.AddUserRole(user.PortalID, user.UserID, newRole.RoleID, DateTime.MinValue, expiry);
                // Refresh user and check if role was added
                user = DotNetNuke.Entities.Users.UserController.GetUserById(user.PortalID, user.UserID);
                rc   = user.IsInRole(roleName);
            }
            return(rc);
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// cmdAdd_Click runs when the Update Button is clicked
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        ///     [cnurse]	9/10/2004	Updated to reflect design changes for Help, 508 support
        ///                       and localisation
        /// </history>
        /// -----------------------------------------------------------------------------
        private void cmdAdd_Click(Object sender, EventArgs e)
        {
            try
            {
                if (Page.IsValid)
                {
                    if ((Role != null) && (User != null))
                    {
                        //do not modify the portal Administrator account dates
                        if (User.UserID == PortalSettings.AdministratorId && Role.RoleID == PortalSettings.AdministratorRoleId)
                        {
                            txtEffectiveDate.Text = "";
                            txtExpiryDate.Text    = "";
                        }
                        DateTime datEffectiveDate;
                        if (!String.IsNullOrEmpty(txtEffectiveDate.Text))
                        {
                            datEffectiveDate = DateTime.Parse(txtEffectiveDate.Text);
                        }
                        else
                        {
                            datEffectiveDate = Null.NullDate;
                        }
                        DateTime datExpiryDate;
                        if (!String.IsNullOrEmpty(txtExpiryDate.Text))
                        {
                            datExpiryDate = DateTime.Parse(txtExpiryDate.Text);
                        }
                        else
                        {
                            datExpiryDate = Null.NullDate;
                        }

                        //Add User to Role
                        RoleController.AddUserRole(User, Role, PortalSettings, datEffectiveDate, datExpiryDate, UserId, chkNotify.Checked);
                    }
                }
                BindGrid();
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
예제 #19
0
        public void Seed()
        {
            if (userRepository.Exists(u => u.Email == "*****@*****.**"))
            {
                return;
            }
            Role         admin = roleRepository.First(r => r.Name == "ADMIN");
            AddUserModel model = new AddUserModel
            {
                Email    = "*****@*****.**",
                Name     = "Chendjou",
                Surname  = "Caleb",
                Password = "******"
            };

            User user = userController.Create(model);

            roleController.AddUserRole(admin, user);
        }
        private void CreateUser(string email, string firstname, string lastname, string phoneNumber)
        {
            var mp = new AspNetMembershipProvider();

            var userInfo = new UserInfo();

            userInfo.Username = email;
            //set auto generated password
            userInfo.Membership.Password = mp.GeneratePassword();
            userInfo.Email       = email;
            userInfo.FirstName   = firstname;
            userInfo.LastName    = lastname;
            userInfo.Username    = email;
            userInfo.DisplayName = firstname + ' ' + lastname;
            userInfo.PortalID    = 0; //TODO: hard coded for PortalID


            var createStatus = mp.CreateUser(ref userInfo);

            if (createStatus == UserCreateStatus.InvalidPassword)
            {
                throw new Exception("Invalid password");
            }

            //save back to table with IsVerified set
            if (createStatus == UserCreateStatus.Success)
            {
                var roleName = "Registered Users";

                bool bc = false;
                var  rc = new RoleController();

                RoleInfo newRole = rc.GetRoleByName(userInfo.PortalID, roleName);

                if (newRole != null && userInfo != null)
                {
                    bc = userInfo.IsInRole(roleName);
                    rc.AddUserRole(userInfo.PortalID, userInfo.UserID, newRole.RoleID, DateTime.MinValue, DateTime.MaxValue);
                    userInfo = UserController.GetUserById(userInfo.PortalID, userInfo.UserID);
                    bc       = userInfo.IsInRole(roleName);
                }
            }
        }
        public HttpResponseMessage Add(int id, [FromBody] AddRemoveUserDTO data)
        {
            var uc = new RoleController();

            if (uc.GetUserRole(ActiveModule.PortalID, data.UserId, id) != null)
            {
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            uc.AddUserRole(ActiveModule.PortalID, data.UserId, id, System.DateTime.MinValue, System.DateTime.MinValue);
            var u   = UserController.GetUserById(ActiveModule.PortalID, data.UserId);
            var res = new RMUser()
            {
                UserId      = u.UserID,
                FirstName   = u.FirstName,
                LastName    = u.LastName,
                DisplayName = u.DisplayName,
                Email       = u.Email
            };

            return(Request.CreateResponse(HttpStatusCode.OK, res));
        }
예제 #22
0
 private void AutoAssignUsers(RoleInfo role)
 {
     if (role.AutoAssignment)
     {
         //loop through users for portal and add to role
         var arrUsers = UserController.GetUsers(role.PortalID);
         foreach (UserInfo objUser in arrUsers)
         {
             try
             {
                 var legacyRoleController = new RoleController();
                 legacyRoleController.AddUserRole(role.PortalID, objUser.UserID, role.RoleID, Null.NullDate, Null.NullDate);
             }
             catch (Exception exc)
             {
                 //user already belongs to role
                 DnnLog.Error(exc);
             }
         }
     }
 }
            public void AddUserRole(int portalId, int userId, string roleName)
            {
                var ctl  = new RoleController();
                var role = ctl.GetRoleByName(portalId, roleName);

                if (role == null)
                {
                    role = new RoleInfo
                    {
                        PortalID    = portalId,
                        RoleGroupID = Null.NullInteger,
                        RoleName    = roleName
                    };
                    role.RoleID = ctl.AddRole(role);
                }

                if (ctl.GetUserRole(portalId, userId, role.RoleID) == null)
                {
                    ctl.AddUserRole(portalId, userId, role.RoleID, Null.NullDate, Null.NullDate);
                }
            }
예제 #24
0
 private void AutoAssignUsers(RoleInfo role)
 {
     if (role.AutoAssignment)
     {
         //loop through users for portal and add to role
         var arrUsers = UserController.GetUsers(role.PortalID);
         foreach (UserInfo objUser in arrUsers)
         {
             try
             {
                 var legacyRoleController = new RoleController();
                 legacyRoleController.AddUserRole(role.PortalID, objUser.UserID, role.RoleID, Null.NullDate, Null.NullDate);
             }
             catch (Exception exc)
             {
                 //user already belongs to role
                 Logger.Error(exc);
             }
         }
     }
 }
예제 #25
0
        public static void AddToRoles(int UserId, int PortalId, string RoleNames, string RoleDelimiter = ",", DateTime?EffectiveDate = null, DateTime?ExpiryDate = null)
        {
            DateTime effDate = EffectiveDate.GetValueOrDefault(Null.NullDate);
            DateTime expDate = ExpiryDate.GetValueOrDefault(Null.NullDate);

            // get the specified RoleName
            RoleController rc = new RoleController();

            string[] lstRoles = RoleNames.Split(RoleDelimiter.ToCharArray());
            RoleInfo role     = default(RoleInfo);
            string   curRole  = null;

            for (int i = 0; i <= lstRoles.Length - 1; i++)
            {
                curRole = lstRoles[i].Trim();
                role    = rc.GetRoleByName(PortalId, curRole);
                if ((role != null))
                {
                    rc.AddUserRole(PortalId, UserId, role.RoleID, effDate, expDate);
                }
            }
        }
예제 #26
0
        public HttpResponseMessage Roles_AddRemove(int userid, string role, string mode)
        {
            int v_Current_Portal_ID = this.ActiveModule.PortalID;

            //Getting user info
            DotNetNuke.Entities.Users.UserInfo v_UserInfo = DotNetNuke.Entities.Users.UserController.GetUserById(v_Current_Portal_ID, userid);

            if (v_UserInfo != null)
            {
                RoleController v_RoleController = new RoleController();
                RoleInfo       v_RoleInfo       = v_RoleController.GetRoleByName(v_Current_Portal_ID, role);

                if (v_RoleInfo != null)
                {
                    if (v_UserInfo.IsInRole(v_RoleInfo.RoleName) && mode == "remove")
                    {
                        RoleController.DeleteUserRole(v_UserInfo, v_RoleInfo, this.PortalSettings, false);
                        return(Request.CreateResponse(HttpStatusCode.OK, "ok role removed"));
                    }

                    if (v_UserInfo.IsInRole(v_RoleInfo.RoleName) == false && mode == "add")
                    {
                        v_RoleController.AddUserRole(v_Current_Portal_ID, userid, v_RoleInfo.RoleID, DateTime.MinValue);
                        return(Request.CreateResponse(HttpStatusCode.OK, "ok role added"));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, "No such role with that RoleName"));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "No such user with that Id"));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, "ok"));
        }
예제 #27
0
        /// <summary>
        /// </summary>
        /// <remarks>
        /// This routine is more accurated,
        /// Prevent user assign to admin role in case user logon as LOCAL\Administrator
        /// </remarks>
        public static void AddUserRoles(int PortalID, UserInfo AuthenticationUser)
        {
            GroupController objGroupController = new GroupController();
            ArrayList       colGroup           = objGroupController.GetGroups();
            RoleController  objRoles           = new RoleController();
            GroupInfo       authenticationGroup;

            try
            {
                foreach (GroupInfo tempLoopVar_authenticationGroup in colGroup)
                {
                    authenticationGroup = tempLoopVar_authenticationGroup;
                    if (objGroupController.IsAuthenticationMember(authenticationGroup, AuthenticationUser))
                    {
                        objRoles.AddUserRole(PortalID, AuthenticationUser.UserID, authenticationGroup.RoleID, Null.NullDate, Null.NullDate);
                    }
                }
            }
            catch (Exception exc)
            {
                Exceptions.LogException(exc);
            }
        }
예제 #28
0
        /// <summary>
        /// Creates a new User in the Data Store
        /// </summary>
        /// <remarks></remarks>
        /// <param name="objUser">The userInfo object to persist to the Database</param>
        /// <returns>The Created status ot the User</returns>
        public static UserCreateStatus CreateUser(ref UserInfo objUser)
        {
            //Create the User
            UserCreateStatus createStatus = memberProvider.CreateUser(ref objUser);

            if (createStatus == UserCreateStatus.Success && !objUser.IsSuperUser)
            {
                RoleController objRoles = new RoleController();

                // autoassign user to portal roles
                ArrayList arrRoles = objRoles.GetPortalRoles(objUser.PortalID);

                for (int i = 0; i < arrRoles.Count; i++)
                {
                    RoleInfo objRole = (RoleInfo)arrRoles[i];
                    if (objRole.AutoAssignment)
                    {
                        objRoles.AddUserRole(objUser.PortalID, objUser.UserID, objRole.RoleID, Null.NullDate, Null.NullDate);
                    }
                }
            }

            return(createStatus);
        }
예제 #29
0
    public string AddGroupMember(string groupname, string username)
    {
        // empty groupname or username
        if (string.IsNullOrEmpty(groupname) || string.IsNullOrEmpty(username))
        {
            return("error: empty groupname or username");
        }

        groupname = groupname.Trim();
        username  = username.Trim();

        // get user by username
        UserInfo user = _GetUserByUserName(username);

        if (user == null)
        {
            // user do not exists
            return("error: user do not exists");
        }

        // get group by group name
        RoleInfo group = _GetDnnRole(groupname);

        if (group == null)
        {
            // group do not exists
            return("error: group do not exists");;
        }

        // add user to group
        RoleController RoleController = new RoleController();

        RoleController.AddUserRole(Dnn.Portal.PortalId, user.UserID, group.RoleID, Null.NullDate, Null.NullDate);

        return("user " + username + " is in group " + groupname);
    }
예제 #30
0
        private void Create_Click(object sender, EventArgs e)
        {
            RoleController roleController = new RoleController();

            Security.PortalSecurity ps = new Security.PortalSecurity();
            txtGroupName.Text = ps.InputFilter(txtGroupName.Text, Security.PortalSecurity.FilterFlag.NoScripting);
            txtGroupName.Text = ps.InputFilter(txtGroupName.Text, Security.PortalSecurity.FilterFlag.NoMarkup);

            txtDescription.Text = ps.InputFilter(txtDescription.Text, Security.PortalSecurity.FilterFlag.NoScripting);
            txtDescription.Text = ps.InputFilter(txtDescription.Text, Security.PortalSecurity.FilterFlag.NoMarkup);
            if (roleController.GetRoleByName(PortalId, txtGroupName.Text) != null)
            {
                lblInvalidGroupName.Visible = true;
                return;
            }


            var modRoles = new List <RoleInfo>();
            var modUsers = new List <UserInfo>();

            foreach (ModulePermissionInfo modulePermissionInfo in ModulePermissionController.GetModulePermissions(ModuleId, TabId))
            {
                if (modulePermissionInfo.PermissionKey == "MODGROUP" && modulePermissionInfo.AllowAccess)
                {
                    if (modulePermissionInfo.RoleID > int.Parse(Globals.glbRoleNothing))
                    {
                        modRoles.Add(roleController.GetRole(modulePermissionInfo.RoleID, PortalId));
                    }
                    else if (modulePermissionInfo.UserID > Null.NullInteger)
                    {
                        modUsers.Add(UserController.GetUserById(PortalId, modulePermissionInfo.UserID));
                    }
                }
            }

            var roleInfo = new RoleInfo()
            {
                PortalID     = PortalId,
                RoleName     = txtGroupName.Text,
                Description  = txtDescription.Text,
                SecurityMode = SecurityMode.SocialGroup,
                Status       = RoleStatus.Approved,
                IsPublic     = rdAccessTypePublic.Checked
            };
            var userRoleStatus = RoleStatus.Pending;

            if (GroupModerationEnabled)
            {
                roleInfo.Status = RoleStatus.Pending;
                userRoleStatus  = RoleStatus.Pending;
            }
            else
            {
                userRoleStatus = RoleStatus.Approved;
            }

            var objModulePermissions = new ModulePermissionCollection(CBO.FillCollection(DataProvider.Instance().GetModulePermissionsByModuleID(ModuleId, -1), typeof(ModulePermissionInfo)));

            if (ModulePermissionController.HasModulePermission(objModulePermissions, "MODGROUP"))
            {
                roleInfo.Status = RoleStatus.Approved;
                userRoleStatus  = RoleStatus.Approved;
            }
            roleInfo.RoleGroupID = DefaultRoleGroupId;

            roleInfo.RoleID = roleController.AddRole(roleInfo);
            roleInfo        = roleController.GetRole(roleInfo.RoleID, PortalId);

            var groupUrl = Globals.NavigateURL(GroupViewTabId, "", new String[] { "groupid=" + roleInfo.RoleID.ToString() });

            if (groupUrl.StartsWith("http://") || groupUrl.StartsWith("https://"))
            {
                const int startIndex = 8;                 // length of https://
                groupUrl = groupUrl.Substring(groupUrl.IndexOf("/", startIndex, StringComparison.InvariantCultureIgnoreCase));
            }
            roleInfo.Settings.Add("URL", groupUrl);

            roleInfo.Settings.Add("GroupCreatorName", UserInfo.DisplayName);
            roleInfo.Settings.Add("ReviewMembers", chkMemberApproved.Checked.ToString());

            TestableRoleController.Instance.UpdateRoleSettings(roleInfo, true);
            if (inpFile.PostedFile != null && inpFile.PostedFile.ContentLength > 0)
            {
                IFileManager   _fileManager   = FileManager.Instance;
                IFolderManager _folderManager = FolderManager.Instance;
                var            rootFolderPath = PathUtils.Instance.FormatFolderPath(PortalSettings.HomeDirectory);

                IFolderInfo groupFolder = _folderManager.GetFolder(PortalSettings.PortalId, "Groups/" + roleInfo.RoleID);
                if (groupFolder == null)
                {
                    groupFolder = _folderManager.AddFolder(PortalSettings.PortalId, "Groups/" + roleInfo.RoleID);
                }
                if (groupFolder != null)
                {
                    var fileName = Path.GetFileName(inpFile.PostedFile.FileName);
                    var fileInfo = _fileManager.AddFile(groupFolder, fileName, inpFile.PostedFile.InputStream, true);
                    roleInfo.IconFile = "FileID=" + fileInfo.FileId;
                    roleController.UpdateRole(roleInfo);
                }
            }

            var notifications = new Notifications();


            roleController.AddUserRole(PortalId, UserId, roleInfo.RoleID, userRoleStatus, true, Null.NullDate, Null.NullDate);
            if (roleInfo.Status == RoleStatus.Pending)
            {
                //Send notification to Group Moderators to approve/reject group.
                notifications.AddGroupNotification(Constants.GroupPendingNotification, GroupViewTabId, ModuleId, roleInfo, UserInfo, modRoles, modUsers);
            }
            else
            {
                //Send notification to Group Moderators informing of new group.
                notifications.AddGroupNotification(Constants.GroupCreatedNotification, GroupViewTabId, ModuleId, roleInfo, UserInfo, modRoles, modUsers);

                //Add entry to journal.
                GroupUtilities.CreateJournalEntry(roleInfo, UserInfo);
            }

            Response.Redirect(Globals.NavigateURL(GroupViewTabId, "", new String[] { "groupid=" + roleInfo.RoleID.ToString() }));
        }
        public HttpResponseMessage AddUserToRole(UserRoleDto userRoleDto, bool notifyUser, bool isOwner)
        {
            try
            {
                Validate(userRoleDto);

                if (!AllowExpired(userRoleDto.UserId, userRoleDto.RoleId))
                {
                    userRoleDto.StartTime = userRoleDto.ExpiresTime = Null.NullDate;
                }
                HttpResponseMessage response;
                var user = GetUser(userRoleDto.UserId, out response);
                if (user == null)
                {
                    return(response);
                }

                var role = RoleController.Instance.GetRoleById(PortalId, userRoleDto.RoleId);
                if (role.SecurityMode != SecurityMode.SocialGroup && role.SecurityMode != SecurityMode.Both)
                {
                    isOwner = false;
                }
                if (role.Status != RoleStatus.Approved)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest,
                                                       Localization.GetString("CannotAssginUserToUnApprovedRole",
                                                                              Components.Constants.LocalResourcesFile)));
                }

                RoleController.AddUserRole(user, role, PortalSettings, RoleStatus.Approved, userRoleDto.StartTime,
                                           userRoleDto.ExpiresTime, notifyUser, isOwner);

                var addedUser = RoleController.Instance.GetUserRole(PortalId, userRoleDto.UserId, userRoleDto.RoleId);
                var portal    = PortalController.Instance.GetPortal(PortalId);

                return(Request.CreateResponse(HttpStatusCode.OK,
                                              new UserRoleDto
                {
                    UserId = addedUser.UserID,
                    RoleId = addedUser.RoleID,
                    DisplayName = addedUser.FullName,
                    StartTime = addedUser.EffectiveDate,
                    ExpiresTime = addedUser.ExpiryDate,
                    AllowExpired = AllowExpired(addedUser.UserID, addedUser.RoleID),
                    AllowDelete = RoleController.CanRemoveUserFromRole(portal, addedUser.UserID, addedUser.RoleID)
                }));
            }
            catch (ArgumentException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (SecurityException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }