Exemplo n.º 1
0
        public void Edit(WebpageModel model)
        {
            var record = _session.Single <Webpage>(x => x.Id == model.Id);

            record.Update(model);
            _session.CommitChanges();
        }
        public static WebpageViewModel ToViewModel(this WebpageModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(WebpageViewModel));
            }

            return(new WebpageViewModel
            {
                Id = model.Id,
                Path = model.Path,
                MaxResponseTime = model.MaxResponseTime,
                MinResponseTime = model.MinResponseTime,
            });
        }
Exemplo n.º 3
0
        public async Task AnalyzeAsync(WebpageModel webpage)
        {
            var responseTimeArray = new double[NumberOfRequests];

            TimeSpan requestTime;

            for (int i = 0; i < NumberOfRequests; i++)
            {
                requestTime = await _httpClientWatcher.GetResponseTimeAsync(webpage.Path);

                responseTimeArray[i] = requestTime.Milliseconds;
            }

            webpage.MinResponseTime = responseTimeArray.Min();
            webpage.MaxResponseTime = responseTimeArray.Max();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        public async Task AnalyzeAsync(WebsiteModel website)
        {
            var urls = await _sitemapService.GetUrlsAsync(website.Domain);

            if (urls.Count > 0)
            {
                var webpages = new ConcurrentBag <WebpageModel>();

                await urls.ParallelForEachAsync(async url =>
                {
                    WebpageModel webpage = new WebpageModel {
                        Path = url.ToString(), Website = website
                    };
                    await _webpageAnalyzer.AnalyzeAsync(webpage);
                    webpages.Add(webpage);
                }, maxDegreeOfParallelism : 10);

                website.Webpages = webpages.ToList();
            }
        }
Exemplo n.º 6
0
 public void Edit(WebpageModel model)
 {
     var record = _session.Single<Webpage>(x=>x.Id == model.Id);
     record.Update(model);
     _session.CommitChanges();
 }
Exemplo n.º 7
0
 public void Delete(WebpageModel model)
 {
     _session.Delete(model);
 }
Exemplo n.º 8
0
 public void Add(WebpageModel model)
 {
     _session.Add(model);
 }
Exemplo n.º 9
0
 public void Delete(WebpageModel model)
 {
     _session.Delete(model);
 }
Exemplo n.º 10
0
 public void Add(WebpageModel model)
 {
     _session.Add(model);
 }
Exemplo n.º 11
0
 public static void WriteValues(WebpageModel source, OnlineAccountModel target)
 {
     WriteValues(source as NoteModel, target);
     target.WebpageUrl = source.WebpageUrl;
 }