예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public static Preferences ToEntity(this ModelPreferences d)
        {
            return(new Preferences()
            {
                Id = d.Id,
                OrgId = d.OrgId,

                HomeDashboardId = d.HomeDashboardId,
                Theme = d.Theme,
                TimeZone = d.TimeZone
            });
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="teamId"></param>
        /// <returns></returns>
        public OperationResult <ModelPreferences> UpdatePreferences(ModelPreferences pref)
        {
            OperationResult <ModelPreferences> res;

            try
            {
                var entity = DataContext
                             .Preferences
                             .ForActiveOrg()
                             .FirstOrDefault(x => !x.UserId.HasValue && !x.TeamId.HasValue);

                if (null != entity)
                {
                    entity.Update(pref);
                }
                else
                {
                    entity = pref.ToEntity();
                    DataContext.Preferences.Add(entity);
                }

                DataContext.SaveChanges();

                var model = entity
                            .UpdateId(pref)
                            .ToModel();

                res = OperationResult <ModelPreferences> .Create(model);

                IncrementUsersVersion(DataContext.ActiveOrgId);
            }
            catch (Exception e)
            {
                res = OperationResult <ModelPreferences> .Create(ErrorCode.BadUpdateOrgPreferences, e);
            }

            return(res);
        }
예제 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="pref"></param>
 public void Update(ModelPreferences pref)
 {
     HomeDashboardId = pref.HomeDashboardId;
     Theme           = pref.Theme;
     TimeZone        = pref.TimeZone;
 }