Example #1
0
 public void Preview(PackageClass packageClass, SectionItem sectionItem)
 {
   Section = sectionItem;
   _packageClass = packageClass;
   SetValues();
   ShowDialog();
 }
 public void Preview(PackageClass packageClass, SectionItem sectionItem)
 {
   Mode = ShowModeEnum.Preview;
   Package = packageClass;
   Section = sectionItem;
   SetValues();
   ShowDialog();
 }
Example #3
0
 public void Preview(PackageClass packageClass, SectionItem sectionItem)
 {
   Mode = ShowModeEnum.Preview;
   Section = sectionItem;
   Package = packageClass;
   SetValues();
   timer1.Enabled = true;
   ShowDialog();
 }
Example #4
0
 public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem)
 {
   Mode = ShowModeEnum.Real;
   Package = packageClass;
   Section = sectionItem;
   base.DisableX_Click();
   SetValues();
   Base.ActionExecute(Package, Section, ActionExecuteLocationEnum.BeforPanelShow);
   ShowDialog();
   Base.ActionExecute(Package, Section, ActionExecuteLocationEnum.AfterPanelHide);
   return base.Resp;
 }
        private void FieldsRepeaterOnItemDataBound(object sender, RepeaterItemEventArgs args)
        {
            if (args.Item.ItemType == ListItemType.Item || args.Item.ItemType == ListItemType.AlternatingItem)
            {
                // display grouping header, if applicapble
                var fieldItem = (FieldItem)args.Item.DataItem;
                if (this.LastFieldSection != null && this.LastFieldSection.Id != fieldItem.Section.Id)
                {
                    args.Item.FindControl("trGroup").Visible = true;
                }

                this.LastFieldSection = fieldItem.Section;
            }
        }
 public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem)
 {
   Package = packageClass;
   Params = sectionItem.Params;
   Section = sectionItem;
   SetValues();
   Base.ActionExecute(Package, Section, ActionExecuteLocationEnum.BeforPanelShow);
   Base.ActionExecute(Package, Section, ActionExecuteLocationEnum.AfterPanelShow);
   if (!packageClass.Silent)
     ShowDialog();
   else
     base.Resp = SectionResponseEnum.Next;
   Base.ActionExecute(Package, Section, ActionExecuteLocationEnum.AfterPanelHide);
   return base.Resp;
 }
Example #7
0
 public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem)
 {
   Section = sectionItem;
   _packageClass = packageClass;
   SetValues();
   Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.BeforPanelShow);
   Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.AfterPanelShow);
   Mode = ShowModeEnum.Real;
   if (!packageClass.Silent)
     ShowDialog();
   else
     resp = SectionResponseEnum.Next;
   Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.AfterPanelHide);
   return resp;
 }
Example #8
0
    public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem)
    {
      SectionResponseEnum _resp;
      _resp = ActionExecute(packageClass, sectionItem, ActionExecuteLocationEnum.BeforPanelShow);
      if (_resp != SectionResponseEnum.Ok)
        return _resp;
      _resp = ActionExecute(packageClass, sectionItem, ActionExecuteLocationEnum.AfterPanelShow);
      if (_resp != SectionResponseEnum.Ok)
        return _resp;

      foreach (string includedGroup in sectionItem.IncludedGroups)
      {
        packageClass.Groups[includedGroup].Checked = sectionItem.Params[Const_state].GetValueAsBool();
      }
      _resp = ActionExecute(packageClass, sectionItem, ActionExecuteLocationEnum.AfterPanelHide);
      return _resp;
    }
Example #9
0
 public static SectionResponseEnum ActionExecute(PackageClass packageClass, SectionItem sectionItem,
                                                 ActionExecuteLocationEnum locationEnum)
 {
   SectionResponseEnum responseEnum = SectionResponseEnum.Ok;
   foreach (ActionItem list in sectionItem.Actions.Items)
   {
     if (list.ExecuteLocation != locationEnum)
       continue;
     if (!string.IsNullOrEmpty(list.ConditionGroup) && !packageClass.Groups[list.ConditionGroup].Checked)
       continue;
     responseEnum = MpeInstaller.ActionProviders[list.ActionType].Execute(packageClass, list);
     if (responseEnum != SectionResponseEnum.Ok)
     {
       break;
     }
   }
   return responseEnum;
 }
Example #10
0
 /// <summary>
 /// Previews the section form, but no change made.
 /// </summary>
 /// <param name="packageClass">The package class.</param>
 /// <param name="sectionItem">The param collection.</param>
 public void Preview(PackageClass packageClass, SectionItem sectionItem)
 {
   MessageBox.Show("This is a non visual Section. Nothing to show");
   bool state = false;
   try
   {
     Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
     AsmHelper script =
       new AsmHelper(CSScript.LoadCode(sectionItem.Params[Const_script].Value,
                                       Path.GetTempFileName(), true));
     state = (bool)script.Invoke("Script.GetState", packageClass, sectionItem);
     MessageBox.Show("Result of script : " + state.ToString());
   }
   catch (Exception ex)
   {
     MessageBox.Show("Eror in script : " + ex.Message);
   }
 }
Example #11
0
 /// <summary>
 /// Previews the section form, but no change made.
 /// </summary>
 /// <param name="packageClass">The package class.</param>
 /// <param name="sectionItem">The param collection.</param>
 public void Preview(PackageClass packageClass, SectionItem sectionItem)
 {
   MessageBox.Show("This is a non visual Section. Nothing to show");
 }
 public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem)
 {
   throw new NotImplementedException();
 }
Example #13
0
        /// <summary>
        /// Returns searching categories for both sites Avito and Ebay
        /// </summary>
        /// <returns></returns>
        public IList<SectionItem> LoadSectionsLinkEx()
        {
            //тело запроса!!!!!!!!!!//set order by ordering
              const string sql = "SELECT search_url, category_name FROM fct_categories_search where search_url is not null order by ordering";
              IList<SectionItem> links = new List<SectionItem>();
              var resultStr = string.Empty;
              MySqlDataReader reader = null;
              try
              {
            var cmd = new MySqlCommand(sql, mySqlConnection);
            reader = cmd.ExecuteReader();
            while (reader.Read())
            {
              var link = reader.GetString(0);
              var category_name = reader.GetString(1);
              var siteCurrent = SectionItem.Site.UnTyped;
              if (link != "NULL" && link != null && link != string.Empty)
              {
            //if (link == null || link == string.Empty) System.Diagnostics.Debugger.Break();
            var uri = new Uri(link);

            if (uri.Host == hostAvito)
              siteCurrent = SectionItem.Site.Avito;
            else if (uri.Host == hostEbay)
              siteCurrent = SectionItem.Site.Ebay;
            var section = new SectionItem { Link = link, site = siteCurrent, CategoryName = category_name };
            links.Add(section);
              }
            }
              }
              catch (Exception ex)
              {
            throw new Exception("MySql error: [" + sql + "]: " + ex.Message, ex);
              }
              finally
              {
            if (reader != null)
              reader.Close();
              }
              return links;
        }
Example #14
0
    public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem)
    {
      Base.ActionExecute(packageClass, sectionItem, ActionExecuteLocationEnum.BeforPanelShow);
      Base.ActionExecute(packageClass, sectionItem, ActionExecuteLocationEnum.AfterPanelShow);
      Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
      bool state = false;
      try
      {
        AsmHelper script =
          new AsmHelper(CSScript.LoadCode(sectionItem.Params[Const_script].Value,
                                          Path.GetTempFileName(), true));
        state = (bool)script.Invoke("Script.GetState", packageClass, sectionItem);
      }
      catch (Exception ex)
      {
        if (!packageClass.Silent)
          MessageBox.Show("Eror in script : " + ex.Message);
        state = false;
      }

      foreach (string includedGroup in sectionItem.IncludedGroups)
      {
        packageClass.Groups[includedGroup].Checked = state;
      }
      Base.ActionExecute(packageClass, sectionItem, ActionExecuteLocationEnum.AfterPanelHide);
      return SectionResponseEnum.Ok;
    }
Example #15
0
 private void LoadSectionEbayAvito(SectionItem sectionItem)
 {
     try
       {
     if (sectionItem.site == SectionItem.Site.Avito)
       LoadSection(new string[] { sectionItem.Link, sectionItem.CategoryName });
     else
       LoadSectionEbay(sectionItem);
       }
       catch (Exception ex)
       {
     AddLog("Parser: " + ex.Message, LogMessageColor.Error());
       }
 }
Example #16
0
        private void LoadSectionEbay(SectionItem sectionItem)
        {
            while (EbayState.Pausing || EbayState.Paused)
              {
            if (EbayState.Pausing)
            {
              AddLog(string.Empty, LogMessageColor.Information());
              AddLog("Paused", LogMessageColor.Information());
              AddLog(string.Empty, LogMessageColor.Information());
            }
            EbayState.SetPaused();
            if (AvitoState.Pausing || AvitoState.Paused)
            {
              btnParsingAvitoEbayStart.SetPropertyThreadSafe(() => btnParsingAvitoEbayStart.Enabled, true);
              btnParsingAvitoEbayPause.SetPropertyThreadSafe(() => btnParsingAvitoEbayPause.Enabled, false);
              btnParsingAvitoEbayStop.SetPropertyThreadSafe(() => btnParsingAvitoEbayStop.Enabled, true);
            }
            else
            {
              btnParsingEbayStart.SetPropertyThreadSafe(() => btnParsingEbayStart.Enabled, true);
              btnParsingEbayPause.SetPropertyThreadSafe(() => btnParsingEbayPause.Enabled, false);
              btnParsingEbayStop.SetPropertyThreadSafe(() => btnParsingEbayStop.Enabled, true);
            }
            Thread.Sleep(1000);
              }

              if (EbayState.Stopping || EbayState.Stopped)
            return;

              var cryticalCount = 8;
              var searchApi = new SearchApi();
              searchApi.PerPage = 100;
              searchApi.Section = sectionItem.Link;

              AddLog("Parser: " + sectionItem.CategoryName, LogMessageColor.Information());

              try
              {
            var ids = searchApi.SearchLinks();
            AddLog("Parser: Count new ad: " + ids.Count().ToString(), LogMessageColor.Information());
            IList<long> newIds = new List<long>();
            var countCurrentRepeat = 0;

            foreach (var item in ids)
            {
              if (countCurrentRepeat > cryticalCount)
            break;
              if (mySqlDB.IsNewAdEbay(item))
            newIds.Add(item);
              else
            countCurrentRepeat++;
            }

            var partsIdsCollection = Helpful.Partition(newIds, 1);
            AddLog("Parser: Prepared insert to db", LogMessageColor.Information());

            var imgParser = new EbayLoadImage(new WebCl(), Properties.Default.PathToImg, mySqlDB, Properties.Default.FtpUsername, Properties.Default.FtpPassword);

            foreach (var item in partsIdsCollection)
            {
              while (EbayState.Pausing || EbayState.Paused)
              {
            if (EbayState.Pausing)
            {
              AddLog(string.Empty, LogMessageColor.Information());
              AddLog("Paused", LogMessageColor.Information());
              AddLog(string.Empty, LogMessageColor.Information());
            }
            EbayState.SetPaused();
            if (AvitoState.Pausing || AvitoState.Paused)
            {
              btnParsingAvitoEbayStart.SetPropertyThreadSafe(() => btnParsingAvitoEbayStart.Enabled, true);
              btnParsingAvitoEbayPause.SetPropertyThreadSafe(() => btnParsingAvitoEbayPause.Enabled, false);
              btnParsingAvitoEbayStop.SetPropertyThreadSafe(() => btnParsingAvitoEbayStop.Enabled, true);
            }
            else
            {
              btnParsingEbayStart.SetPropertyThreadSafe(() => btnParsingEbayStart.Enabled, true);
              btnParsingEbayPause.SetPropertyThreadSafe(() => btnParsingEbayPause.Enabled, false);
              btnParsingEbayStop.SetPropertyThreadSafe(() => btnParsingEbayStop.Enabled, true);
            }
            Thread.Sleep(1000);
              }

              if (EbayState.Stopping || EbayState.Stopped)
            break;

              AddLog("Parser: Begin parsing ad", LogMessageColor.Information());
              var parsedItems = SearchApi.ParseItems(item);
              foreach (var unit in parsedItems.Item)
              {
            AddLog(string.Format("{0,-15} - {1}", "url: ", unit.ViewItemURLForNaturalSearch), LogMessageColor.Information());
            AddLog(string.Format("{0,-15} - {1}", "title: ", unit.Title), LogMessageColor.Information());
            AddLog(string.Format("{0,-15} - {1}", "cost: ", unit.CurrentPrice.Value.ToString()), LogMessageColor.Information());
            AddLog(string.Format("{0,-15} - {1}", "country: ", unit.Country), LogMessageColor.Information());
            AddLog(string.Format("{0,-15} - {1}", "city: ", unit.Location), LogMessageColor.Information());
            AddLog(string.Format("{0,-15} - {1}", "author: ", unit.Seller.UserID), LogMessageColor.Information());
            AddLog(string.Format("{0,-15} - {1}", "ebay section: ", unit.PrimaryCategoryName), LogMessageColor.Information());
              }
              var isAuction = true;
              ImageParsedCountHelper imageCount = null;
              if (parsedItems != null && parsedItems.Item != null && parsedItems.Item.Count() > 0)
              {
            if (Properties.Default.PublishParsedData)
            {
              AddLog("Parser: Begin loading images", LogMessageColor.Information());
              try
              {
                imageCount = imgParser.LoadImages(parsedItems.Item[0].PictureURL);
                AddLog("Parser: " + imageCount.CountParsed + " images parsed", LogMessageColor.Information());
                AddLog("Parser: " + imageCount.CountDownloaded + " images downloaded", LogMessageColor.Information());
                foreach (var error in imageCount.ErrorList)
                  AddLog(error.Key, error.Value == true ? LogMessageColor.Error() : LogMessageColor.Success());
              }
              catch (Exception ex)
              {
                AddLog("Parser: " + ex.Message, LogMessageColor.Error());
              }
              AddLog("Parser: End loading images", LogMessageColor.Information());
            }
            isAuction = (parsedItems.Item[0].TimeLeft != null && parsedItems.Item[0].ListingType != "FixedPriceItem");
            if (isAuction)
              AddLog("Parser: It is auction", LogMessageColor.Information());
            else
              AddLog("Parser: It is advertisement", LogMessageColor.Information());
              }
              AddLog("Parser: End parsing ad", LogMessageColor.Information());
              IncParsed();

              AddLog("Parser: sleep after parse on. " + Properties.Default.SleepAfterParseSec + " sec", LogMessageColor.Information());
              Thread.Sleep(Properties.Default.SleepAfterParseSec * 1000);
              AddLog("Parser: sleep after parse off", LogMessageColor.Information());

              AddLog("Parser: preparing ad to insert to db", LogMessageColor.Information());
              var idResourceList = mySqlDB.ResourceListIDEbay();
              imageCount.ResourceId = idResourceList;
              try
              {
            mySqlDB.InsertFctEbayGrabber(parsedItems, sectionItem.CategoryName);
            if (imageCount != null)
            {
              foreach (var im in imageCount.Resources)
                mySqlDB.InsertassGrabberEbayResourceList(idResourceList, im);
              mySqlDB.UpdateFctEbayGrabberPhotoCount(idResourceList, imageCount.Resources.Count);
            }
            if (Properties.Default.PublishParsedData && !isAuction)
            {
              AddLog("Parser: Begin publishing ad", LogMessageColor.Information());
              mySqlDB.ExecuteProcEBay(idResourceList);
              AddLog("Parser: End publishing ad", LogMessageColor.Information());

              AddLog("Parser: sleep after publication on. " + Properties.Default.SleepSecAfterPublicationSec + " sec", LogMessageColor.Information());
              Thread.Sleep(Properties.Default.SleepSecAfterPublicationSec * 1000);
              AddLog("Parser: sleep after publication off", LogMessageColor.Information());
            }
            AddLog("Parser: ad inserted", LogMessageColor.Information());
            incInserted();
              }
              catch (Exception ex)
              {
            AddLog("Parser: " + ex.Message, LogMessageColor.Error());
              }
              AddLog(string.Empty, LogMessageColor.Information());
            }

            AddLog("Parser: End pasring section " + sectionItem.CategoryName, LogMessageColor.Information());
            AddLog("Parser: Inserted: " + newIds.Count().ToString(), LogMessageColor.Information());
              }
              catch (Exception ex)
              {
            AddLog("Parser: " + ex.Message, LogMessageColor.Error());
              }
        }
 private void SetValues(SectionItem sectionItem)
 {
   Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
   try
   {
     AsmHelper script =
       new AsmHelper(CSScript.LoadCode(sectionItem.Params[CONST_SHOW_SCRIPT].Value,
                                       Path.GetTempFileName(), true));
     script.Invoke("Script.Main", _packageClass, sectionItem, this);
   }
   catch (Exception ex)
   {
     if (!_packageClass.Silent)
       MessageBox.Show("Eror in script : " + ex.Message);
   }
 }
 ///<summary>Sets the value of the <c>&lt;SectionItems&gt;</c> element.</summary>
 /// <param name="SectionItem">A SectionItem</param>
 ///<remarks>
 /// <para>This form of <c>setSectionItems</c> is provided as a convenience method
 /// that is functionally equivalent to the <c>SectionItems</c></para>
 /// <para>Version: 2.6</para>
 /// <para>Since: 2.6</para>
 /// </remarks>
 public void SetSectionItems( SectionItem SectionItem )
 {
     RemoveChild( Sif3assessmentDTD.SIF3ASSESSMENTSECTION_SECTIONITEMS);
     AddChild( Sif3assessmentDTD.SIF3ASSESSMENTSECTION_SECTIONITEMS, new SectionItemList( SectionItem ) );
 }