예제 #1
0
        public async Task <bool> AddAsync(CrawledPageDto model)
        {
            try
            {
                var instagramPage = new Page();
                instagramPage.UpdateWith(model);
                instagramPage.InsertDateMi = instagramPage.ModifyDateMi = DateTime.Now;
                instagramPage.InsertDateSh = instagramPage.ModifyDateSh = PersianDateTime.Now.ToString(PersianDateTimeFormat.Date);

                await _sqlConnection.ExecuteSpCommandAsync <int>("[Instagram].[InsertPage]",
                                                                 new { Page = instagramPage.ToTableValuedParameter("[dbo].[Tvp_Page]") });

                return(true);
            }
            catch (Exception e)
            {
                FileLoger.Error(e);

                if (e.Message.Contains("unique index"))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
예제 #2
0
        public async Task <IResponse <CrawledPageDto> > CrawlPageAsync(string username)
        {
            //MyCrawler(username);
            try
            {
                if (string.IsNullOrWhiteSpace(username))
                {
                    return new Response <CrawledPageDto> {
                               IsSuccessful = false, Message = ServiceMessage.InvalidPageId
                    }
                }
                ;

                //var page = await CrawlPageFromInstagramAsync(username);
                //if (page.IsNull()) return new Response<CrawledPageDto> { IsSuccessful = false, Message = ServiceMessage.InvalidPageId };
                var page = new CrawledPageDto
                {
                    Username = username
                };
                var saveResult = await _crawlerUnitOfWork.PageRepo.AddAsync(page);

                return(new Response <CrawledPageDto>
                {
                    Result = saveResult ? page : null,
                    IsSuccessful = saveResult,
                    Message = saveResult ? ServiceMessage.Success : ServiceMessage.Error
                });
            }
            catch (Exception e)
            {
                FileLoger.Error(e);
                return(new Response <CrawledPageDto> {
                    IsSuccessful = false, Message = ServiceMessage.Exception
                });
            }
        }