private void BtnPause_Click(object sender, EventArgs e)
        {
            if (Block)
            {
                return;
            }
            if (SitesDataGrid.CurrentCell != null && SitesDataGrid.CurrentCell.RowIndex >= 0)
            {
                int       selected = (int)SitesDataGrid.Rows[SitesDataGrid.CurrentCell.RowIndex].Tag;
                SiteClass site     = SitesManager.GetByIndex(selected);
                if (site != null)
                {
                    site.IsActive = site.IsActive ? false : true;
                    if (site.operation != UpdateOperation.ADD_NEW)
                    {
                        site.operation = UpdateOperation.CHANGED;
                    }

                    SitesManager.UpdateSite(site);
                }
            }
            else
            {
                MessageBox.Show("Please select a site!");
            }
        }
 private void BtnDelete_Click(object sender, EventArgs e)
 {
     if (Block)
     {
         return;
     }
     if (SitesDataGrid.CurrentCell != null && SitesDataGrid.CurrentCell.RowIndex >= 0)
     {
         int selected = (int)SitesDataGrid.Rows[SitesDataGrid.CurrentCell.RowIndex].Tag;
         if (ConfirmDelete() == true)
         {
             SiteClass site = SitesManager.GetByIndex(selected);
             if (site != null)
             {
                 if (site.operation == UpdateOperation.ADD_NEW)
                 {
                     SitesManager.Delete(site);
                 }
                 else
                 {
                     site.operation = UpdateOperation.DELETE;
                     SitesManager.UpdateSite(site);
                 }
             }
             InitializeEditor();
         }
     }
     else
     {
         MessageBox.Show("Please select a site!");
     }
 }
Пример #3
0
 public override void Deserialize(JHSNetworkReader reader)
 {
     Code = (ErrorCodes)reader.ReadByte();
     if (Code == ErrorCodes.SUCCESS)
     {
         Credits     = reader.ReadPackedUInt32();
         SurfedSites = reader.ReadPackedUInt32();
         MemberType  = (UserType)reader.ReadByte();
         int count = reader.ReadByte();
         sites = new SiteClass[count];
         for (int i = 0; i < count; i++)
         {
             sites[i] = new SiteClass()
             {
                 SiteIndex   = reader.ReadByte(),
                 WebsiteName = reader.ReadString(),
                 Url         = reader.ReadString(),
                 Time        = reader.ReadPackedUInt32(),
                 ViewCount   = reader.ReadPackedUInt32(),
                 IsActive    = reader.ReadBoolean(),
                 Region      = (CountryList)reader.ReadByte(),
                 Referral    = (ReferralType)reader.ReadByte()
             };
         }
     }
 }
        private void Save_Click(object sender, EventArgs e)
        {
            if (Block)
            {
                return;
            }
            if (SitesDataGrid.CurrentCell != null && SitesDataGrid.CurrentCell.RowIndex >= 0)
            {
                int    selected = (int)SitesDataGrid.Rows[SitesDataGrid.CurrentCell.RowIndex].Tag;
                string nameInpx = nameInp.Text;
                if (nameInpx.Length > 20)
                {
                    MessageBox.Show("Site name is too long, max can have 20 characters.");
                    return;
                }

                string websiteInpx = websiteInp.Text;
                if (websiteInpx.Length > 200)
                {
                    MessageBox.Show("Site URL is too long, max can have 200 characters.");
                    return;
                }

                if (!CheckURLValid(websiteInpx))
                {
                    MessageBox.Show("Site URL invalid please use somthing like this:http://example.com");
                    return;
                }
                SiteClass site = SitesManager.GetByIndex(selected);
                if (site != null)
                {
                    site.WebsiteName = nameInpx;
                    site.Url         = websiteInpx;
                    site.Time        = (uint)secondsDrop.Value;
                    site.Region      = (CountryList)region.SelectedIndex;
                    site.Referral    = (ReferralType)Referral.SelectedIndex;
                    if (site.operation != UpdateOperation.ADD_NEW)
                    {
                        site.operation = UpdateOperation.CHANGED;
                    }

                    SitesManager.UpdateSite(site);
                    InitializeEditor();
                }
            }
        }
Пример #5
0
 public void _UpdateSite(SiteClass Site)
 {
     lock (allSites)
     {
         if (allSites.TryGetValue(Site.SiteIndex, out SiteClass site))
         {
             site = Site;
             if (Site.operation == UpdateOperation.CHANGED)
             {
                 updateItems.Add(site.SiteIndex);
             }
             else if (Site.operation == UpdateOperation.DELETE)
             {
                 deletedItems.Add(site.SiteIndex);
             }
         }
     }
 }
Пример #6
0
 public void _Delete(SiteClass Site)
 {
     lock (allSites)
     {
         if (Site.operation == UpdateOperation.ADD_NEW)
         {
             allSites.Remove(Site.SiteIndex);
         }
         else
         {
             if (allSites.TryGetValue(Site.SiteIndex, out SiteClass site))
             {
                 site.operation = UpdateOperation.DELETE;
                 deletedItems.Add(site.SiteIndex);
             }
         }
         addedItems.Remove(Site.SiteIndex);
     }
 }
 private void ListBox1_SelectionChanged(object sender, EventArgs e)
 {
     if (Block)
     {
         return;
     }
     if (SitesDataGrid.CurrentCell != null && SitesDataGrid.CurrentCell.RowIndex >= 0)
     {
         int       selected = (int)SitesDataGrid.Rows[SitesDataGrid.CurrentCell.RowIndex].Tag;
         SiteClass site     = SitesManager.GetByIndex(selected);
         if (site != null)
         {
             nameInp.Text           = site.WebsiteName;
             websiteInp.Text        = site.Url;
             secondsDrop.Value      = site.Time;
             hitsLabel.Text         = site.ViewCount.ToString();
             btnPause.Text          = site.IsActive ? "Start" : "Pause";
             AlexaRankLabel.Text    = GetAlexa(site.Url);
             region.SelectedIndex   = (int)site.Region >= 255 ? 0 : (int)site.Region;
             Referral.SelectedIndex = (int)site.Referral >= 255 ? 0 : (int)site.Referral;
             labelStatus.Text       = site.IsActive ? "Paused" : "Started";
         }
     }
 }
Пример #8
0
        public bool Execute(JHSNetworkMessage msg)
        {
            SubmitDataForUpdate packet = msg.ReadMessage <SubmitDataForUpdate>();

            if (packet != null)
            {
                if (userManager == null)
                {
                    userManager = UserManager.Instance;
                }
                uint connectionId = msg.conn.connectionId;

                User user = userManager.GetUserByConnectionId(connectionId);
                if (user != null)
                {
                    lock (user)
                    {
                        bool delted = false;

                        foreach (SiteClass site in packet.Added)
                        {
                            site.UserId = user.UserId;
                            SiteClass n = new SiteClass(DbService.CreateEntity(site._data));
                            user.AddOrUpdateSite(n);
                            DbService.SubmitUpdate2Queue(n.UID, n._data);
                        }
                        foreach (SiteClass site in packet.Changed)
                        {
                            SiteClass v = user.GetSite(site.SiteIndex);
                            if (v != null)
                            {
                                v.WebsiteName = site.WebsiteName;
                                v.Url         = site.Url;
                                v.Region      = site.Region;
                                v.Referral    = site.Referral;
                                v.IsActive    = site.IsActive;
                                v.Time        = site.Time;
                                user.AddOrUpdateSite(v);
                                DbService.SubmitUpdate2Queue(v.UID, v._data);
                            }
                        }
                        foreach (int site in packet.Deleted)
                        {
                            SiteClass v = user.GetSite(site);
                            if (v != null)
                            {
                                delted = true;
                                user.RemoveSite(site);
                                DbService.RemoveEntityFromDatabase <UserUrls>(v.UID);
                            }
                        }
                        if (delted)
                        {
                            user.ReorderSites();
                        }

                        msg.conn.Send(NetworkConstants.UPDATE_SITE_DATA, new SubmitDataForUpdate()
                        {
                            Code    = delted ? ErrorCodes.JUST_DATA_UPDATE : ErrorCodes.GENERAL_FAILURE,
                            Changed = user.Sites
                        });
                    }
                }
            }
            return(true);
        }
Пример #9
0
 public override void Deserialize(JHSNetworkReader reader)
 {
     Code = (ErrorCodes)reader.ReadByte();
     if (Code == ErrorCodes.SUCCESS)
     {
         int AddedCount   = reader.ReadByte();
         int ChangedCount = reader.ReadByte();
         int DeletedCount = reader.ReadByte();
         Added   = new SiteClass[AddedCount];
         Changed = new SiteClass[ChangedCount];
         Deleted = new int[DeletedCount];
         for (int i = 0; i < AddedCount; i++)
         {
             Added[i] = new SiteClass()
             {
                 SiteIndex   = reader.ReadByte(),
                 WebsiteName = reader.ReadString(),
                 Url         = reader.ReadString(),
                 Time        = reader.ReadPackedUInt32(),
                 ViewCount   = reader.ReadPackedUInt32(),
                 IsActive    = reader.ReadBoolean(),
                 Region      = (CountryList)reader.ReadByte(),
                 Referral    = (ReferralType)reader.ReadByte()
             };
         }
         for (int i = 0; i < ChangedCount; i++)
         {
             Changed[i] = new SiteClass()
             {
                 SiteIndex   = reader.ReadByte(),
                 WebsiteName = reader.ReadString(),
                 Url         = reader.ReadString(),
                 Time        = reader.ReadPackedUInt32(),
                 ViewCount   = reader.ReadPackedUInt32(),
                 IsActive    = reader.ReadBoolean(),
                 Region      = (CountryList)reader.ReadByte(),
                 Referral    = (ReferralType)reader.ReadByte()
             };
         }
         for (int i = 0; i < DeletedCount; i++)
         {
             Deleted[i] = reader.ReadByte();
         }
     }
     else if (Code == ErrorCodes.JUST_DATA_UPDATE)
     {
         int ChangedCount = reader.ReadByte();
         Changed = new SiteClass[ChangedCount];
         for (int i = 0; i < ChangedCount; i++)
         {
             Changed[i] = new SiteClass()
             {
                 SiteIndex   = reader.ReadByte(),
                 WebsiteName = reader.ReadString(),
                 Url         = reader.ReadString(),
                 Time        = reader.ReadPackedUInt32(),
                 ViewCount   = reader.ReadPackedUInt32(),
                 IsActive    = reader.ReadBoolean(),
                 Region      = (CountryList)reader.ReadByte(),
                 Referral    = (ReferralType)reader.ReadByte()
             };
         }
     }
 }
Пример #10
0
 public static void Delete(SiteClass Site)
 {
     Instance._Delete(Site);
 }
Пример #11
0
 public static void UpdateSite(SiteClass Site)
 {
     Instance._UpdateSite(Site);
 }