Esempio n. 1
0
 public bool AddReviewToDB_NewMethod(AddReviewToDBParam param)
 {
     try
     {
         using (DigikalaMongoDBRepository db = new DigikalaMongoDBRepository())
         {
             Review review = new Review(param.review);
             db.AddReviewNew(review);
             if (param.AutoOff)
             {
                 db.SetTaggedProduct(param.id, param.tagger);
             }
         }
         return(true);
     }
     catch (Exception ex)
     {
         LogDTO log = new LogDTO()
         {
             _id         = ObjectId.GenerateNewId(DateTime.Now).ToString(),
             DateTime    = DateTime.Now,
             Description = ex.Message,
             ProjectId   = (int)ProjectNames.Services,
             Url         = "DKP: " + param.review.ProductID,
             MethodName  = "AddReviewToDB_NewMethod",
             Title       = $"AddReviewToDB_NewMethod Error, Tagger: {param.tagger}"
         };
         Logger.AddLog(log);
         return(false);
     }
 }
        public IActionResult AddLabel([FromBody] AddLabelResturantParam model)
        {
            Dictionary <string, int> pol = new Dictionary <string, int>()
            {
                { "positive", 1 }, { "neutral", 0 }, { "negative", -1 }
            };

            if (model != null)
            {
                AddReviewToDBParam param = new AddReviewToDBParam();
                param.id     = model.CommentId.ToString();
                param.tagger = model.Tagger;
                ReviewDTO review = new ReviewDTO();
                review._id        = "000";
                review.CreateDate = DateTime.Now;
                review.ProductID  = int.Parse(model.CommentId);
                review.rid        = int.Parse(model.CommentId);

                sentence sentence = new sentence();
                sentence.Text = model.Text;

                List <Opinion> Opinions = new List <Opinion>();
                if (model.ResrurantLabels.Count() > 0)
                {
                    Opinions.AddRange(model.ResrurantLabels.Select(x => new Opinion
                    {
                        category      = x.Label.Split('#')[0].ToUpper().Trim(),
                        aspect        = x.Label.Split('#')[1].ToUpper().Trim(),
                        polarity      = x.Polarity,
                        polarityClass = pol[x.Polarity]
                    }).ToList());
                    sentence.Opinions = Opinions;
                }
                if (Opinions.Count < 1)
                {
                    sentence.OutOfScope = true;
                }
                review.sentences = new List <sentence>();
                review.sentences.Add(sentence);

                param.review = new ReviewDTO();
                param.review = review;
                using (IWebsiteCrawler digikala = new SnappfoodHelper())
                {
                    var result = digikala.AddReviewToDB_NewMethod(param);
                    if (!result)
                    {
                        return(NoContent());
                    }
                }
                return(Json(new { Message = "ثبت شد" }));
            }
            else
            {
                return(NoContent());
            }
        }
Esempio n. 3
0
 public AddReviewToDBResponse AddReviewNew([FromBody] AddReviewToDBParam param)
 {
     using (IWebsiteCrawler digikala = new DigikalaHelper())
     {
         var result = digikala.AddReviewToDB_NewMethod(param);
         return(new AddReviewToDBResponse {
             Success = result
         });
     }
 }
Esempio n. 4
0
        private void btnAddSentence_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(txtSelectReview.Text))
            {
                sentence sentence = new sentence();
                if (opinions != null && opinions.Count() > 0)
                {
                    var _opinions = opinions.Select(x => new Opinion {
                        category = x.category, aspect = x.aspect, polarity = x.polarity, polarityClass = x.polarityClass
                    }).ToList();
                    sentence = new sentence()
                    {
                        id       = sentenceId,
                        Text     = txtSelectReview.Text.Trim(),
                        Opinions = _opinions
                    };
                }

                if (opinions == null || opinions.Count() == 0)
                {
                    sentence = new sentence()
                    {
                        id         = sentenceId,
                        Text       = txtSelectReview.Text.Trim(),
                        Opinions   = new List <Opinion>(),
                        OutOfScope = true
                    };
                }

                sentences.Add(sentence);
                var sen = sentences.ToList();

                if (sentences != null && sentences.Count() > 0)
                {
                    if (review.sentences == null)
                    {
                        review.sentences = new List <sentence>();
                    }
                    review.sentences.AddRange(sentences);
                    sentences.Clear();
                }

                using (IWebsiteCrawler digikala = new DigikalaHelper())
                {
                    try
                    {
                        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>("AddReviewNew", param);
                            }
                            if (resultAddReview.Success)
                            {
                                sentences.Clear();
                                sentenceIdReset();
                            }
                            else
                            {
                                MessageBox.Show("ثبت با مشکل روبرو شده است دوباره سعی کنید. _ دوباره سعی کن نشد به بهزاد بگو", "Warning");
                                return;
                            }
                        }
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("خطا در ارسال اطلاعات به سرور ، لطفا به بهزاد خبر دهید که برنامه کار نمیکنه !!!");
                    }
                }

                txtReview.Text       = txtReview.Text.Replace(txtSelectReview.Text.Trim(), "").Trim();
                txtSelectReview.Text = "";
            }

            fillAspects();
            listAspects.Items.Clear();
            opinions.Clear();
        }
Esempio n. 5
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;
            }
        }
Esempio n. 6
0
 public bool AddReviewToDB(AddReviewToDBParam param)
 {
     throw new NotImplementedException();
 }