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); }
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")); }
public List <Review> GetXml(GetFirstProductByCategoryParam param) { using (IWebsiteCrawler digikala = new DigikalaHelper()) { return(digikala.GetAllReviews1()); } }
public DigikalaProductDTO GetFirstProductByCategory(GetFirstProductByCategoryParam param) { using (IWebsiteCrawler digikala = new DigikalaHelper()) { return(digikala.GetFirstProductByCategory <DigikalaProductDTO>(param).Result); } }
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))); } }
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))); } }
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; } }
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")); }
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")); }