public async Task <List <OnlineAccountModel> > GetOnlineAccountAsync() { var models = new List <OnlineAccountModel>(); try { var re = await _accountCenterHttpService.SendRequst(onlineUri, HttpMethod.Get); var parser = new HtmlParser(); var document = parser.Parse(re); var emphasize = document.GetElementById("Maint1"); var trs = emphasize.QuerySelectorAll("tbody tr"); foreach (var tr in trs) { var model = new OnlineAccountModel(); var tds = tr.QuerySelectorAll("td"); model.IPv4 = tds[0].TextContent.Trim(); model.IPv6 = tds[1].TextContent.Trim(); model.Mac = tds[2].TextContent.Trim(); model.SessionID = tds[3].TextContent.Trim(); models.Add(model); } } catch { } return(models); }
private ContentModel Upgrade(EntryModel model, ContentModel newContentModel, ContentType targetType) { if (model.ContentType == targetType) { return(null); } ContentModel newModel = null; if (model.ContentType == ContentType.Note && targetType == ContentType.Webpage) { newModel = new WebpageModel(); var nowContent = newContentModel as NoteModel; UpgradeHelper.WriteValues(nowContent, (WebpageModel)newModel); } if (model.ContentType == ContentType.Note && targetType == ContentType.Person) { newModel = new PersonModel(); var nowContent = newContentModel as NoteModel; UpgradeHelper.WriteValues(nowContent, (PersonModel)newModel); } if (model.ContentType == ContentType.Note && targetType == ContentType.Book) { newModel = new BookModel(); var nowContent = newContentModel as NoteModel; UpgradeHelper.WriteValues(nowContent, (BookModel)newModel); } if (model.ContentType == ContentType.Webpage && targetType == ContentType.CreditCard) { newModel = new CreditCardModel(); var nowContent = newContentModel as WebpageModel; UpgradeHelper.WriteValues(nowContent, (CreditCardModel)newModel); } if (model.ContentType == ContentType.Webpage && targetType == ContentType.OnlineAccount) { newModel = new OnlineAccountModel(); var nowContent = newContentModel as WebpageModel; UpgradeHelper.WriteValues(nowContent, (OnlineAccountModel)newModel); } if (newModel != null) { model.ContentType = newModel.GetContentType(); } return(newModel); }
public static void WriteValues(WebpageModel source, OnlineAccountModel target) { WriteValues(source as NoteModel, target); target.WebpageUrl = source.WebpageUrl; }