예제 #1
0
        public SettingsChatItemViewModel(ChatConfig config)
        {
            chatDataService = ServiceLocator.Current.GetInstance <IChatDataService>();
            chatConfig      = config;

            _enabled = config.Enabled;
            _name    = config.ChatName;
            _iconURL = config.IconURL ?? _iconURL;

            chat = chatDataService.GetChat(config.ChatName);
            if (chat != null)
            {
                _status = chat.Status;
            }

            foreach (var param in config.Parameters)
            {
                if (param.IsVisible)
                {
                    SettingsFields.Add(
                        new SettingsFieldViewModel(param)
                        );
                }
            }
        }
예제 #2
0
 private void ReadXml()
 {
     if (File.Exists(_xmlName))
     {
         XmlSerializer ser    = new XmlSerializer(typeof(SettingsFields));
         TextReader    reader = new StreamReader(_xmlName);
         _fields = ser.Deserialize(reader) as SettingsFields;
         reader.Close();
     }
 }
예제 #3
0
        protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
        {
            DataTemplate retTemplate = DefaultTemplate;

            SettingsFields listViewItem = item as SettingsFields;

            if (listViewItem != null)
            {
                retTemplate = listViewItem.FieldName.Equals("Camera Quality") ? CameraQualityTemplate : DefaultTemplate;
            }

            return(retTemplate);
        }
 private void Initialize(IService service)
 {
     _service = service;
     _enabled = _service.Config.Enabled;
     _name    = _service.Config.ServiceName;
     _iconURL = service.Config.IconURL;
     _status  = _service.Status;
     foreach (var parameter in service.Config.Parameters)
     {
         if (parameter.IsVisible)
         {
             SettingsFields.Add(new SettingsFieldViewModel(parameter));
         }
     }
 }
        private async void SettingsListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            SettingsFields item = e.Item as SettingsFields;

            if (item.AssociatedPageType == typeof(object))
            {
                // This is the "RATE IT NOW" item, so direct the user to the app page on the AppStore or PlayStore to rate the app.
                await Launcher.OpenAsync(new Uri(HomePage._appUrlOnAppStore));
            }
            else
            {
                var page = Activator.CreateInstance(item.AssociatedPageType) as PopupPage;
                await PopupNavigation.Instance.PushAsync(page, true);
            }
        }
예제 #6
0
        public static T GetConfigValue <T>(SettingsFields field) where T : IConvertible
        {
            switch (field)
            {
            case SettingsFields.COMPANY_NAME:
            case SettingsFields.COMPANY_ADDRESS_1:
            case SettingsFields.COMPANY_ADDRESS_2:
            case SettingsFields.COMPANY_TAX_ID:
            case SettingsFields.COMPANY_BANK_ACCOUNT:
            case SettingsFields.COMPANY_DIRECTOR:
            case SettingsFields.REPAIRMAN:
                return((T)Convert.ChangeType(GetStringValue(settingsFieldsMapper[field]), typeof(T)));

            case SettingsFields.PAYMENT_DEADLINE:
                return((T)Convert.ChangeType(GetIntValue(settingsFieldsMapper[field]), typeof(T)));
            }

            return(default(T));
        }
예제 #7
0
 public SettingsChatItemViewModel(ISettingsDataService dataService)
 {
     _dataService = dataService;
     _dataService.GetRandomChatSetting(
         (item) =>
     {
         _enabled = item.Enabled;
         _name    = item.ChatName;
         _iconURL = item.IconURL ?? _iconURL;
         foreach (var field in item.Parameters)
         {
             if (field.IsVisible)
             {
                 SettingsFields.Add(
                     new SettingsFieldViewModel(field)
                     );
             }
         }
     });
 }
예제 #8
0
 public static void SetConfigValue <T>(SettingsFields field, T value)
 {
     SetConfigValue(settingsFieldsMapper[field], value);
 }