public override global::System.Data.DataSet Clone()
        {
            UserSettingData cln = ((UserSettingData)(base.Clone()));

            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return(cln);
        }
示例#2
0
        public async Task <string> GetUserPostLoginViewType(long userId)
        {
            IRepository <UserSettingData, long> repository = this._userSettingDataRepository;
            UserSettingData userSettingDatum = await repository.FirstOrDefaultAsync((UserSettingData m) => m.UserId == userId);

            UserSettingData userSettingDatum1 = userSettingDatum;

            return(userSettingDatum1 == null ? string.Empty : userSettingDatum1.PostLoginViewType);
        }
示例#3
0
        public async Task CreateOrUpdateUser(CreateOrUpdateUserInput input)
        {
            long?id;

            if (input.User.Id.HasValue)
            {
                await this.UpdateUserAsync(input);
            }
            else
            {
                await this.CreateUserAsync(input);

                input.User.Id = new long?(this.UserManager.FindByName <User, long>(input.User.UserName).Id);
            }
            IRepository <UserSettingData, long> repository = this._userSettingDataRepository;
            UserSettingData userSettingDatum = await repository.FirstOrDefaultAsync((UserSettingData m) => m.UserId == input.User.Id.Value);

            UserSettingData postLoginViewType = userSettingDatum;

            if (postLoginViewType == null)
            {
                UserSettingDataEditDto userSettingData = input.UserSettingData;
                id = input.User.Id;
                userSettingData.UserId = id.Value;
                await this._userSettingDataRepository.InsertAsync(input.UserSettingData.MapTo <UserSettingData>());
            }
            else
            {
                postLoginViewType.PostLoginViewType     = input.UserSettingData.PostLoginViewType;
                postLoginViewType.ShowScreencastAtLogin = input.UserSettingData.ShowScreencastAtLogin;
                postLoginViewType.StatusGoNoGo          = input.UserSettingData.StatusGoNoGo;
                id = input.User.Id;
                postLoginViewType.UserId = id.Value;
                await this._userSettingDataRepository.UpdateAsync(postLoginViewType);
            }
            int?convertToUserCustomerId = input.ConvertToUserCustomerId;

            if (convertToUserCustomerId.HasValue)
            {
                convertToUserCustomerId = input.ConvertToUserCustomerId;
                if (convertToUserCustomerId.Value > 0)
                {
                    IRepository <Customer, long> repository1 = this._customerRepository;
                    convertToUserCustomerId = input.ConvertToUserCustomerId;
                    Customer async = await repository1.GetAsync((long)convertToUserCustomerId.Value);

                    if (async != null)
                    {
                        id           = input.User.Id;
                        async.UserId = new long?(id.Value);
                        await this._customerRepository.UpdateAsync(async);
                    }
                    convertToUserCustomerId       = null;
                    input.ConvertToUserCustomerId = convertToUserCustomerId;
                }
            }
        }
示例#4
0
        private void AddUserSettings(int userId)
        {
            UserSettingData userSettings = new UserSettingData();

            UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
            newUserSettings.UserId = userId;

            userSettings.UserSettings.Rows.Add(newUserSettings);
            new User().AddUserSettings(userSettings);
        }
示例#5
0
        /// <summary>
        /// Adds a new users settings to the database
        /// </summary>
        public void AddUserSettings(UserSettingData newUserSettings)
        {
            SqlConnection connection    = new SqlConnection(DbConnection.NewDbConnectionString);
            SqlCommand    insertCommand = new SqlCommand("vts_spUserSettingAddNew", connection);

            insertCommand.CommandType = CommandType.StoredProcedure;
            insertCommand.Parameters.Add(new SqlParameter("@UserId", SqlDbType.Int, 4, "UserId"));
            insertCommand.Parameters.Add(new SqlParameter("@IsAdmin", SqlDbType.Bit, 1, "IsAdmin"));
            insertCommand.Parameters.Add(new SqlParameter("@GlobalSurveyAccess", SqlDbType.Bit, 1, "GlobalSurveyAccess"));
            DbConnection.db.UpdateDataSet(newUserSettings, "UserSettings", insertCommand, new SqlCommand(), new SqlCommand(), UpdateBehavior.Transactional);
        }
        /// <summary>
        /// Adds a new users settings to the database
        /// </summary>
        public void AddUserSettings(UserSettingData newUserSettings)
        {
            SqlConnection connection = new SqlConnection(DbConnection.NewDbConnectionString);
            SqlCommand insertCommand = new SqlCommand("vts_spUserSettingAddNew", connection);
            insertCommand.CommandType = CommandType.StoredProcedure;
            insertCommand.Parameters.Add(new SqlParameter("@UserId", SqlDbType.Int, 4, "UserId"));
            insertCommand.Parameters.Add(new SqlParameter("@IsAdmin", SqlDbType.Bit, 1, "IsAdmin"));
            insertCommand.Parameters.Add(new SqlParameter("@GlobalSurveyAccess", SqlDbType.Bit, 1, "GlobalSurveyAccess"));

            DbConnection.db.UpdateDataSet(newUserSettings, "UserSettings", insertCommand, new SqlCommand(), new SqlCommand(), UpdateBehavior.Transactional);
        }
示例#7
0
        private void AddUserSettings(int userId)
        {
            UserSettingData userSettings = new UserSettingData();

            UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
            newUserSettings.UserId             = userId;
            newUserSettings.IsAdmin            = IsAdminCheckBox.Checked;
            newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
            userSettings.UserSettings.Rows.Add(newUserSettings);
            new User().AddUserSettings(userSettings);
        }
示例#8
0
        private static void ApplySettingValue(string identifier, string name, SettingItem item)
        {
            using (SettingsEntities entities = EntityFrameworkHelper.CreateContext <SettingsEntities>(EdmxPath))
            {
                UserSettingData userData = entities.GetUserSettingData(identifier, name);

                if (userData != null)
                {
                    item.ApplyUserValue(userData.Value);
                }
            }
        }
示例#9
0
        private static void ImportUserSettings(XDocument doc)
        {
            using (MigrationSettingsEntities entities = EntityFrameworkHelper.CreateContext <MigrationSettingsEntities>("Data.SettingsEntities"))
            {
                foreach (XElement section in doc.Root.Elements("Section"))
                {
                    string identifier = section.Attribute("Identifier").Value;
                    foreach (XElement setting in section.Elements("UserSetting"))
                    {
                        try
                        {
                            string name = setting.Attribute("Name").Value;

                            bool            isNew = true;
                            UserSettingData data  = entities.UserSettings.FirstOrDefault(item => item.Identifier == identifier && item.Name == name);
                            if (data == null)
                            {
                                data = new UserSettingData();
                            }
                            else
                            {
                                isNew = false;
                                Logger.Instance.LogFormat(LogType.Warning, null, Resources.OverwritingExistingItem, identifier, name);
                            }

                            data.Identifier = identifier;
                            data.Name       = name;
                            data.Value      = setting.Value;

                            XAttribute isNull = setting.Attribute("IsNull");
                            if (isNull != null && isNull.Value.Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase))
                            {
                                data.Value = null;
                            }

                            if (isNew)
                            {
                                entities.UserSettings.AddObject(data);
                            }

                            Logger.Instance.LogFormat(LogType.Info, null, Resources.SettingWritten, data.Identifier, data.Name);
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.LogFormat(LogType.Error, null, Resources.SettingWriteError);
                            Logger.Instance.LogException(null, ex);
                        }
                    }
                }

                entities.SaveChanges();
            }
        }
        public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs)
        {
            UserSettingData ds = new UserSettingData();

            global::System.Xml.Schema.XmlSchemaComplexType type     = new global::System.Xml.Schema.XmlSchemaComplexType();
            global::System.Xml.Schema.XmlSchemaSequence    sequence = new global::System.Xml.Schema.XmlSchemaSequence();
            global::System.Xml.Schema.XmlSchemaAny         any      = new global::System.Xml.Schema.XmlSchemaAny();
            any.Namespace = ds.Namespace;
            sequence.Items.Add(any);
            type.Particle = sequence;
            global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
            if (xs.Contains(dsSchema.TargetNamespace))
            {
                global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                try {
                    global::System.Xml.Schema.XmlSchema schema = null;
                    dsSchema.Write(s1);
                    for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();)
                    {
                        schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                        s2.SetLength(0);
                        schema.Write(s2);
                        if ((s1.Length == s2.Length))
                        {
                            s1.Position = 0;
                            s2.Position = 0;
                            for (; ((s1.Position != s1.Length) &&
                                    (s1.ReadByte() == s2.ReadByte()));)
                            {
                                ;
                            }
                            if ((s1.Position == s1.Length))
                            {
                                return(type);
                            }
                        }
                    }
                }
                finally {
                    if ((s1 != null))
                    {
                        s1.Close();
                    }
                    if ((s2 != null))
                    {
                        s2.Close();
                    }
                }
            }
            xs.Add(dsSchema);
            return(type);
        }
示例#11
0
        /// <summary>
        /// Get user settings
        /// </summary>
        public UserSettingData GetUserSettings(int userId)
        {
            UserSettingData dataSet = new UserSettingData();

            ArrayList commandParameters = new ArrayList();

            {
                commandParameters.Add(new SqlParameter("@UserId", userId).SqlValue);
            }

            DbConnection.db.LoadDataSet("vts_spUserSettingGet", dataSet, new string[] { "UserSettings" }, commandParameters.ToArray());
            return(dataSet);
        }
示例#12
0
    private void Awake()
    {
        Instance = this;

        userData_item    = new UserItemData();
        userData_setting = new UserSettingData();
        userData_status  = new UserStatusData();

        datas = new List <UserData>();
        datas.Add(userData_item);
        datas.Add(userData_setting);
        datas.Add(userData_status);

        DataTest(); // 임시 데이터 입력
    }
        private void CreateUserButton_Click(object sender, System.EventArgs e)
        {
            if (ValidateFieldOptions())
            {
                NSurveyUserData          userData = new NSurveyUserData();
                NSurveyUserData.UsersRow newUser  = userData.Users.NewUsersRow();

                if (_userProvider is INSurveyUserProvider)
                {
                    //if (PasswordTextBox.Text.Length == 0)
                    if (!Regex.IsMatch(PasswordTextBox.Text, @"(?=^.{8,12}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&amp;*()_+}{&quot;:;'?/&gt;.&lt;,])(?!.*\s).*$"))

                    {
                        MessageLabel.Visible = true;
                        ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("PasswordRequiredMessage"));
                        return;
                    }

                    newUser.UserName = UserNameTextBox.Text;
                    var sec = new LoginSecurity();
                    newUser.PasswordSalt = sec.CreateSaltKey(5);
                    newUser.Password     = sec.CreatePasswordHash(PasswordTextBox.Text, newUser.PasswordSalt);
                    newUser.Email        = EmailTextBox.Text;
                    newUser.FirstName    = FirstNameTextBox.Text;
                    newUser.LastName     = LastNameTextBox.Text;
                    userData.Users.Rows.Add(newUser);
                    ((INSurveyUserProvider)_userProvider).AddUser(userData);
                }

                if (userData.Users.Rows.Count > 0)
                {
                    UserSettingData userSettings = new UserSettingData();
                    UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
                    newUserSettings.UserId             = userData.Users[0].UserId;
                    newUserSettings.IsAdmin            = IsAdminCheckBox.Checked;
                    newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
                    userSettings.UserSettings.Rows.Add(newUserSettings);
                    new User().AddUserSettings(userSettings);
                }
                UINavigator.NavigateToUserManager(((PageBase)Page).getSurveyId(), ((PageBase)Page).MenuIndex);
            }
        }
示例#14
0
        public async Task <bool> ShowScreencastAtLogin(long userId)
        {
            bool flag;
            bool flag1;
            IRepository <UserSettingData, long> repository = this._userSettingDataRepository;
            UserSettingData userSettingDatum = await repository.FirstOrDefaultAsync((UserSettingData m) => m.UserId == userId);

            UserSettingData userSettingDatum1 = userSettingDatum;

            if (userSettingDatum1 == null)
            {
                flag = false;
            }
            else
            {
                flag1 = (userSettingDatum1.ShowScreencastAtLogin.HasValue ? userSettingDatum1.ShowScreencastAtLogin.Value : false);
                flag  = flag1;
            }
            return(flag);
        }
示例#15
0
        private static bool AddOrUpdateSetting(SettingsEntities entities, SettingKey key, IProxyType <string> value)
        {
            UserSettingData userSetting = entities.GetUserSettingData(key.Identifier, key.Name);

            if (userSetting == null)
            {
                userSetting            = new UserSettingData();
                userSetting.Identifier = key.Identifier;
                userSetting.Name       = key.Name;
                entities.UserSettings.AddObject(userSetting);
            }

            string valueToPersist = value.ProxiedValue;

            if (!string.Equals(userSetting.Value, valueToPersist, StringComparison.Ordinal))
            {
                userSetting.Value = valueToPersist;

                return(true);
            }

            return(false);
        }
示例#16
0
        public async Task <GetUserForEditOutput> GetUserForEdit(NullableIdInput <long> input)
        {
            IQueryable <Role>        roles       = this._roleManager.Roles;
            IOrderedQueryable <Role> displayName =
                from r in roles
                orderby r.DisplayName
                select r;

            UserRoleDto[] arrayAsync = await(
                from r in displayName
                select new UserRoleDto()
            {
                RoleId          = r.Id,
                RoleName        = r.Name,
                RoleDisplayName = r.DisplayName
            }).ToArrayAsync <UserRoleDto>();
            UserRoleDto[]        userRoleDtoArray     = arrayAsync;
            GetUserForEditOutput getUserForEditOutput = new GetUserForEditOutput()
            {
                Roles = userRoleDtoArray
            };

            if (input.Id.HasValue)
            {
                FuelWerx.Authorization.Users.UserManager userManager = this.UserManager;
                long?id            = input.Id;
                User userByIdAsync = await userManager.GetUserByIdAsync(id.Value);

                getUserForEditOutput.User             = userByIdAsync.MapTo <UserEditDto>();
                getUserForEditOutput.ProfilePictureId = userByIdAsync.ProfilePictureId;
                IRepository <UserSettingData, long> repository = this._userSettingDataRepository;
                UserSettingData userSettingDatum = await repository.FirstOrDefaultAsync((UserSettingData m) => m.UserId == userByIdAsync.Id);

                UserSettingData userSettingDatum1 = userSettingDatum;
                if (userSettingDatum1 == null)
                {
                    GetUserForEditOutput getUserForEditOutput1 = getUserForEditOutput;
                    UserSettingData      userSettingDatum2     = new UserSettingData()
                    {
                        UserId = userByIdAsync.Id
                    };
                    getUserForEditOutput1.UserSettingData = userSettingDatum2.MapTo <UserSettingDataEditDto>();
                }
                else
                {
                    getUserForEditOutput.UserSettingData = userSettingDatum1.MapTo <UserSettingDataEditDto>();
                }
                UserRoleDto[] userRoleDtoArray1 = userRoleDtoArray;
                for (int i = 0; i < (int)userRoleDtoArray1.Length; i++)
                {
                    UserRoleDto userRoleDto  = userRoleDtoArray1[i];
                    UserRoleDto userRoleDto1 = userRoleDto;
                    FuelWerx.Authorization.Users.UserManager userManager1 = this.UserManager;
                    id = input.Id;
                    bool flag = await userManager1.IsInRoleAsync(id.Value, userRoleDto.RoleName);

                    userRoleDto1.IsAssigned = flag;
                    userRoleDto1            = null;
                }
                userRoleDtoArray1 = null;
            }
            else
            {
                GetUserForEditOutput getUserForEditOutput2 = getUserForEditOutput;
                UserEditDto          userEditDto           = new UserEditDto()
                {
                    IsActive = true,
                    ShouldChangePasswordOnNextLogin = true
                };
                getUserForEditOutput2.User           = userEditDto;
                getUserForEditOutput.UserSettingData = new UserSettingDataEditDto()
                {
                    UserId = (long)0
                };
                IQueryable <Role> roles1    = this._roleManager.Roles;
                List <Role>       listAsync = await(
                    from r in roles1
                    where r.IsDefault
                    select r).ToListAsync <Role>();
                foreach (Role role in listAsync)
                {
                    UserRoleDto userRoleDto2 = userRoleDtoArray.FirstOrDefault <UserRoleDto>((UserRoleDto ur) => ur.RoleName == role.Name);
                    if (userRoleDto2 == null)
                    {
                        continue;
                    }
                    userRoleDto2.IsAssigned = true;
                }
            }
            return(getUserForEditOutput);
        }
		private void AddUserSettings(int userId)
		{
			UserSettingData userSettings = new UserSettingData();
			UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
			newUserSettings.UserId = userId;
			newUserSettings.IsAdmin = IsAdminCheckBox.Checked;
			newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
			userSettings.UserSettings.Rows.Add(newUserSettings);
			new User().AddUserSettings(userSettings);
		}
        /// <summary>
        /// Get user settings 
        /// </summary>
        public UserSettingData GetUserSettings(int userId)
        {
            UserSettingData dataSet = new UserSettingData();

            ArrayList commandParameters = new ArrayList();
            {
                commandParameters.Add(new SqlParameter("@UserId", userId).SqlValue);
            }

            DbConnection.db.LoadDataSet("vts_spUserSettingGet", dataSet, new string[] { "UserSettings" }, commandParameters.ToArray());
            return dataSet;
        }
示例#19
0
        private void sendLoginReply(Server.Model.ClientInfoModel model, int dekstopRow, int desktopCol)
        {
            // get server's monitor info
            List <Session.Data.SubData.MonitorInfo> monitorList = new List <MonitorInfo>();
            int desktopLeft   = 0;
            int desktopTop    = 0;
            int desktopRight  = 0;
            int desktopBottom = 0;

            foreach (WindowsHelper.MonitorInfo monitor in Utils.Windows.WindowsHelper.GetMonitorList())
            {
                if (desktopLeft > monitor.WorkArea.Left)
                {
                    desktopLeft = monitor.MonitorArea.Left;
                }

                if (desktopTop > monitor.WorkArea.Top)
                {
                    desktopTop = monitor.MonitorArea.Top;
                }

                if (desktopRight < monitor.WorkArea.Right)
                {
                    desktopRight = monitor.MonitorArea.Right;
                }

                if (desktopBottom < monitor.WorkArea.Bottom)
                {
                    desktopBottom = monitor.MonitorArea.Bottom;
                }

                monitorList.Add(new Session.Data.SubData.MonitorInfo()
                {
                    LeftPos   = monitor.MonitorArea.Left,
                    TopPos    = monitor.MonitorArea.Top,
                    RightPos  = monitor.MonitorArea.Right,
                    BottomPos = monitor.MonitorArea.Bottom
                });
            }

            // send user data to client
            UserSettingData settingData = Server.ServerDbHelper.GetInstance().GetUserSetting(model.DbUserId);

            Session.Data.ServerUserSetting userSetting = new ServerUserSetting()
            {
                UserSetting = new UserSetting()
                {
                    gridX  = settingData.gridX,
                    gridY  = settingData.gridY,
                    isSnap = settingData.isSnap,
                }
            };

            // get user's application list
            ServerApplicationStatus serverAppStatus = new ServerApplicationStatus();

            serverAppStatus.UserApplicationList = new List <ApplicationEntry>();
            foreach (ApplicationData appData in Server.ServerDbHelper.GetInstance().GetAppsWithUserId(model.DbUserId))
            {
                serverAppStatus.UserApplicationList.Add(new ApplicationEntry()
                {
                    Identifier = appData.id,
                    Name       = appData.name
                });
            }

            // get user's preset list
            ServerPresetsStatus serverPresetStatus = new ServerPresetsStatus();

            serverPresetStatus.UserPresetList = new List <PresetsEntry>();
            foreach (PresetData presetData in Server.ServerDbHelper.GetInstance().GetPresetByUserId(model.DbUserId))
            {
                List <ApplicationEntry> presetAppEntries = new List <ApplicationEntry>();
                foreach (ApplicationData appData in presetData.AppDataList)
                {
                    presetAppEntries.Add(new ApplicationEntry()
                    {
                        Identifier = appData.id,
                        Name       = appData.name
                    });
                }

                List <VncEntry> presetVncEntries = new List <VncEntry>();
                foreach (RemoteVncData vncData in presetData.VncDataList)
                {
                    presetVncEntries.Add(new VncEntry()
                    {
                        Identifier  = vncData.id,
                        DisplayName = vncData.name,
                        IpAddress   = vncData.remoteIp,
                        Port        = vncData.remotePort,
                    });
                }

                // get all vision inputs
                List <InputAttributes> allInputList = Server.ServerVisionHelper.getInstance().GetAllVisionInputsAttributes();
                List <InputAttributes> inputEntries = new List <InputAttributes>();
                foreach (VisionData inputData in presetData.InputDataList)
                {
                    inputEntries.Add(new InputAttributes()
                    {
                        InputId     = inputData.id,
                        DisplayName = allInputList.First(inputAtt => inputAtt.InputId == inputData.id).DisplayName,
                    });
                }

                serverPresetStatus.UserPresetList.Add(new PresetsEntry()
                {
                    Identifier      = presetData.Id,
                    Name            = presetData.Name,
                    ApplicationList = presetAppEntries,
                    VncList         = presetVncEntries,
                    InputList       = inputEntries,
                });
            }

            // get user's priviledge
            ServerMaintenanceStatus maintenanceStatus = new ServerMaintenanceStatus();
            GroupData groupData = Server.ServerDbHelper.GetInstance().GetGroupByUserId(model.DbUserId);

            maintenanceStatus.AllowMaintenance   = groupData.allow_maintenance;
            maintenanceStatus.AllowRemoteControl = groupData.allow_remote;

            MonitorInfo allowViewingArea = new MonitorInfo();

            if (groupData.share_full_desktop)
            {
                // same as full desktop
                allowViewingArea.LeftPos   = desktopLeft;
                allowViewingArea.TopPos    = desktopTop;
                allowViewingArea.RightPos  = desktopRight;
                allowViewingArea.BottomPos = desktopBottom;
            }
            else
            {
                // get monitor info
                MonitorData monitorData = Server.ServerDbHelper.GetInstance().GetMonitorByGroupId(groupData.id);

                allowViewingArea.LeftPos   = monitorData.Left;
                allowViewingArea.TopPos    = monitorData.Top;
                allowViewingArea.RightPos  = monitorData.Right;
                allowViewingArea.BottomPos = monitorData.Bottom;
            }

            // prepare the VNC list
            ServerVncStatus vncStatus  = new ServerVncStatus();
            List <VncEntry> vncEntries = new List <VncEntry>();

            vncStatus.UserVncList = vncEntries;
            foreach (RemoteVncData vncData in ServerDbHelper.GetInstance().GetRemoteVncList())
            {
                vncEntries.Add(new VncEntry()
                {
                    Identifier  = vncData.id,
                    DisplayName = vncData.name,
                    IpAddress   = vncData.remoteIp,
                    Port        = vncData.remotePort,
                });
            }

            ServerLoginReply reply = new ServerLoginReply()
            {
                LoginName    = model.Name,
                UserId       = model.DbUserId,
                ServerLayout = new ServerScreenInfo()
                {
                    MatrixCol          = desktopCol,
                    MatrixRow          = dekstopRow,
                    ServerMonitorsList = monitorList
                },
                // UserApplications
                UserApplications = serverAppStatus,

                // UserPresets
                UserPresets = serverPresetStatus,

                // UserMaintenance
                UserMaintenance = maintenanceStatus,

                // allowed viewing area
                ViewingArea = allowViewingArea,

                // Current vnc list
                VncStatus = vncStatus,

                // user settings
                UserSetting = userSetting,
            };

            connectionMgr.SendData(
                (int)CommandConst.MainCommandServer.UserPriviledge,
                (int)CommandConst.SubCommandServer.DisplayInfo,
                reply,
                new List <string>()
            {
                model.SocketUserId
            });


            // send Input info to client
            Session.Data.ServerInputStatus inputStatus = new Session.Data.ServerInputStatus()
            {
                InputAttributesList = Server.ServerVisionHelper.getInstance().GetAllVisionInputsAttributes(),
            };

            connectionMgr.SendData(
                (int)CommandConst.MainCommandServer.Presents,
                (int)CommandConst.SubCommandServer.VisionInput,
                inputStatus,
                new List <string>()
            {
                model.SocketUserId
            });
        }
        private void ApplyChangesButton_Click(object sender, System.EventArgs e)
        {
            if (ValidateFieldOptions())
            {
                if (new Users().IsAdministrator(UserId) && !IsAdminCheckBox.Checked && new Users().GetAdminCount() == 1)
                {
                    MessageLabel.Visible = true;
                    ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("CannotDeleteLastAdminMessage"));
                    return;
                }

                if (_userProvider is INSurveyUserProvider)
                {
                    NSurveyUserData          userData    = new NSurveyUserData();
                    NSurveyUserData.UsersRow updatedUser = userData.Users.NewUsersRow();
                    updatedUser.UserId   = UserId;
                    updatedUser.UserName = UserNameTextBox.Text;

                    // if no password was specified the old one will be kept
                    if (PasswordTextBox.Text.Length > 0)
                    {
                        if (!Regex.IsMatch(PasswordTextBox.Text, @"(?=^.{8,12}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&amp;*()_+}{&quot;:;'?/&gt;.&lt;,])(?!.*\s).*$"))
                        {
                            MessageLabel.Visible = true;
                            ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("PasswordRequiredMessage"));
                            return;
                        }
                        else
                        {
                            var sec = new LoginSecurity();
                            updatedUser.PasswordSalt = sec.CreateSaltKey(5);
                            updatedUser.Password     = sec.CreatePasswordHash(PasswordTextBox.Text, updatedUser.PasswordSalt);
                        }
                    }
                    else
                    {
                        updatedUser.Password     = null;
                        updatedUser.PasswordSalt = null;
                    }

                    updatedUser.Email     = EmailTextBox.Text;
                    updatedUser.FirstName = FirstNameTextBox.Text;
                    updatedUser.LastName  = LastNameTextBox.Text;
                    userData.Users.Rows.Add(updatedUser);
                    ((INSurveyUserProvider)_userProvider).UpdateUser(userData);
                }

                UserSettingData userSettings = new UserSettingData();
                UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
                newUserSettings.UserId             = UserId;
                newUserSettings.IsAdmin            = IsAdminCheckBox.Checked;
                newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
                userSettings.UserSettings.Rows.Add(newUserSettings);
                new User().UpdateUserSettings(userSettings);

                // Notifiy containers that data has changed
                OnOptionChanged();

                BindSurveyDropDownLists();
                MessageLabel.Visible = true;
                ((PageBase)Page).ShowNormalMessage(MessageLabel, ((PageBase)Page).GetPageResource("UserUpdatedMessage"));
            }
        }
示例#21
0
 /// <summary>
 /// Updates users settings
 /// </summary>
 public void UpdateUserSettings(UserSettingData updatedUserSettings)
 {
     UserFactory.Create().UpdateUserSettings(updatedUserSettings);
 }
 /// <summary>
 /// Updates users settings
 /// </summary>
 public void UpdateUserSettings(UserSettingData updatedUserSettings)
 {
     UserFactory.Create().UpdateUserSettings(updatedUserSettings);
 }
		private void ApplyChangesButton_Click(object sender, System.EventArgs e)
		{
			if (ValidateFieldOptions())
			{
				if (new Users().IsAdministrator(UserId) && !IsAdminCheckBox.Checked &&  new Users().GetAdminCount() == 1)
				{
					MessageLabel.Visible = true;
                ((PageBase)Page).ShowErrorMessage(MessageLabel,((PageBase)Page).GetPageResource("CannotDeleteLastAdminMessage"));
					return;
				}

				if (_userProvider is INSurveyUserProvider)
				{
					NSurveyUserData userData = new NSurveyUserData();
					NSurveyUserData.UsersRow updatedUser = userData.Users.NewUsersRow();
					updatedUser.UserId = UserId;
					updatedUser.UserName = UserNameTextBox.Text;

					// if no password was specified the old one will be kept
                    if (PasswordTextBox.Text.Length > 0)
                    {
                        if (!Regex.IsMatch(PasswordTextBox.Text, @"(?=^.{8,12}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&amp;*()_+}{&quot;:;'?/&gt;.&lt;,])(?!.*\s).*$"))
                        {
                            MessageLabel.Visible = true;
                            ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("PasswordRequiredMessage"));
                            return;
                        }
                        else
                        {
                            var sec = new LoginSecurity();
                            updatedUser.PasswordSalt = sec.CreateSaltKey(5);
                            updatedUser.Password = sec.CreatePasswordHash(PasswordTextBox.Text, updatedUser.PasswordSalt);
                        }

                    }
                    else
                    {
                        updatedUser.Password = null;
                        updatedUser.PasswordSalt = null;
                    }
				
					updatedUser.Email = EmailTextBox.Text;
					updatedUser.FirstName = FirstNameTextBox.Text;
					updatedUser.LastName = LastNameTextBox.Text;
					userData.Users.Rows.Add(updatedUser);
					((INSurveyUserProvider)_userProvider).UpdateUser(userData);
				}

				UserSettingData userSettings = new UserSettingData();
				UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
				newUserSettings.UserId = UserId;
				newUserSettings.IsAdmin = IsAdminCheckBox.Checked;
				newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
				userSettings.UserSettings.Rows.Add(newUserSettings);
				new User().UpdateUserSettings(userSettings);

				// Notifiy containers that data has changed
				OnOptionChanged();

                BindSurveyDropDownLists();
				MessageLabel.Visible = true;
((PageBase)Page).ShowNormalMessage(MessageLabel,((PageBase)Page).GetPageResource("UserUpdatedMessage"));
			}
		}
示例#24
0
 /// <summary>
 /// Add users settings
 /// </summary>
 public void AddUserSettings(UserSettingData newUserSettings)
 {
     UserFactory.Create().AddUserSettings(newUserSettings);
 }
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs)
            {
                global::System.Xml.Schema.XmlSchemaComplexType type     = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence    sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                UserSettingData ds = new UserSettingData();

                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace       = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs       = new decimal(0);
                any1.MaxOccurs       = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace       = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs       = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name       = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name       = "tableTypeName";
                attribute2.FixedValue = "UserSettingsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace))
                {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();)
                        {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length))
                            {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) &&
                                        (s1.ReadByte() == s2.ReadByte()));)
                                {
                                    ;
                                }
                                if ((s1.Position == s1.Length))
                                {
                                    return(type);
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null))
                        {
                            s1.Close();
                        }
                        if ((s2 != null))
                        {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return(type);
            }
 /// <summary>
 /// Add users settings
 /// </summary>
 public void AddUserSettings(UserSettingData newUserSettings)
 {
     UserFactory.Create().AddUserSettings(newUserSettings);
 }
		private void CreateUserButton_Click(object sender, System.EventArgs e)
		{
			if (ValidateFieldOptions())
			{
				NSurveyUserData userData = new NSurveyUserData();
				NSurveyUserData.UsersRow newUser = userData.Users.NewUsersRow();

				if (_userProvider is INSurveyUserProvider)
				{
					//if (PasswordTextBox.Text.Length == 0)                    
                    if (!Regex.IsMatch(PasswordTextBox.Text, @"(?=^.{8,12}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&amp;*()_+}{&quot;:;'?/&gt;.&lt;,])(?!.*\s).*$"))

					{
						MessageLabel.Visible = true;
                        ((PageBase)Page).ShowErrorMessage(MessageLabel,((PageBase)Page).GetPageResource("PasswordRequiredMessage"));
						return;
					}

					newUser.UserName = UserNameTextBox.Text;
                    var sec = new LoginSecurity();
                    newUser.PasswordSalt = sec.CreateSaltKey(5);
					newUser.Password = sec.CreatePasswordHash(PasswordTextBox.Text,newUser.PasswordSalt);
					newUser.Email = EmailTextBox.Text;
					newUser.FirstName = FirstNameTextBox.Text;
					newUser.LastName = LastNameTextBox.Text;
					userData.Users.Rows.Add(newUser);
					((INSurveyUserProvider)_userProvider).AddUser(userData);
				}

				if (userData.Users.Rows.Count > 0)
				{
					UserSettingData userSettings = new UserSettingData();
					UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
					newUserSettings.UserId = userData.Users[0].UserId;
					newUserSettings.IsAdmin = IsAdminCheckBox.Checked;
					newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
					userSettings.UserSettings.Rows.Add(newUserSettings);
					new User().AddUserSettings(userSettings);
				}
				UINavigator.NavigateToUserManager(((PageBase)Page).getSurveyId(),((PageBase)Page).MenuIndex);
			}

		}