protected ZbTask<CalendarConfigurationList> GetSavedConfigAsync() { if (CurrentPrincipal == null) return new ZbTask<CalendarConfigurationList>(new CalendarConfigurationList()); var ctx = ViewModelFactory.CreateNewContext(); var idenityTask = ctx.FindAsync<Identity>(CurrentPrincipal.ID); return new ZbTask<CalendarConfigurationList>(idenityTask) .OnResult(t => { try { CalendarConfigurationList obj; var identity = idenityTask.Result; try { obj = !string.IsNullOrEmpty(identity.CalendarConfiguration) ? identity.CalendarConfiguration.FromXmlString<CalendarConfigurationList>() : new CalendarConfigurationList(); } catch (Exception ex) { Logging.Client.Warn("Error during deserializing CalendarConfigurationList, creating a new one", ex); obj = new CalendarConfigurationList(); } t.Result = obj; } finally { ctx.Dispose(); } }); }
protected CalendarConfigurationList GetSavedConfig() { if (CurrentPrincipal == null) return new CalendarConfigurationList(); using (var ctx = ViewModelFactory.CreateNewContext()) { var idenity = ctx.Find<Identity>(CurrentPrincipal.ID); CalendarConfigurationList obj; try { obj = !string.IsNullOrEmpty(idenity.CalendarConfiguration) ? idenity.CalendarConfiguration.FromXmlString<CalendarConfigurationList>() : new CalendarConfigurationList(); } catch (Exception ex) { Logging.Client.Warn("Error during deserializing CalendarConfigurationList, creating a new one", ex); obj = new CalendarConfigurationList(); } return obj; } }
protected void SaveConfig(CalendarConfigurationList config) { if (config == null) throw new ArgumentNullException("config"); using (var ctx = ViewModelFactory.CreateNewContext()) { var idenity = ctx.Find<Identity>(CurrentPrincipal.ID); idenity.CalendarConfiguration = config.ToXmlString(); ctx.SubmitChanges(); } }
protected CalendarConfiguration ExtractItem(cal.CalendarBook cal, CalendarConfigurationList config) { if (config == null) return null; return config.Configs.FirstOrDefault(i => i.Calendar == cal.ID); }