示例#1
0
        public async Task <IViewComponentResult> InvokeAsync(FeedbackMessageType feedbackMessageType, int?numberToShow, string groupKey, bool?b2bFeedback)
        {
            var viewModel = new TestimonialsViewModel();
            var messages  = await _feedbackRepository.GetTestimonials();

            if (feedbackMessageType == FeedbackMessageType.Other)
            {
                var faceMasks = messages.FindAll(e => e.Type == FeedbackMessageType.FaceCovering);

                var notMasks = messages.FindAll(e => e.Type != FeedbackMessageType.FaceCovering);
                messages = notMasks.Concat(faceMasks.OrderBy(x => Guid.NewGuid()).Take(3)).ToList(); //get fewer masks involved
            }
            else
            {
                messages = messages.FindAll(e => e.Type == feedbackMessageType);

                if (feedbackMessageType == FeedbackMessageType.Group)
                {
                    messages = messages.FindAll(e => e.GroupKey == groupKey);
                }
            }

            if (b2bFeedback != null)
            {
                messages = messages.Where(m => m.B2BFeedback == b2bFeedback).ToList();
            }

            if (numberToShow != null)
            {
                messages = messages.OrderBy(x => Guid.NewGuid()).Take(numberToShow.Value).ToList();
            }

            viewModel.Testimonials = messages.OrderBy(x => Guid.NewGuid()).ToList();
            return(View(viewModel));
        }
        ViewResult GetFeedbackView(string msg, FeedbackMessageType messageType)
        {
            var viewModel = new FeedbackMessageViewModel
            {
                Message     = msg,
                MessageType = messageType
            };

            return(View("FeedbackMessage", viewModel));
        }
示例#3
0
        /// <summary>
        /// Constructor method.
        /// </summary>
        public FeedbackMessage(FeedbackMessageType type, string content, string title = null)
        {
            if (string.IsNullOrWhiteSpace(content))
            {
                throw new ArgumentNullException(nameof(content));
            }

            Content = content;
            Title   = title.WhenNullOrWhiteSpace(type.GetDisplayName());
            Type    = type;
        }
        /// <summary>
        /// Constructor method.
        /// </summary>
        public FeedbackMessage(FeedbackMessageType type, string content, string title)
        {
            if (string.IsNullOrWhiteSpace(content))
            {
                throw new ArgumentException(nameof(content));
            }

            if (string.IsNullOrWhiteSpace(title))
            {
                title = type.GetDisplayName();
            }

            Type    = type;
            Content = content;
            Title   = title;
        }
示例#5
0
        public static string CRUDMessage(FeedbackMessageType messageType, CRUDActions action, string targetObject)
        {
            var actionSufix  = "";
            var actionPrefix = "";

            switch (messageType)
            {
            case FeedbackMessageType.Sucess:
                actionSufix = "d";
                break;

            case FeedbackMessageType.Failed:
                actionPrefix = "To";
                action.ToString().ToLower();
                break;
            }
            var feedbackMessage = $"{messageType}: {actionPrefix} {action}{actionSufix} {targetObject}!";

            return(feedbackMessage);
        }
        /// <summary>
        /// Add a new message.
        /// </summary>
        public void AddMessage(FeedbackMessageType type, string content, string title = null)
        {
            var message = new FeedbackMessage(type, content, title);

            AddMessage(message);
        }