Ejemplo n.º 1
0
        public IActionResult AddSentiment()
        {
            EventSentimentModel newSentiment = new EventSentimentModel {
                Name = Guid.NewGuid().ToString(), Value = 0
            };

            return(PartialView("~/Views/Shared/EditorTemplates/EventSentimentModel.cshtml", newSentiment));
        }
Ejemplo n.º 2
0
        private EventSentimentModel GetEventSentiment(EventModel eventObj, string sentiment)
        {
            EventSentimentModel eventSentiment = eventObj.EventSentiments?.Find(p => p.Name == sentiment);

            if (eventSentiment == null)
            {
                if (eventObj.EventSentiments == null)
                {
                    eventObj.EventSentiments = new List <EventSentimentModel>();
                }
                eventSentiment = new EventSentimentModel()
                {
                    Name  = sentiment,
                    Value = 0
                };
                eventObj.EventSentiments.Add(eventSentiment);
            }
            return(eventSentiment);
        }
Ejemplo n.º 3
0
        private async Task <EventModel> UpdateEventSentimentValue(string eventId, string note, string sentiment)
        {
            EventModel eventObj = await _eventRestService.GetEvent(eventId);

            if (eventObj.IsEventActive)
            {
                EventSentimentModel eventSentiment = GetEventSentiment(eventObj, sentiment);
                eventSentiment.Value++;
                eventObj.LastNote = note;

                UpdateSentimentValuesPercentage(eventObj);

                try
                {
                    var result = await _eventRestService.UpdateEvent(eventObj);

                    if (result == HttpStatusCode.OK)
                    {
                        return(eventObj);
                    }
                    else if (result == HttpStatusCode.PreconditionFailed)
                    {
                        await UpdateEventSentimentValue(eventId, note, sentiment); //Etag error, retrying...
                    }
                    else
                    {
                        _logger.LogError($"UpdateEventSentimentValue: {result}");
                        return(null);
                    }
                }
                catch (Exception e)
                {
                    _logger.LogError($"UpdateEventSentimentValue: {e.Message}");
                    return(null);
                }
            }
            return(null);
        }