コード例 #1
0
        public ActionResult AddOpinion(OpinionModel opinionModel)
        {
            Alert.SetAlert(AlertStatus.Succes, "Poprawnie dodano opinię. Dziękujemy!");
            _catalogsHelper.AddOpinion(opinionModel);

            return(Json(""));
        }
コード例 #2
0
        void ICatalogHelper.AddOpinion(OpinionModel opinionModel)
        {
            if (opinionModel.Id_User != -1 && opinionModel.Opinion != null)
            {
                var modelToSave = new items_opinions
                {
                    Id_Item    = opinionModel.Id_Item,
                    Opinion    = opinionModel.Opinion,
                    Rate       = (Rating)opinionModel.Rate,
                    InsertTime = DateTime.Now,
                    Id_Client  = opinionModel.Id_User
                };

                _catalogRepository.AddOpinion(modelToSave);
            }
            else if (opinionModel.Id_User == -1 && opinionModel.Opinion != null)
            {
                var modelToSave = new items_opinions
                {
                    Id_Item    = opinionModel.Id_Item,
                    Opinion    = opinionModel.Opinion,
                    Rate       = (Rating)opinionModel.Rate,
                    InsertTime = DateTime.Now,
                    Id_Client  = null
                };

                _catalogRepository.AddOpinion(modelToSave);
            }
        }
コード例 #3
0
        public OpinionsViewModel()
        {
            if (!HttpRequest.HasInternet())
            {
                HttpRequest.GetRequestOnliner(UrlApiOpinions);
                ResultHtmlPage = HttpRequest.ResultGetRequsetString;
                HtmlDocument.LoadHtml(ResultHtmlPage);

                List <HtmlNode> opinionsItems = HtmlDocument.DocumentNode.Descendants().Where
                                                    (x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("b-opinions-body"))).
                                                FirstOrDefault().Descendants("div").Where(y => y.Attributes["class"].Value.Contains("b-opinions-list-item")).ToList();
                int step = 0;
                foreach (var item in opinionsItems)
                {
                    if (step == 0 || step % 2 == 0)
                    {
                        opinionModel = new OpinionModel();

                        opinionModel.LinkNews      = item.Descendants("div").Where(div => div.GetAttributeValue("class", string.Empty) == "b-opinions-list-item__header").FirstOrDefault().Descendants("a").FirstOrDefault().Attributes["href"].Value;
                        opinionModel.Header        = item.Descendants("div").Where(div => div.GetAttributeValue("class", string.Empty) == "b-opinions-list-item__header").FirstOrDefault().Descendants("a").FirstOrDefault().Descendants("h2").FirstOrDefault().InnerText;
                        opinionModel.Body          = item.Descendants("p").FirstOrDefault().InnerText.Trim();
                        opinionModel.ImageUrl      = item.Descendants("div").Where(div => div.GetAttributeValue("class", string.Empty) == "person-portrait").FirstOrDefault().Attributes["style"].Value;
                        opinionModel.PersonAbout   = item.Descendants("div").Where(div => div.GetAttributeValue("class", string.Empty) == "person-about").FirstOrDefault().InnerText.Trim();
                        opinionModel.CommentsCount = item.Descendants("div").Where(div => div.GetAttributeValue("class", string.Empty) == "b-opinions-list-item__header").FirstOrDefault().Descendants("a").LastOrDefault().Descendants("span").FirstOrDefault().InnerText;

                        _opinionsItems.Add(opinionModel);
                    }
                    step++;
                }
            }
        }
コード例 #4
0
    internal override void VirtualApply(ref WorldModel targetModel, Dictionary <Role, Character> involvedCharacters, float likelyhood)
    {
        Character OpinionHolderChar;

        if (!involvedCharacters.TryGetValue(OpinionHolder, out OpinionHolderChar))
        {
            return;                                                                       //unbound role
        }
        Character TraitHolderChar;

        if (!involvedCharacters.TryGetValue(TraitHolder, out TraitHolderChar))
        {
            return;                                                                   //unbound role
        }
        CharModel OpinionHolderModel;

        if (!targetModel.Characters.TryGetValue(OpinionHolderChar, out OpinionHolderModel))//no previous model
        {
            OpinionHolderModel = new CharModel(OpinionHolderChar);
            targetModel.Characters.Add(OpinionHolderChar, OpinionHolderModel);
        }
        OpinionModel opinions;

        if (!OpinionHolderModel.opinions.TryGetValue(TraitHolderChar, out opinions))//no modeled opinions about traitHolder
        {
            opinions = new OpinionModel();
            OpinionHolderModel.opinions.Add(TraitHolderChar, opinions);
        }
        float previousValue;

        if (!opinions.traits.TryGetValue(trait, out previousValue))
        {
            previousValue = 0.5f;
            opinions.traits.Add(trait, previousValue);
        }
        switch (Operator)
        {
        case ValueChangeOperator.add:
            opinions.traits[trait] = Mathf.Clamp01(previousValue + traitValue);
            break;

        case ValueChangeOperator.multiply:
            opinions.traits[trait] = Mathf.Clamp01(previousValue * traitValue);
            break;

        case ValueChangeOperator.set:
            opinions.traits[trait] = Mathf.Clamp01(traitValue);
            break;

        default:
            break;
        }
    }
コード例 #5
0
        public ActionResult CreateOpinion([FromBody] OpinionModel opinion)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            _logger.LogInformation("adding opinion}");

            var newOpinion         = OpinionMapper.SerializeOpinion(opinion);
            var newOpinionResopnse = _opinionService.CreateOpinion(newOpinion);

            return(Ok(newOpinionResopnse));
        }
コード例 #6
0
    internal override void VirtualApply(ref WorldModel targetModel, Dictionary <Role, Character> involvedCharacters, float likelyhood)
    {
        Character OpinionHolderChar;

        if (!involvedCharacters.TryGetValue(OpinionHolder, out OpinionHolderChar))
        {
            return;                                                                       //unbound role
        }
        Character RelationshipHolderChar;

        if (!involvedCharacters.TryGetValue(RelationshipHolder, out RelationshipHolderChar))
        {
            return;
        }
        Character RelationshipRecipientChar;

        if (!involvedCharacters.TryGetValue(RelationshipRecipient, out RelationshipRecipientChar))
        {
            return;
        }
        CharModel OpinionHolderModel;

        if (!targetModel.Characters.TryGetValue(OpinionHolderChar, out OpinionHolderModel))//no previous model
        {
            OpinionHolderModel = new CharModel(OpinionHolderChar);
            targetModel.Characters.Add(OpinionHolderChar, OpinionHolderModel);
        }
        OpinionModel opinions;

        if (!OpinionHolderModel.opinions.TryGetValue(RelationshipHolderChar, out opinions))
        {
            opinions = new OpinionModel();
            OpinionHolderModel.opinions.Add(RelationshipHolderChar, opinions);
        }
        RelationshipArray relationships;

        if (!opinions.relationships.TryGetValue(RelationshipRecipientChar, out relationships))//no previous relationship modeled for the recipient
        {
            relationships = new RelationshipArray();
        }
        if (RelationshipStatus && !relationships.relationships.Contains(relationship))
        {
            relationships.relationships.Add(relationship);
        }
        else if (!RelationshipStatus && relationships.relationships.Contains(relationship))
        {
            relationships.relationships.Remove(relationship);
        }
    }
コード例 #7
0
        public IActionResult WriteOpinion(OpinionModel opinionData)
        {
            string allInfo = opinionData.Opinion;

            using (StreamWriter sw = new StreamWriter(@"SaveOpinion.txt"))
            {
                sw.WriteLine(allInfo);
            }

            string opinion = opinionData.Opinion;

            TempData["opinionT"] = opinion;

            return(View("Index"));
        }
コード例 #8
0
 /// <summary>
 /// Make a OpinionModel view model to Opinion data model
 /// </summary>
 /// <param name="opinion"></param>
 /// <returns></returns>
 public static Data.Models.Opinion SerializeOpinion(OpinionModel opinion)
 {
     return(new Data.Models.Opinion
     {
         Id = opinion.Id,
         CreatedOn = opinion.CreatedOn,
         UpdatedOn = opinion.UpdatedOn,
         Name = opinion.Name,
         Email = opinion.Email,
         Review = opinion.Review,
         GeneralRating = opinion.GeneralRating,
         Advanced = opinion.Advanced,
         Beginner = opinion.Beginner,
         Intermediate = opinion.Intermediate,
         SkiResort = opinion.SkiResort,
         Snowpark = opinion.Snowpark,
         VisitDate = opinion.VisitDate
     });
 }
コード例 #9
0
        internal List <OpinionModel> GetAllOpinions()
        {
            List <OpinionModel> allOpinions = new List <OpinionModel>();

            List <Opinion> opinions = _opinionRepository.GetAll();

            foreach (Opinion op in opinions)
            {
                OpinionModel om = new OpinionModel();
                om.OpinionId    = op.Id.ToString();
                om.Subject      = op.Subject;
                om.Date_created = op.Date_created;
                om.User_email   = op.User_email;
                om.Picture_url  = op.Picture_url;

                om.User_username = _userRepository.GetByEmail(op.User_email).Username.ToString();

                List <String>          categList  = new List <String>();
                List <CategoryOpinion> categories = _categoryOpinionRepository.GetAllOfOpinion(op.Id);
                foreach (CategoryOpinion co in categories)
                {
                    Category categ = _categoryRepository.GetById(co.Categ_id);
                    categList.Add(categ.name);
                }
                om.Category = categList;

                List <Argument> allOpinionArguments = _argumentRepository.GetAllOfOpinion(op.Id);
                foreach (Argument ar in allOpinionArguments)
                {
                    ar.Opinion       = new Opinion();
                    ar.User          = new User();
                    ar.User.Email    = ar.User_email;
                    ar.User.Username = _userRepository.GetByEmail(ar.User_email).Username;
                }
                om.Arguments = allOpinionArguments;
                om.Pro_votes = "0";
                om.Con_votes = "0";

                allOpinions.Add(om);
            }

            return(allOpinions);
        }
コード例 #10
0
        internal OpinionModel GetOpinion(string op_id)
        {
            Opinion op = _opinionRepository.GetById(int.Parse(op_id));

            OpinionModel om = new OpinionModel();

            om.OpinionId     = op.Id.ToString();
            om.Subject       = op.Subject;
            om.Date_created  = op.Date_created;
            om.User_email    = op.User_email;
            om.Picture_url   = op.Picture_url;
            om.User_username = _userRepository.GetByEmail(op.User_email).Username.ToString();

            List <String>          categList  = new List <String>();
            List <CategoryOpinion> categories = _categoryOpinionRepository.GetAllOfOpinion(op.Id);

            foreach (CategoryOpinion co in categories)
            {
                Category categ = _categoryRepository.GetById(co.Categ_id);
                categList.Add(categ.name);
            }
            om.Category = categList;

            List <Argument> allOpinionArguments = _argumentRepository.GetAllOfOpinion(op.Id);

            foreach (Argument ar in allOpinionArguments)
            {
                ar.Opinion       = new Opinion();
                ar.User          = new User();
                ar.User.Email    = ar.User_email;
                ar.User.Username = _userRepository.GetByEmail(ar.User_email).Username;
            }
            om.Arguments = allOpinionArguments;

            try {
                List <OpinionVote> votes = _voteOpinionRepository.GetAll();
                int pro = 0, con = 0;
                foreach (OpinionVote ov in votes)
                {
                    if (ov.Opinion_id == int.Parse(op_id))
                    {
                        if (ov.Vote_pro)
                        {
                            pro++;
                        }
                        else
                        {
                            con++;
                        }
                    }
                }
                om.Pro_votes = pro.ToString();
                om.Con_votes = con.ToString();
            }
            catch
            {
                om.Pro_votes = "0";
                om.Con_votes = "0";
            }


            return(om);
        }
コード例 #11
0
        public IHttpActionResult GetOpinion(string param)
        {
            OpinionModel opinionModel = _opinionServices.GetOpinion(param);

            return(Ok(opinionModel));
        }