예제 #1
0
 private void FormAutoNoteCompose_Load(object sender, EventArgs e)
 {
     _listAutoNoteCatDefs = Defs.GetDefsForCategory(DefCat.AutoNoteCats, true);
     _listAutoNotePrompts = new List <AutoNoteListItem>();
     _userOdCurPref       = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.AutoNoteExpandedCats).FirstOrDefault();
     FillListTree();
 }
예제 #2
0
        private void menuItemHomePageSave_Click(object sender, EventArgs e)
        {
            if (WikiPageCur == null)
            {
                MsgBox.Show(this, "Invalid wiki page selected.");
                return;
            }
            List <UserOdPref> listUserOdPrefs = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.WikiHomePage);

            if (listUserOdPrefs.Count > 0)
            {
                //User is updating their current home page to a new one.
                listUserOdPrefs[0].ValueString = WikiPageCur.PageTitle;
                UserOdPrefs.Update(listUserOdPrefs[0]);
            }
            else
            {
                //User is saving a custom home page for the first time.
                UserOdPref userOdPref = new UserOdPref();
                userOdPref.UserNum     = Security.CurUser.UserNum;
                userOdPref.ValueString = WikiPageCur.PageTitle;
                userOdPref.FkeyType    = UserOdFkeyType.WikiHomePage;
                UserOdPrefs.Insert(userOdPref);
            }
            MsgBox.Show(this, "Home page saved.");
        }
예제 #3
0
 private void FormUserSetting_Load(object sender, EventArgs e)
 {
     _suppressLogOffMessage = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.SuppressLogOffMessage).FirstOrDefault();
     if (_suppressLogOffMessage != null)           //Does exist in the database
     {
         checkSuppressMessage.Checked = true;
     }
 }
예제 #4
0
 private void FormAutoNotes_Load(object sender, System.EventArgs e)
 {
     if (IsSelectionMode)
     {
         butAdd.Visible         = false;
         labelSelection.Visible = true;
     }
     _userOdCurPref = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.AutoNoteExpandedCats).FirstOrDefault();
     AutoNoteL.FillListTree(treeNotes, _userOdCurPref);
 }
예제 #5
0
 private void RefreshUserOdPrefs()
 {
     if (Security.CurUser == null || Security.CurUser.UserNum < 1)
     {
         return;
     }
     _userOdPrefClearNote            = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.CommlogPersistClearNote).FirstOrDefault();
     _userOdPrefEndDate              = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.CommlogPersistClearEndDate).FirstOrDefault();
     _userOdPrefUpdateDateTimeNewPat = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.CommlogPersistUpdateDateTimeWithNewPatient).FirstOrDefault();
 }
예제 #6
0
 private void FormTaskListBlock_Load(object sender, EventArgs e)
 {
     _dictAllTaskLists             = TaskLists.GetAll().ToDictionary(x => x.TaskListNum);//Used so we don't need to acces the database multiple times
     _listUserOdPrefTaskListBlocks = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.TaskListBlock);
     //We pull the list then save it so the sync moethod is able to run correctly.
     //This correctly fixes users having duplicate task list preferences in the databse.
     _listUserDBPrefs = _listUserOdPrefTaskListBlocks.Select(x => x.Clone()).ToList();
     _listUserOdPrefTaskListBlocks = _listUserOdPrefTaskListBlocks.GroupBy(x => x.Fkey).Select(x => x.First()).ToList();
     InitializeTree();
 }
예제 #7
0
        ///<summary>Loads the user's home page or the wiki page with the title of "Home" if a custom home page has not been set before.</summary>
        private void LoadWikiPageHome()
        {
            historyNavBack--;            //We have to decrement historyNavBack to tell whether or not we need to branch our page history or add to page history
            List <UserOdPref> listUserOdPrefs = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.WikiHomePage);

            if (listUserOdPrefs.Count > 0)
            {
                LoadWikiPage(listUserOdPrefs[0].ValueString);
            }
            else
            {
                LoadWikiPage("Home");
            }
        }
예제 #8
0
 private void FormUserSetting_Load(object sender, EventArgs e)
 {
     //Logoff After Minutes
     _logOffAfterMinutes             = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.LogOffTimerOverride).FirstOrDefault();
     _logOffAfterMinutesInitialValue = (_logOffAfterMinutes == null) ? "" : _logOffAfterMinutes.ValueString;
     textLogOffAfterMinutes.Text     = _logOffAfterMinutesInitialValue;
     //Suppress Logoff Message
     _suppressLogOffMessage = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.SuppressLogOffMessage).FirstOrDefault();
     if (_suppressLogOffMessage != null)           //Does exist in the database
     {
         checkSuppressMessage.Checked = true;
     }
     //Theme Combo
     FillThemeCombo();
 }
예제 #9
0
 ///<summary>Attempts to find a UserOdPref indicating to the the most recently loaded layout for user, defaulting to the practice default if not
 ///found, then defaulting to the first SheetDef in listLayoutSheetDefs.  Returns null if listLayoutSheetDefs is null or empty.</summary>
 public SheetDef GetLayoutForUser()
 {
     //Avoid changing the layout when user is simply navigating and switching view modes.
     //If this user is using the practice default and then the practice default is changed by another user
     //we want to continue to use the same layout the user is currently viewing.
     //If the user logs off/exits for the day the next time they log in they will get the new practice default layout.
     if (!_hasUserLoggedOff &&
         _userNumCur == Security.CurUser.UserNum &&
         _clinicNumCur == Clinics.ClinicNum &&
         _sheetDefDynamicLayoutCur != null &&
         ListSheetDefsLayout.Any(x => x.SheetDefNum == _sheetDefDynamicLayoutCur.SheetDefNum))
     {
         return(ListSheetDefsLayout.First(x => x.SheetDefNum == _sheetDefDynamicLayoutCur.SheetDefNum));
     }
     #region UserOdPref based layout selection. If no UserOdPref use practice default or first item in list as last line of defense.
     SheetDef          def       = null;
     List <UserOdPref> listPrefs = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.DynamicChartLayout);
     UserOdPref        userPref  = listPrefs.FirstOrDefault();                          //There is only at most a single link per user.
     if (userPref != null &&      //User has viewed the chart module before
         ListSheetDefsLayout.Any(x => x.SheetDefNum == userPref.Fkey))                  //Layout still exists in the list of options
     {
         def = ListSheetDefsLayout.FirstOrDefault(x => x.SheetDefNum == userPref.Fkey); //Use previous layout when not practice or Clinic default.
     }
     else                                                                               //Try to use the practice default.
                                                                                        //If there is a Clinic default, get it.
     {
         if (!PrefC.HasClinicsEnabled || Clinics.ClinicNum == 0 ||
             !ClinicPrefs.TryGetLong(PrefName.SheetsDefaultChartModule, Clinics.ClinicNum, out long sheetDefNum))
         {
             //Either, clinics are off, HQ is selected, or ClinicPref did not exist.
             if (_hasUserLoggedOff)                     //Currently the cache is not loaded fast enough after logging back on to trust.
             {
                 sheetDefNum = PIn.Long(PrefC.GetStringNoCache(PrefName.SheetsDefaultChartModule));
             }
             else
             {
                 sheetDefNum = PrefC.GetLong(PrefName.SheetsDefaultChartModule);                      //Serves as our HQ default.
             }
         }
         def = ListSheetDefsLayout.FirstOrDefault(x => x.SheetDefNum == sheetDefNum); //Can be null
     }
     if (def == null)                                                                 //Just in case.
     {
         def = ListSheetDefsLayout[0];                                                //Use first in the list.
     }
     #endregion
     return(def);
 }
예제 #10
0
        public FormTaskOptions(bool isShowFinishedTasks, DateTime dateTimeStartShowFinished, bool isAptDateTimeSort)
        {
            InitializeComponent();
            Lan.F(this);
            checkShowFinished.Checked         = isShowFinishedTasks;
            textStartDate.Text                = dateTimeStartShowFinished.ToShortDateString();
            checkTaskSortApptDateTime.Checked = isAptDateTimeSort;
            List <UserOdPref> listPrefs = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.TaskCollapse);

            _taskCollapsedPref     = listPrefs.Count == 0? null : listPrefs[0];
            checkCollapsed.Checked = _taskCollapsedPref == null ? false : PIn.Bool(_taskCollapsedPref.ValueString);
            if (!isShowFinishedTasks)
            {
                labelStartDate.Enabled = false;
                textStartDate.Enabled  = false;
            }
        }
예제 #11
0
 private void FormCommItemUserPrefs_Load(object sender, EventArgs e)
 {
     if (Security.CurUser == null || Security.CurUser.UserNum < 1)
     {
         MsgBox.Show(this, "Invalid user currently logged in.  No user preferences can be saved.");
         DialogResult = DialogResult.Abort;
         return;
     }
     _userNumCur = Security.CurUser.UserNum;
     //Add the user name of the user currently logged in to the title of this window much like we do for FormOpenDental.
     this.Text                              += " {" + Security.CurUser.UserName + "}";
     _userOdPrefClearNote                    = UserOdPrefs.GetByUserAndFkeyType(_userNumCur, UserOdFkeyType.CommlogPersistClearNote).FirstOrDefault();
     _userOdPrefEndDate                      = UserOdPrefs.GetByUserAndFkeyType(_userNumCur, UserOdFkeyType.CommlogPersistClearEndDate).FirstOrDefault();
     _userOdPrefUpdateDateTimeNewPat         = UserOdPrefs.GetByUserAndFkeyType(_userNumCur, UserOdFkeyType.CommlogPersistUpdateDateTimeWithNewPatient).FirstOrDefault();
     checkCommlogPersistClearNote.Checked    = (_userOdPrefClearNote == null) ? true : PIn.Bool(_userOdPrefClearNote.ValueString);
     checkCommlogPersistClearEndDate.Checked = (_userOdPrefEndDate == null) ? true : PIn.Bool(_userOdPrefEndDate.ValueString);
     checkCommlogPersistUpdateDateTimeWithNewPatient.Checked = (_userOdPrefUpdateDateTimeNewPat == null) ? true : PIn.Bool(_userOdPrefUpdateDateTimeNewPat.ValueString);
 }
예제 #12
0
 private void FillThemeCombo()
 {
     foreach (OdTheme theme in Enum.GetValues(typeof(OdTheme)))
     {
         if (theme == OdTheme.None)
         {
             continue;
         }
         comboTheme.Items.Add(theme);
     }
     _themePref = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.UserTheme).FirstOrDefault();
     if (_themePref != null)           //user has chosen a theme before. Display their currently chosen theme.
     {
         comboTheme.SelectedIndex = comboTheme.Items.IndexOf((OdTheme)_themePref.Fkey);
     }
     else              //user has not chosen a theme before. Show them the current default.
     {
         comboTheme.SelectedIndex = PrefC.GetInt(PrefName.ColorTheme);
     }
 }
예제 #13
0
 private void FormSupplyOrders_Load(object sender, EventArgs e)
 {
     Height                   = SystemInformation.WorkingArea.Height; //max height
     Location                 = new Point(Location.X, 0);             //move to top of screen
     _listSupplyOrders        = new List <SupplyOrder>();
     _listSuppliers           = Suppliers.GetAll();
     comboSupplier.IncludeAll = true;
     comboSupplier.Items.AddList(_listSuppliers, x => x.Name);
     comboSupplier.IsAllSelected = true;
     _userPrefShowReceived       = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.ReceivedSupplyOrders).FirstOrDefault();
     if (_userPrefShowReceived != null && PIn.Bool(_userPrefShowReceived.ValueString))
     {
         checkShowReceived.Checked = true;
     }
     else
     {
         checkShowReceived.Checked = false;
     }
     FillGridOrders();
     gridOrders.ScrollToEnd();
 }
예제 #14
0
 private void FormAutoNoteExport_Load(object sender, System.EventArgs e)
 {
     _userPrefExpandedDefNums = UserOdPrefs.GetByUserAndFkeyType(Security.CurUser.UserNum, UserOdFkeyType.AutoNoteExpandedCats).FirstOrDefault();
     AutoNoteL.FillListTree(treeNotes, _userPrefExpandedDefNums);
 }