Пример #1
0
        ///<summary>Updates or inserts (if necessary) the user's preference dictating which chart layout sheet def the user last viewed.
        ///Should only be called when a user selects a specific layout.</summary>
        private void UpdateChartLayoutUserPref()
        {
            UserOdPref userPref = UserOdPrefs.GetFirstOrNewByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.DynamicChartLayout);

            userPref.Fkey = _sheetDefDynamicLayoutCur.SheetDefNum;
            if (!PrefC.HasClinicsEnabled || Clinics.ClinicNum == 0 ||
                !ClinicPrefs.TryGetLong(PrefName.SheetsDefaultChartModule, Clinics.ClinicNum, out long defaultSheetDefNum))
            {
                defaultSheetDefNum = PrefC.GetLong(PrefName.SheetsDefaultChartModule);
            }
            if (userPref.Fkey == defaultSheetDefNum)
            {
                if (!userPref.IsNew)
                {
                    UserOdPrefs.Delete(userPref.UserOdPrefNum);                    //Delete old entry, this will cause user to view any newly selected practice or clinic defaults.
                }
                //User selected the practice or clinic default, flag so that this user continues to get the appropriate default.
                return;
            }
            UserOdPrefs.Upsert(userPref);
        }