示例#1
0
 public override void OnSectionActivated()
 {
   _needRestart = false;
   _ignoreEvents = true;
   TvBusinessLayer layer = new TvBusinessLayer();
   base.OnSectionActivated();
   listView1.Items.Clear();
   ListViewGroup listGroup = listView1.Groups["listViewGroupAvailable"];
   foreach (ITvServerPlugin plugin in _loader.Plugins)
   {
     ListViewItem item = listView1.Items.Add("");
     item.Group = listGroup;
     item.SubItems.Add(plugin.Name);
     item.SubItems.Add(plugin.Author);
     item.SubItems.Add(plugin.Version);
     Setting setting = layer.GetSetting(String.Format("plugin{0}", plugin.Name), "false");
     item.Checked = setting.Value == "true";
     item.Tag = setting;
   }
   listGroup = listView1.Groups["listViewGroupIncompatible"];
   foreach (Type plugin in _loader.IncompatiblePlugins)
   {
     ListViewItem item = listView1.Items.Add("");
     item.Group = listGroup;
     item.SubItems.Add(plugin.Name);
     item.SubItems.Add("Unknown");
     item.SubItems.Add(plugin.Assembly.GetName().Version.ToString());
     item.Checked = false;
   }
   listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
   _ignoreEvents = false;
 }
 private static void PersistPortalChannel(PortalChannel pChannel)
 {
   TvBusinessLayer layer = new TvBusinessLayer();
   Channel dbPortalChannel = layer.GetChannelByTuningDetail(pChannel.NetworkId, pChannel.TransportId,
                                                            pChannel.ServiceId);
   if (dbPortalChannel == null)
   {
     Log.Info("Portal channel with networkId={0}, transportId={1}, serviceId={2} not found", pChannel.NetworkId,
              pChannel.TransportId, pChannel.ServiceId);
     return;
   }
   Gentle.Framework.Broker.Execute("delete from ChannelLinkageMap WHERE idPortalChannel=" + dbPortalChannel.IdChannel);
   foreach (LinkedChannel lChannel in pChannel.LinkedChannels)
   {
     Channel dbLinkedChannnel = layer.GetChannelByTuningDetail(lChannel.NetworkId, lChannel.TransportId,
                                                               lChannel.ServiceId);
     if (dbLinkedChannnel == null)
     {
       Log.Info("Linked channel with name={0}, networkId={1}, transportId={2}, serviceId={3} not found",
                lChannel.Name, lChannel.NetworkId, lChannel.TransportId, lChannel.ServiceId);
       continue;
     }
     dbLinkedChannnel.DisplayName = lChannel.Name;
     dbLinkedChannnel.Persist();
     ChannelLinkageMap map = new ChannelLinkageMap(dbPortalChannel.IdChannel, dbLinkedChannnel.IdChannel,
                                                   lChannel.Name);
     map.Persist();
   }
 }
 protected CardAllocationBase(TvBusinessLayer businessLayer, IController controller)
 {      
   _businessLayer = businessLayer;
   _controller = controller;
   //_tuningChannelMapping = new Dictionary<int, IList<IChannel>>();
   //_channelMapping = new Dictionary<int, bool>();
 }
示例#4
0
    private void LoadLanguages()
    {
      _loaded = true;
      mpListView2.BeginUpdate();
      try
      {
        mpListView2.Items.Clear();
        List<KeyValuePair<String, String>> languages = TvLibrary.Epg.Languages.Instance.GetLanguagePairs();

        TvBusinessLayer layer = new TvBusinessLayer();
        Setting setting = layer.GetSetting(languagesSettingsKey);
        foreach (KeyValuePair<String, String> language in languages)
        {
          ListViewItem item = new ListViewItem(new string[] { language.Value, language.Key });
          mpListView2.Items.Add(item);
          item.Tag = language.Key;
          item.Checked = setting.Value.IndexOf((string)item.Tag) >= 0;
        }
        mpListView2.Sort();

      }
      finally
      {
        mpListView2.EndUpdate();
      }
    }
示例#5
0
    public void DoCopy()
    {
      try
      {
        string baseTs = Path.GetDirectoryName(_fileStart) + "\\" +
                        Path.GetFileNameWithoutExtension(_fileStart).Substring(0, 19);
        Log.Info("TsCopier: baseTs: {0}", baseTs);
        int idCurrent = Int32.Parse(Path.GetFileNameWithoutExtension(_fileStart).Remove(0, 19));
        int idStart = idCurrent;
        int idStop = Int32.Parse(Path.GetFileNameWithoutExtension(_fileEnd).Remove(0, 19));
        TvBusinessLayer layer = new TvBusinessLayer();
        decimal maxFiles = Convert.ToDecimal(layer.GetSetting("timeshiftMaxFiles", "20").Value);
        Log.Info("TsCopier: baseTs={0} idCurrent={1} idStop={2} maxFiles={3}", baseTs, idCurrent, idStop, maxFiles);
        Directory.CreateDirectory(Path.GetDirectoryName(_recording) + "\\" +
                                  Path.GetFileNameWithoutExtension(_recording) + "_tsbuffers");
        int cycles = 1;
        if (idStop > idStart)
          cycles = (idStop - idStart) + 1;
        else if (idStop < idStart)
          cycles = (int)(maxFiles - idStart) + 1 + idStop;
        for (int i = idStart; i <= cycles; i++)
        {
          string currentSourceBuffer = baseTs + idCurrent.ToString() + ".ts";
          string targetTs = Path.GetDirectoryName(_recording) + "\\" + Path.GetFileNameWithoutExtension(_recording) +
                            "_tsbuffers\\" + Path.GetFileName(currentSourceBuffer);
          Log.Info("TsCopier: Copying - source: {0}, target: {1}", currentSourceBuffer, targetTs);
          FileStream reader = new FileStream(currentSourceBuffer, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
          FileStream writer = new FileStream(targetTs, FileMode.CreateNew, FileAccess.Write);

          reader.Seek(_posStart, SeekOrigin.Begin);
          byte[] buf = new byte[1024];
          int bytesRead = reader.Read(buf, 0, 1024);
          while (bytesRead > 0)
          {
            if (reader.Position > _posEnd && currentSourceBuffer == _fileEnd)
              bytesRead -= (int)(reader.Position - _posEnd);
            if (bytesRead <= 0)
              break;
            writer.Write(buf, 0, bytesRead);
            bytesRead = reader.Read(buf, 0, 1024);
          }
          writer.Flush();
          writer.Close();
          writer.Dispose();
          writer = null;
          reader.Close();
          reader.Dispose();
          reader = null;
          Log.Info("TsCopier: copying done.");
          idCurrent++;
          if (idCurrent > maxFiles)
            idCurrent = 1;
        }
        Log.Info("TsCopier: processed all timeshift buffer files for recording.");
      }
      catch (Exception ex)
      {
        Log.Write(ex);
      }
    }
示例#6
0
        public TVAccessService()
        {
            _tvBusiness = new TvBusinessLayer();

            // try to initialize Gentle and TVE API
            InitializeGentleAndTVE();
        }
    public DateTime GetNextWakeupTime(DateTime earliestWakeupTime)
    {
      TvBusinessLayer layer = new TvBusinessLayer();
      bool remoteSchedulerEnabled = (layer.GetSetting("xmlTvRemoteSchedulerEnabled", "false").Value == "true");
      if (!remoteSchedulerEnabled)
      {
        return DateTime.MaxValue;
      }

      DateTime now = DateTime.Now;
      DateTime defaultRemoteScheduleTime = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
      string remoteScheduleTimeStr =
        layer.GetSetting("xmlTvRemoteScheduleTime", defaultRemoteScheduleTime.ToString()).Value;

      DateTime remoteScheduleTime =
        (DateTime)
        (System.ComponentModel.TypeDescriptor.GetConverter(new DateTime(now.Year, now.Month, now.Day)).ConvertFrom(
          remoteScheduleTimeStr));

      if (remoteScheduleTime == DateTime.MinValue)
      {
        remoteScheduleTime = defaultRemoteScheduleTime;
      }

      if ((now < remoteScheduleTime) && (remoteScheduleTime > DateTime.MinValue))
      {
        remoteScheduleTime.AddDays(1);
      }

      Log.Debug(this._handlerName + ".GetNextWakeupTime {0}", remoteScheduleTime);

      remoteScheduleTime.AddMinutes(-1); // resume 60sec before      

      return remoteScheduleTime;
    }
    public override void OnSectionActivated()
    {
      _cards = Card.ListAll();
      base.OnSectionActivated();
      mpGroupBox1.Visible = false;
      RemoteControl.Instance.EpgGrabberEnabled = true;

      comboBoxGroups.Items.Clear();
      IList<ChannelGroup> groups = ChannelGroup.ListAll();
      foreach (ChannelGroup group in groups)
        comboBoxGroups.Items.Add(new ComboBoxExItem(group.GroupName, -1, group.IdGroup));
      if (comboBoxGroups.Items.Count == 0)
        comboBoxGroups.Items.Add(new ComboBoxExItem("(no groups defined)", -1, -1));
      comboBoxGroups.SelectedIndex = 0;

      timer1.Enabled = true;

      mpListView1.Items.Clear();

      buttonRestart.Visible = false;
      mpButtonRec.Enabled = false;

      TvBusinessLayer layer = new TvBusinessLayer();
      if (layer.GetSetting("idleEPGGrabberEnabled", "yes").Value != "yes")
      {
        mpButtonReGrabEpg.Enabled = false;
      }

      _channelNames = new Dictionary<int, string>();
      IList<Channel> channels = Channel.ListAll();
      foreach (Channel ch in channels)
      {
        _channelNames.Add(ch.IdChannel, ch.DisplayName);
      }
    }
示例#9
0
    private void LoadLanguages()
    {
      _loaded = true;
      mpListView2.BeginUpdate();
      try
      {
        mpListView2.Items.Clear();
        TvLibrary.Epg.Languages languages = new TvLibrary.Epg.Languages();
        List<String> codes = languages.GetLanguageCodes();
        List<String> list = languages.GetLanguages();

        TvBusinessLayer layer = new TvBusinessLayer();
        Setting setting = layer.GetSetting(languagesSettingsKey);

        for (int j = 0; j < list.Count; j++)
        {
          ListViewItem item = new ListViewItem(new string[] { list[j], codes[j] });
          mpListView2.Items.Add(item);
          item.Tag = codes[j];
          item.Checked = setting.Value.IndexOf((string)item.Tag) >= 0;
        }
        mpListView2.Sort();

      }
      finally
      {
        mpListView2.EndUpdate();
      }
    }
示例#10
0
    public override void LoadSettings()
    {
      var layer = new TvBusinessLayer();      
      numEpgGrabber.Value = ValueSanityCheck(
        Convert.ToDecimal(layer.GetSetting(UserFactory.EPG_TAGNAME, UserFactory.EPG_PRIORITY.ToString()).Value), 1, 100);

      numDefaultUser.Value = ValueSanityCheck(
        Convert.ToDecimal(layer.GetSetting(UserFactory.USER_TAGNAME, UserFactory.USER_PRIORITY.ToString()).Value), 1, 100);

      numScheduler.Value = ValueSanityCheck(
        Convert.ToDecimal(layer.GetSetting(UserFactory.SCHEDULER_TAGNAME, UserFactory.SCHEDULER_PRIORITY.ToString()).Value), 1, 100);

      numVirtualuser.Value = Convert.ToInt32(layer.GetSetting("VirtualUserIdleTime", "5").Value);

      Setting setting = layer.GetSetting(UserFactory.CUSTOM_TAGNAME, "");
      gridUserPriorities.Rows.Clear();
      string[] users = setting.Value.Split(';');
      foreach (string user in users)
      {
        string[] shareItem = user.Split(',');
        if ((shareItem.Length.Equals(2)) &&
            ((shareItem[0].Trim().Length > 0) ||
             (shareItem[1].Trim().Length > 0)))
        {
          gridUserPriorities.Rows.Add(shareItem);
        }
      }
    }
示例#11
0
        public TvWishListSetup()
        {
            InitializeComponent();

            myTvWishes = new TvWishProcessing();
            PluginGuiLocalizeStrings.LoadMPlanguage();
            //initialize TV database
            myinterface = new ServiceInterface();
            //try to shorten wait time when switching to the page by opening the connection at the beginning
            myinterface.ConnectToDatabase();

            TvBusinessLayer layer = new TvBusinessLayer();
            Setting setting;
            //default pre and post record from general recording settings
            setting = layer.GetSetting("preRecordInterval", "5");
            prerecord = setting.Value;

            setting = layer.GetSetting("postRecordInterval", "5");
            postrecord = setting.Value;

            IList<Channel> allChannels = Channel.ListAll();
            IList<ChannelGroup> allChannelGroups = ChannelGroup.ListAll();
            IList<RadioChannelGroup> allRadioChannelGroups = RadioChannelGroup.ListAll();
            IList<Card> allCards = Card.ListAll();

            Log.Debug("allCards.Count=" + allCards.Count.ToString());

            myTvWishes.TvServerSettings(prerecord, postrecord, allChannelGroups, allRadioChannelGroups, allChannels, allCards, TvWishItemSeparator);

            LanguageTranslation();

            LoadSettings();

        }
 private void LoadSettings()
 {
   TvBusinessLayer layer = new TvBusinessLayer();
   double timeout;
   if (!double.TryParse(layer.GetSetting("timeshiftingEpgGrabberTimeout", "2").Value, out timeout))
     timeout = 2;
   _epgTimer.Interval = timeout * 60000;
 }
示例#13
0
        public TVAccessService()
        {
            _tvUsers = new Dictionary<string, IUser>();
            _tvBusiness = new TvBusinessLayer();

            // try to initialize Gentle and TVE API
            InitializeGentleAndTVE();
        }
示例#14
0
    private void buttonOk_Click(object sender, EventArgs e)
    {
      if (textBoxName.Text.Length == 0)
      {
        MessageBox.Show("Please enter a name for this channel");
        return;
      }
      int channelNumber;
      if (!Int32.TryParse(textBoxChannelNumber.Text, out channelNumber))
      {
        MessageBox.Show(this, "Please enter a valid channel number!", "Incorrect input");
        return;
      }
      if (channelNumber < 0)
      {
        MessageBox.Show(this, "Please enter a positive channel number!", "Incorrect input");
        return;
      }
      _channel.DisplayName = textBoxName.Text;
      _channel.ChannelNumber = channelNumber;
      _channel.VisibleInGuide = checkBoxVisibleInTvGuide.Checked;
      _channel.IsTv = _isTv;
      _channel.IsRadio = !_isTv;
      _channel.Persist();
      if (_newChannel)
      {
        TvBusinessLayer layer = new TvBusinessLayer();
        if (_isTv)
        {
          layer.AddChannelToGroup(_channel, TvConstants.TvGroupNames.AllChannels);
        }
        else
        {
          layer.AddChannelToRadioGroup(_channel, TvConstants.RadioGroupNames.AllChannels);
        }
      }
      foreach (TuningDetail detail in _tuningDetails)
      {
        detail.IdChannel = _channel.IdChannel;
        detail.IsRadio = !_isTv;
        detail.IsTv = _isTv;
        if (string.IsNullOrEmpty(detail.Name))
        {
          detail.Name = _channel.DisplayName;
        }
        detail.Persist();
      }

      foreach (TuningDetail detail in _tuningDetailsToDelete)
      {
        detail.Remove();
      }


      DialogResult = DialogResult.OK;
      Close();
    }
示例#15
0
    private ITvSubChannel _subchannel; // the active sub channel to record

    /// <summary>
    /// Initializes a new instance of the <see cref="Recording"/> class.
    /// </summary>
    /// <param name="cardHandler">The card handler.</param>
    public Recorder(ITvCardHandler cardHandler)
    {
      _eventAudio = new ManualResetEvent(false);
      _eventVideo = new ManualResetEvent(false);

      TvBusinessLayer layer = new TvBusinessLayer();
      _cardHandler = cardHandler;
      _timeshiftingEpgGrabberEnabled = (layer.GetSetting("timeshiftingEpgGrabberEnabled", "no").Value == "yes");
      _waitForTimeshifting = Int32.Parse(layer.GetSetting("timeshiftWaitForTimeshifting", "15").Value);
    }
示例#16
0
 public override void OnSectionDeActivated()
 {
   TvBusinessLayer layer = new TvBusinessLayer();
   Setting setting = layer.GetSetting("CMDebugMode", "false");
   if (debug.Checked)
     setting.Value = "true";
   else
     setting.Value = "false";
   setting.Persist();
   base.OnSectionDeActivated();
 }
示例#17
0
    public override void OnSectionDeActivated()
    {
      TvBusinessLayer layer = new TvBusinessLayer();
      Setting setting = layer.GetSetting("xmlTv");
      setting.Value = textBoxFolder.Text;
      setting.Persist();

      setting = layer.GetSetting("xmlTvUseTimeZone", "true");
      setting.Value = checkBox1.Checked ? "true" : "false";
      setting.Persist();

      setting = layer.GetSetting("xmlTvImportXML", "true");
      setting.Value = cbImportXML.Checked ? "true" : "false";
      setting.Persist();

      setting = layer.GetSetting("xmlTvImportLST", "true");
      setting.Value = cbImportLST.Checked ? "true" : "false";
      setting.Persist();

      setting = layer.GetSetting("xmlTvTimeZoneHours", "0");
      setting.Value = textBoxHours.Text;
      setting.Persist();

      setting = layer.GetSetting("xmlTvTimeZoneMins", "0");
      setting.Value = textBoxMinutes.Text;
      setting.Persist();

      setting = layer.GetSetting("xmlTvDeleteBeforeImport", "true");
      setting.Value = checkBoxDeleteBeforeImport.Checked ? "true" : "false";
      setting.Persist();

      setting = layer.GetSetting("xmlTvRemoteURL", "http://www.mysite.com/TVguide.xml");
      setting.Value = txtRemoteURL.Text;
      setting.Persist();

      setting = layer.GetSetting("xmlTvRemoteScheduleTime", "06:30");
      DateTimeFormatInfo DTFI = new DateTimeFormatInfo();
      DTFI.ShortDatePattern = _shortTimePattern24Hrs;
      DateTime xmlTvRemoteScheduleTime = dateTimePickerScheduler.Value;
      setting.Value = xmlTvRemoteScheduleTime.ToString("t", DTFI);
      setting.Persist();

      setting = layer.GetSetting("xmlTvRemoteSchedulerEnabled", "false");
      setting.Value = chkScheduler.Checked ? "true" : "false";
      setting.Persist();

      setting = layer.GetSetting("xmlTvRemoteSchedulerDownloadOnWakeUpEnabled", "false");
      setting.Value = radioDownloadOnWakeUp.Checked ? "true" : "false";
      setting.Persist();


      base.OnSectionDeActivated();
    }
示例#18
0
 private void ActivePortsHandler_OnPowerSchedulerEvent(PowerSchedulerEventArgs args)
 {
   switch (args.EventType)
   {
     case PowerSchedulerEventType.Started:
     case PowerSchedulerEventType.Elapsed:
       TvBusinessLayer layer = new TvBusinessLayer();
       _enabled = Convert.ToBoolean(layer.GetSetting("PowerSchedulerActivePortsHandlerEnabled", "true").Value);
       _useAwayMode = Convert.ToBoolean(layer.GetSetting("PowerSchedulerActivePortsHandlerAwayMode", "false").Value);
       break;
   }
 }
    protected override void OnPageLoad()
    {
      base.OnPageLoad();
      spinPreRecord.SetRange(0, 30);
      spinPostRecord.SetRange(0, 30);
      TvBusinessLayer layer = new TvBusinessLayer();

      spinPreRecord.Value = Int32.Parse(layer.GetSetting("preRecordInterval", "5").Value);
      spinPostRecord.Value = Int32.Parse(layer.GetSetting("postRecordInterval", "5").Value);

      cbAutoDeleteRecordings.Selected = (layer.GetSetting("autodeletewatchedrecordings", "no").Value == "yes");
      cbCreateTagInfoXML.Selected = (layer.GetSetting("createtaginfoxml", "yes").Value == "yes");
    }
示例#20
0
    public override void OnSectionActivated()
    {
      base.OnSectionActivated();
      UpdateStatus();
      TvBusinessLayer layer = new TvBusinessLayer();
      int index = Int32.Parse(layer.GetSetting("dvbip" + _cardNumber.ToString() + "Service", "0").Value);
      if (index < mpComboBoxService.Items.Count) mpComboBoxService.SelectedIndex = index;


      Card card = layer.GetCardByDevicePath(RemoteControl.Instance.CardDevice(_cardNumber));
      checkBoxCreateGroups.Checked =
        (layer.GetSetting("dvbip" + _cardNumber.ToString() + "creategroups", "false").Value == "true");
    }
    private void ProcessActiveHandler_OnPowerSchedulerEvent(PowerSchedulerEventArgs args)
    {
      switch (args.EventType)
      {
        case PowerSchedulerEventType.Started:
        case PowerSchedulerEventType.Elapsed:

          IPowerScheduler ps = GlobalServiceProvider.Instance.Get<IPowerScheduler>();
          if (ps == null)
            return;

          PowerSetting setting = ps.Settings.GetSetting("Processes");
          TvBusinessLayer layer = new TvBusinessLayer();

          // Get processes to be monitored
          string processes = layer.GetSetting("PowerSchedulerProcesses").Value;

          // Split processes into processList elements
            List<string> processList = new List<string>();
            foreach (string process in processes.Split(','))
              processList.Add(process.Trim());

            // If something has changed...
            if (!IsEqual(processList, setting.Get<List<string>>()))
          {
              setting.Set<List<string>>(processList);
              _processList = processList;
              Log.Debug("ProcessActiveHandler: Preventing standby for processes: {0}", processes);
          }

          // Check for MP client running?
          setting = ps.Settings.GetSetting("CheckForMPClientRunning");
          _checkForMPClientRunning = Convert.ToBoolean(layer.GetSetting("PowerSchedulerCheckForMPClientRunning", "false").Value);
          if (setting.Get<bool>() != _checkForMPClientRunning)
          {
             setting.Set<bool>(_checkForMPClientRunning);
             Log.Debug("ProcessActiveHandler: Prevent standby when MP client is not running : {0}", _checkForMPClientRunning);
          }

          // Check if away mode should be used
          setting = ps.Settings.GetSetting("ProcessesAwayMode");
          _useAwayMode = Convert.ToBoolean(layer.GetSetting("PowerSchedulerProcessesAwayMode", "false").Value);
          if (setting.Get<bool>() != _useAwayMode)
          {
            setting.Set<bool>(_useAwayMode);
            Log.Debug("ProcessActiveHandler: Use away mode: {0}", _useAwayMode);
          }

          break;
      }
    }
        public void SetNewChannel(int idChannel)
        {
            TvBusinessLayer layer = new TvBusinessLayer();
              _tsBufferExtractorSetup = layer.GetSetting("TsBufferExtractorSetup", "A").Value;
              _preRecordInterval = Decimal.Parse(layer.GetSetting("preRecordInterval", "5").Value);
              _snapshotBufferPosition = -1;
              _snapshotBufferFile = string.Empty;
              _snapshotBufferId = 0;

              Log.Debug("TsBufferExtractor: SetNewChannel({0})", idChannel);
              _idChannelToWatch = idChannel;

              StartTimer();
        }
示例#23
0
    /// <summary>
    /// Initializes a new instance of the <see cref="TimeShifter"/> class.
    /// </summary>
    /// <param name="cardHandler">The card handler.</param>
    public TimeShifter(ITvCardHandler cardHandler) : base(cardHandler)
    {
      

      _cardHandler = cardHandler;
      var layer = new TvBusinessLayer();
      _linkageScannerEnabled = (layer.GetSetting("linkageScannerEnabled", "no").Value == "yes");

      _linkageGrabber = new ChannelLinkageGrabber(cardHandler.Card);
      _timeshiftingEpgGrabberEnabled = (layer.GetSetting("timeshiftingEpgGrabberEnabled", "no").Value == "yes");

      _timeAudioEvent = DateTime.MinValue;
      _timeVideoEvent = DateTime.MinValue;
    }    
示例#24
0
    public override void LoadSettings()
    {
      base.LoadSettings();
      TvBusinessLayer layer = new TvBusinessLayer();

      // Load the list of all EPG provided program genres.
      _allProgramGenres = (List<string>)layer.GetProgramGenres();

      // Load the list of MP genres.
      _mpGenres = layer.GetMpGenres();

      // Populate the guide genre and program genre lists.
      PopulateGuideGenreList();
      PopulateProgramGenreList();
    }
        public override void SaveSettings()
        {
            var layer = new TvBusinessLayer();
              Setting setting = layer.GetSetting("TsBufferExtractorSetup");

              if (radioButton1.Checked)
            setting.Value = "A";

              if (radioButton2.Checked)
            setting.Value = "B";

              if (radioButton3.Checked)
            setting.Value = "C";

              setting.Persist();
        }
 public AdvancedCardAllocationTicket(TvBusinessLayer businessLayer, TVController controller, IEnumerable<ICardTuneReservationTicket> tickets)
   : base(businessLayer, controller)
 {
   _tickets = new Dictionary<int, ICardTuneReservationTicket>();
   foreach (ICardTuneReservationTicket cardTuneReservationTicket in tickets)
   {
     if (cardTuneReservationTicket != null)
     {
       int idCard = cardTuneReservationTicket.CardId;
       if (!_tickets.ContainsKey(idCard))
       {
         _tickets.Add(idCard, cardTuneReservationTicket);
       }
     }
   }
 }   
    private void LoadLanguages()
    {
      _loaded = true;
      mpListView2.BeginUpdate();
      try
      {
        mpListView2.Items.Clear();
        TvLibrary.Epg.Languages languages = new TvLibrary.Epg.Languages();
        List<String> codes = languages.GetLanguageCodes();
        List<String> list = languages.GetLanguages();

        TvBusinessLayer layer = new TvBusinessLayer();
        Setting setting = layer.GetSetting("radioLanguages");

        string values = "";
        for (int j = 0; j < list.Count; j++)
        {
          ListViewItem item = new ListViewItem(new string[] { list[j], codes[j] });
          mpListView2.Items.Add(item);
          item.Tag = codes[j];
          if (setting.Value == "")
          {
            values += item.Tag;
            values += ",";
          }
          else
          {
            if (setting.Value.IndexOf((string)item.Tag) >= 0)
            {
              item.Checked = true;
            }
          }
        }
        mpListView2.Sort();

        if (setting.Value == "")
        {
          setting.Value = values;
          setting.Persist();
          //DatabaseManager.Instance.SaveChanges();
        }
      }
      finally
      {
        mpListView2.EndUpdate();
      }
    }
示例#28
0
        public bool AddSchedule(int channelId, String programName, DateTime startTime, DateTime endTime, int scheduleType, Int32 priority, Int32 keepmethod, DateTime keepdate, Int32 preRecordInterval, Int32 postRecordInterval)
        {
            try
            {
                TvBusinessLayer layer = new TvBusinessLayer();

                TvDatabase.Schedule s = new TvDatabase.Schedule(channelId, programName, startTime, endTime);
                if (scheduleType < 0)
                {
                    s.ScheduleType = (int)TvDatabase.ScheduleRecordingType.Once;
                }
                else
                {
                    s.ScheduleType = scheduleType;
                }

                if (priority != -1)
                {
                    s.Priority = priority;
                }

                if (keepmethod != -1)
                {
                    s.KeepMethod = keepmethod;
                    s.KeepDate = keepdate;
                }

                if ((preRecordInterval < 0) && (postRecordInterval < 0))
                {   //Use the settings from Mediaportal
                    s.PreRecordInterval = Int32.Parse(layer.GetSetting("preRecordInterval", "5").Value);
                    s.PostRecordInterval = Int32.Parse(layer.GetSetting("postRecordInterval", "5").Value);
                }
                else
                {   // Use the settings from XBMC
                    s.PreRecordInterval = preRecordInterval;
                    s.PostRecordInterval = postRecordInterval;
                }
                s.Persist();
                RemoteControl.Instance.OnNewSchedule();

                return true;
            }
            catch
            {
                return false;
            }
        }
示例#29
0
    public override void OnSectionDeActivated()
    {
      base.OnSectionDeActivated();
      TvBusinessLayer layer = new TvBusinessLayer();

      Setting s = layer.GetSetting("generalEPGAlwaysFillHoles", "no");
      s.Value = checkBoxAlwaysFillHoles.Checked ? "yes" : "no";
      s.Persist();

      s = layer.GetSetting("generalEPGAlwaysReplace", "no");
      s.Value = checkBoxAlwaysUpdate.Checked ? "yes" : "no";
      s.Persist();

      s = layer.GetSetting("generalGrapOnlyForSameTransponder", "no");
      s.Value = checkboxSameTransponder.Checked ? "yes" : "no";
      s.Persist();

      DebugSettings.DisableCRCCheck = !checkBoxEnableCRCCheck.Checked;

      s = layer.GetSetting("idleEPGGrabberEnabled", "yes");
      s.Value = checkBoxEnableEPGWhileIdle.Checked ? "yes" : "no";
      s.Persist();

      s = layer.GetSetting("timeoutEPG", "10");
      s.Value = numericUpDownEpgTimeOut.Value.ToString();
      s.Persist();

      s = layer.GetSetting("timeoutEPGRefresh", "240");
      s.Value = numericUpDownEpgRefresh.Value.ToString();
      s.Persist();

      s = layer.GetSetting("timeshiftingEpgGrabberEnabled", "no");
      s.Value = checkBoxEnableEpgWhileTimeshifting.Checked ? "yes" : "no";
      s.Persist();

      s = layer.GetSetting("timeshiftingEpgGrabberTimeout", "2");
      s.Value = numericUpDownTSEpgTimeout.Value.ToString();
      s.Persist();

      s = layer.GetSetting("epgTitleTemplate", "%TITLE%");
      s.Value = edTitleTemplate.Text;
      s.Persist();

      s = layer.GetSetting("epgDescriptionTemplate", "%DESCRIPTION%");
      s.Value = edDescriptionTemplate.Text;
      s.Persist();
    }
 public override void LoadSettings()
 {
     var layer = new TvBusinessLayer();
       tsBufferExtractorSetup = layer.GetSetting("TsBufferExtractorSetup", "A").Value;
       switch (tsBufferExtractorSetup)
       {
     case "A":
       radioButton1.Checked = true;
       break;
     case "B":
       radioButton2.Checked = true;
       break;
     case "C":
       radioButton3.Checked = true;
       break;
       }
 }