public DigikalaProductDTO GetFirstProductByCategory(GetFirstProductByCategoryParam param)
        {
            var query = Query <DigikalaProduct> .Where(x => x.Category == param.category &&
                                                       (string.IsNullOrEmpty(param.title) || x.Title.Contains(param.title)) &&
                                                       (string.IsNullOrEmpty(param.Brand) || x.Brand != null && x.Brand.Contains(param.Brand)) &&
                                                       x.Comments.Any() &&
                                                       x.Reserved == false &&
                                                       !x.isTagged);

            var update = Update <DigikalaProduct> .Set(p => p.Reserved, true).Set(p => p.Tagger, param.tagger);

            digikalaProducts.Update(query, update);

            System.Threading.Thread.Sleep(50);

            var product = digikalaProducts.FindOne(query);
            DigikalaProductDTO digikalaProduct = new DigikalaProductDTO();

            digikalaProduct._id        = product._id.ToString();
            digikalaProduct.AvrageRate = product.AvrageRate;
            digikalaProduct.Brand      = product.Brand;
            digikalaProduct.Categories = product.Categories;
            digikalaProduct.Category   = product.Category;
            digikalaProduct.Colors     = product.Colors;
            digikalaProduct.Comments   = product.Comments.Select(x => new Models.DTO.Comment.CommentDTO
            {
                Author         = x.Author,
                BoughtPrice    = x.BoughtPrice,
                Color          = x.Color,
                CommentDate    = x.CommentDate,
                CommentDisLike = x.CommentDisLike,
                CommentId      = x.CommentId,
                CommentLike    = x.CommentLike,
                CreateDate     = x.CreateDate,
                Id             = x.Id,
                NegativeAspect = x.NegativeAspect,
                OpinionType    = x.OpinionType,
                PageId         = x.PageId,
                PositiveAspect = x.PositiveAspect,
                Purchased      = x.Purchased,
                Review         = x.Review,
                Seller         = x.Seller,
                SellerLink     = x.SellerLink,
                Title          = x.Title,
                Size           = x.Size
            }).ToList();
            digikalaProduct.DKP      = product.DKP;
            digikalaProduct.Features = product.Features == null ? null : product.Features.Select(x => new ProductFeaturesDTO {
                Title = x.Title, Features = x.Features
            }).ToList();
            digikalaProduct.Guaranteed             = product.Guaranteed;
            digikalaProduct.MaxRate                = product.MaxRate;
            digikalaProduct.Price                  = product.Price;
            digikalaProduct.RatingItems            = product.RatingItems;
            digikalaProduct.Title                  = product.Title;
            digikalaProduct.TitleEN                = product.TitleEN;
            digikalaProduct.TotalParticipantsCount = product.TotalParticipantsCount;
            digikalaProduct.Url = product.Url;
            return(digikalaProduct);
        }
Ejemplo n.º 2
0
        public IActionResult Index(string id)
        {
            //Aspects aspects = new Aspects();
            List <User> users = new List <User>();

            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Role = "admin"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "اپل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });

            if (!string.IsNullOrEmpty(id))
            {
                User _user = users.Where(x => x.Username.ToLower() == id.ToLower().Trim()).FirstOrDefault();

                if (_user != null)
                {
                    TaggerResturantVM tagger = new TaggerResturantVM();
                    tagger.User   = _user;
                    tagger.Tagger = _user.Username;

                    using (IWebsiteCrawler snappfood = new SnappfoodHelper())
                    {
                        GetFirstProductByCategoryParam param = new GetFirstProductByCategoryParam();
                        param.tagger = _user.Username;
                        param.title  = _user.Title;
                        var      s        = snappfood.GetFirstProductByCategory <ResturantReviewsDTO>(param).Result;
                        string[] comments = s.Review.Split(". ");

                        tagger.Review    = s.Review;
                        tagger.idBson    = s._id;
                        tagger.CommentId = s._id;
                    }
                    return(View(tagger));
                }
            }
            return(Redirect("http://google.com"));
        }
Ejemplo n.º 3
0
 public List <Review> GetXml(GetFirstProductByCategoryParam param)
 {
     using (IWebsiteCrawler digikala = new DigikalaHelper())
     {
         return(digikala.GetAllReviews1());
     }
 }
Ejemplo n.º 4
0
 public DigikalaProductDTO GetFirstProductByCategory(GetFirstProductByCategoryParam param)
 {
     using (IWebsiteCrawler digikala = new DigikalaHelper())
     {
         return(digikala.GetFirstProductByCategory <DigikalaProductDTO>(param).Result);
     }
 }
Ejemplo n.º 5
0
 public async Task <T> GetFirstProductByCategory <T>(GetFirstProductByCategoryParam param)
 {
     using (DigikalaMongoDBRepository db = new DigikalaMongoDBRepository())
     {
         var result = db.GetFirstProductByCategory(param);
         return((T)Convert.ChangeType(result, typeof(DigikalaProductDTO)));
     }
 }
Ejemplo n.º 6
0
 public async Task <T> GetFirstProductByCategory <T>(GetFirstProductByCategoryParam param)
 {
     using (SnappfoodMongoDBRepository db = new SnappfoodMongoDBRepository())
     {
         ResturantReviewsDTO reviews = db.GetFirstSnappfood(param.tagger);
         return((T)Convert.ChangeType(reviews, typeof(ResturantReviewsDTO)));
     }
 }
Ejemplo n.º 7
0
        private void btnNext_Click(object sender, RoutedEventArgs e)
        {
            if (opinions != null && opinions.Count() > 0 && !string.IsNullOrEmpty(txtSelectReview.Text))
            {
                sentences.Add(new sentence
                {
                    id       = sentenceId,
                    Text     = txtSelectReview.Text.Trim(),
                    Opinions = opinions
                });
                opinions.Clear();
            }

            using (IWebsiteCrawler digikala = new DigikalaHelper())
            {
                if (sentences != null && sentences.Count() > 0)
                {
                    if (review.sentences == null)
                    {
                        review.sentences = new List <sentence>();
                    }
                    review.sentences.AddRange(sentences);
                    sentences.Clear();
                }
                if (review != null && review.sentences != null && review.sentences.Count() > 0)
                {
                    review.CreateDate = DateTime.Now;
                    //review._id = ObjectId.GenerateNewId(DateTime.Now);
                    review.rid = digikalaProduct.DKP;
                    AddReviewToDBParam param = new AddReviewToDBParam
                    {
                        review = review,
                        id     = digikalaProduct._id,
                        tagger = user.Username
                    };
                    AddReviewToDBResponse resultAddReview = new AddReviewToDBResponse()
                    {
                        Success = false
                    };
                    //bool resultAddReview = digikala.AddReviewToDB(param); // ☺ Api
                    using (var Api = new WebAppApiCall())
                    {
                        resultAddReview = Api.GetFromApi <AddReviewToDBResponse>("AddReviewtodb", param);
                    }
                    if (resultAddReview.Success)
                    {
                        sentences.Clear();
                        sentenceIdReset();
                        review = new ReviewDTO();
                    }
                    else
                    {
                        MessageBox.Show("ثبت با مشکل روبرو شده است دوباره سعی کنید.", "Warning");
                        return;
                    }
                }
                GetFirstProductByCategoryParam getProductParam = new GetFirstProductByCategoryParam
                {
                    category = user.Category,
                    title    = user.Title,
                    Brand    = user.Brand,
                    tagger   = user.Username
                };
                // ☺ Api
                using (var Api = new WebAppApiCall())
                {
                    digikalaProduct = Api.GetFromApi <DigikalaProductDTO>("GetFirstProductByCategory", getProductParam);
                }
                //digikalaProduct = digikala.GetFirstProductByCategory<DigikalaProductDTO>(getProductParam).Result;
                commentCurrentIndex = -1;
                commentCount        = digikalaProduct.Comments.Count();
                nextReview();
                txtProductId.Text = digikalaProduct.DKP.ToString();
                txtTitle.Text     = digikalaProduct.Title;
                txtEnTitle.Text   = digikalaProduct.TitleEN;
                review.ProductID  = digikalaProduct.DKP;
            }
        }
Ejemplo n.º 8
0
        public IActionResult Label(string id)
        {
            //Aspects aspects = new Aspects();
            List <User> users = new List <User>();

            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "اپل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });

            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "سامسونگ"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "اپل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "هوآوی"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "شیائومی"
            });

            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Role = "admin"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "سامسونگ"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "اپل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "هوآوی"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "شیائومی"
            });

            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });

            if (!string.IsNullOrEmpty(id))
            {
                User _user = users.Where(x =>
                                         x.Username.ToLower() == id.ToLower().Trim()
                                         ).FirstOrDefault();

                if (_user != null)
                {
                    TaggerVM tagger = new TaggerVM();
                    tagger.User   = _user;
                    tagger.Tagger = _user.Username;

                    using (IWebsiteCrawler digikala = new DigikalaHelper())
                    {
                        GetFirstProductByCategoryParam param = new GetFirstProductByCategoryParam();
                        param.Brand    = _user.Brand;
                        param.category = _user.Category;
                        param.tagger   = _user.Username;
                        param.title    = _user.Title;
                        var s = digikala.GetFirstProductByCategory <DigikalaProductDTO>(param).Result;
                        tagger.ProductCount = s.Comments.Count();
                        List <CommentDTO> comments = new List <CommentDTO>();
                        using (var html = new HtmlHelper())
                        {
                            foreach (var item in s.Comments)
                            {
                                CommentDTO comment = new CommentDTO();
                                comment = item;
                                var _cm = html.CleanReview(item.Review);
                                if (!string.IsNullOrEmpty(_cm))
                                {
                                    comment.Review = _cm.Replace(". ", "\n");
                                }
                                comments.Add(comment);
                            }
                        }

                        tagger.CommentJson  = JsonConvert.SerializeObject(comments);
                        tagger.CommentTitle = s.Comments.FirstOrDefault().Title;
                        tagger.CountReview  = s.Comments.Count();
                        tagger.CountCurrent = 0;
                        tagger.Review       = s.Comments.FirstOrDefault().Review;
                        tagger.ProductId    = s.DKP;
                        tagger.idBson       = s._id;
                        tagger.ProductName  = s.Title;
                        //tagger.ProductDTO = s;
                    }
                    return(View(tagger));
                }
            }
            return(Redirect("http://google.com"));
        }
Ejemplo n.º 9
0
        public IActionResult Privacy(string id)
        {
            List <User> users = new List <User>();

            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Role = "admin"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل", Brand = "اپل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });
            users.Add(new User {
                Username = "******", Password = "******", Category = "گوشی موبایل"
            });

            if (!string.IsNullOrEmpty(id))
            {
                User _user = users.Where(x =>
                                         x.Username.ToLower() == id.ToLower().Trim()
                                         ).FirstOrDefault();

                if (_user != null)
                {
                    TaggerVM tagger = new TaggerVM();
                    tagger.User   = _user;
                    tagger.Tagger = _user.Username;

                    using (IWebsiteCrawler digikala = new DigikalaHelper())
                    {
                        GetFirstProductByCategoryParam param = new GetFirstProductByCategoryParam();
                        param.Brand    = _user.Brand;
                        param.category = _user.Category;
                        param.tagger   = _user.Username;
                        //param.title = _user.Title;
                        var s = digikala.GetFirstProductByCategory <DigikalaProductDTO>(param).Result;
                        tagger.ProductCount = s.Comments.Count();
                        tagger.CommentJson  = JsonConvert.SerializeObject(s.Comments);
                        tagger.CommentTitle = s.Comments.FirstOrDefault().Title;
                    }

                    return(View(tagger));
                }
            }
            return(Redirect("http://google.com"));
        }