protected void btnDestroy_Click(object sender, EventArgs e) { if (ListUsers.Count > 0) { bool usersChanged = false; bool followersChanged = false; TwitterAuthenticate(); try { foreach (GridViewRow row in gvUsers.Rows) { Control ctrl = row.FindControl("cbxDelete"); if (ctrl != null) { CheckBox cbx = (CheckBox)ctrl; if (cbx.Checked) { Control lblctrl = row.FindControl("lblUserId"); if (lblctrl != null) { Label lbl = (Label)lblctrl; var user = ListUsers.Where(k => k.UserId == lbl.Text).FirstOrDefault(); if (user != null) { twdata = new Twitter(user, Twitter.TwitterType.Unfollow); Twitter.User utoremove = ListFriends.Find(x => x.UserId == user.UserId); if (utoremove != null && ListFriends.Contains(utoremove)) { ListFriends.Remove(utoremove); followersChanged = true; } ListUsers.Remove(user); usersChanged = true; } } } } } if (followersChanged) { Serializer.WriteFollowersXML(ListFriends.ToList(), Constants.FriendsFollowers.Friends.ToString()); } if (usersChanged) { Serializer.WriteFollowersXML(ListUsers.ToList(), Constants.FriendsFollowers.Analyze.ToString()); Serializer.WriteFollowersXML(ListUsers.ToList(), Constants.FriendsFollowers.Unfollow.ToString()); Serializer.WriteFollowersXML(ListUsers.ToList(), Constants.FriendsFollowers.Users.ToString()); } BindData(); } catch (WebException wex) { BindData(); ScriptManager.RegisterStartupScript(this, GetType(), "displayalertmessage", string.Format("alert('{0}');", "No internet connection: " + wex.Message.Replace("'", string.Empty)), true); } catch (Exception ex) { //do nothing } } }
protected void btnDestroyAll_Click(object sender, EventArgs e) { if (ListUsers.Count > 0) { bool followersChanged = false; TwitterAuthenticate(); try { foreach (Twitter.User user in ListUsers) { twdata = new Twitter(user, Twitter.TwitterType.Unfollow); Twitter.User utoremove = ListFriends.Find(x => x.UserId == user.UserId); if (utoremove != null && ListFriends.Contains(utoremove)) { ListFriends.Remove(utoremove); followersChanged = true; } } ListUsers.Clear(); if (followersChanged) { Serializer.WriteFollowersXML(ListFriends.ToList(), Constants.FriendsFollowers.Friends.ToString()); } Serializer.DeleteListXML(Constants.FriendsFollowers.Analyze.ToString()); Serializer.DeleteListXML(Constants.FriendsFollowers.Unfollow.ToString()); Serializer.WriteFollowersXML(ListUsers.ToList(), Constants.FriendsFollowers.Users.ToString()); BindData(); } catch (WebException wex) { BindData(); ScriptManager.RegisterStartupScript(this, GetType(), "displayalertmessage", string.Format("alert('{0}');", "No internet connection: " + wex.Message.Replace("'", string.Empty)), true); } catch (Exception ex) { //do nothing } } }
public static BindingList <Twitter.User> ImportFromExcel(string sFilename) { BindingList <Twitter.User> users = null; try { Application xlObject = null; Workbook xlWB = null; Worksheet xlSh = null; try { xlObject = new Application(); //'This Adds a new woorkbook, you could open the workbook from file also xlWB = xlObject.Workbooks.Open(sFilename, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); //xlSh = (Worksheet)xlObject.ActiveWorkbook.ActiveSheet; Range usedrange = xlSh.UsedRange; users = new BindingList <Twitter.User>(); int index = 1; foreach (Range r in usedrange.Rows) { //no header if (r.Row > 1) { Twitter.User user = new Twitter.User(); user.Index = index; for (int cCnt = 1; cCnt <= usedrange.Columns.Count; cCnt++) { object str = (object)(usedrange.Cells[r.Row, cCnt] as Range).Value2; if (cCnt == 1) { user.ScreenName = str.ToString(); } else if (cCnt == 2) { user.ProfileImage = str.ToString(); } else if (cCnt == 3) { user.UserId = str.ToString(); } } users.Add(user); index++; } } } catch (System.Runtime.InteropServices.COMException) { } catch (Exception) { } finally { try { if (xlWB != null) { xlWB.Close(null, null, null); } xlObject.Workbooks.Close(); xlObject.Quit(); if (xlSh != null) { Marshal.ReleaseComObject(xlSh); } if (xlWB != null) { Marshal.ReleaseComObject(xlWB); } if (xlObject != null) { Marshal.ReleaseComObject(xlObject); } } catch { } xlSh = null; xlWB = null; xlObject = null; // force final cleanup! GC.Collect(); GC.WaitForPendingFinalizers(); } } catch (Exception) { } return(users); }
protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) { case DataControlRowType.Header: break; case DataControlRowType.DataRow: Control ctrl = e.Row.FindControl("liImage"); if (ctrl != null) { HtmlGenericControl li = (HtmlGenericControl)ctrl; if (li.Parent is DataControlFieldCell) { DataControlFieldCell td = (DataControlFieldCell)li.Parent; td.Attributes.Add(Constants.CLASS, string.Concat(Constants.GRIDIMAGETD, Constants.SPACE, Constants.GRIDCHECKBOXTD)); } Control ctrlScreenName = e.Row.FindControl("lblScreenName"); if (ctrlScreenName != null) { Label lblScreenName = (Label)ctrlScreenName; Control ctrlProfileImage = e.Row.FindControl("lblProfileImage"); if (ctrlProfileImage != null) { Label lblProfileImage = (Label)ctrlProfileImage; Twitter.User tw = new Twitter.User(); tw.Index = e.Row.RowIndex; tw.ScreenName = lblScreenName.Text; tw.ProfileImage = lblProfileImage.Text; HtmlGenericControl ianchor = new HtmlGenericControl(Constants.A); ianchor.Attributes.Add(Constants.TARGET, Constants.BLANK); ianchor.Attributes.Add(Constants.TITLE, tw.ScreenName); ianchor.Attributes.Add(Constants.HREF, string.Concat(Constants.HTTPTWITTER, tw.ScreenName)); HtmlImage img = new HtmlImage(); img.Src = tw.ProfileImage; ianchor.Controls.Add(img); img.Attributes.Add(Constants.CLASS, Constants.GRIDIMAGE); li.Controls.Add(ianchor); } } } break; case DataControlRowType.Footer: //e.Row.Cells.Remove(e.Row.Cells[4]); Control ctrllblTotal = e.Row.FindControl("lblTotal"); if (ctrllblTotal != null) { if (ctrllblTotal.Parent is DataControlFieldCell) { DataControlFieldCell cell = (DataControlFieldCell)ctrllblTotal.Parent; //cell.ColumnSpan = 2; } Label lblTotal = (Label)ctrllblTotal; int startamount = gvUsers.PageIndex * gvUsers.PageSize; int endamount = startamount + gvUsers.PageSize; if (ListUsers.Count < endamount) { endamount = ListUsers.Count; } lblTotal.Text = string.Concat(startamount.ToString(), " to ", endamount.ToString(), " of ", Resources.Resource.Total, Constants.COLON, Constants.SPACE, ListUsers.Count.ToString()); } switch (Master.Friendorfollower) { case Constants.FriendsFollowers.NotFollowing: Control ctrlbtnFollow = e.Row.FindControl("btnFollow"); if (ctrlbtnFollow != null) { ctrlbtnFollow.Visible = true; } Control ctrlbtnFollowAll = e.Row.FindControl("btnFollowAll"); if (ctrlbtnFollowAll != null) { ctrlbtnFollowAll.Visible = true; } break; } switch (Master.Friendorfollower) { case Constants.FriendsFollowers.Exclude: case Constants.FriendsFollowers.Unfollow: case Constants.FriendsFollowers.NotFollowing: case Constants.FriendsFollowers.NeverFollow: Control ctrlbtnSave = e.Row.FindControl("btnSave"); if (ctrlbtnSave != null) { ctrlbtnSave.Visible = true; } Control ctrlbtnAddExclude = e.Row.FindControl("btnAddExclude"); if (ctrlbtnAddExclude != null) { ctrlbtnAddExclude.Visible = false; } if (Master.Friendorfollower != Constants.FriendsFollowers.Unfollow) { Control ctrlbtnDestroy = e.Row.FindControl("btnDestroy"); if (ctrlbtnDestroy != null) { ctrlbtnDestroy.Visible = false; } Control ctrlbtnDestroyAl = e.Row.FindControl("btnDestroyAll"); if (ctrlbtnDestroyAl != null) { ctrlbtnDestroyAl.Visible = false; } } if (Master.Friendorfollower == Constants.FriendsFollowers.NotFollowing) { Control ctrlbtnAddNeverFollow = e.Row.FindControl("btnAddNeverFollow"); if (ctrlbtnAddNeverFollow != null) { ctrlbtnAddNeverFollow.Visible = true; } } if (Master.Friendorfollower != Constants.FriendsFollowers.Exclude & Master.Friendorfollower != Constants.FriendsFollowers.NeverFollow) { Control ctrlbtnDel = e.Row.FindControl("btnDelete"); //if (ctrlbtnDel != null) ctrlbtnDel.Visible = false; } break; case Constants.FriendsFollowers.Analyze: Control ctlbtnDestroy = e.Row.FindControl("btnDestroy"); if (ctlbtnDestroy != null) { ctlbtnDestroy.Visible = false; } Control ctrlbtnDestroyAll = e.Row.FindControl("btnDestroyAll"); if (ctrlbtnDestroyAll != null) { ctrlbtnDestroyAll.Visible = false; } break; } break; } }