示例#1
0
        public ISlackResponseMessage ReplaceKudo(Kudo kudo)
        {
            kudo.Text = kudo.GetKudoMessage(2);

            this.kudoRepository.UpdateText(kudo.Map <Dbo.Kudo>());

            return(SlackResponseHelper.BuildKudoReplacedResponse(kudo));
        }
示例#2
0
        public ISlackResponseMessage CreateKudo(Kudo kudo)
        {
            kudo.Text = kudo.GetKudoMessage(2);

            kudoRepository.Create(kudo.Map <Dbo.Kudo>());


            return(SlackResponseHelper.BuildKudoCreatedResponse(kudo));
        }
示例#3
0
        public ISlackResponseMessage GetNKudosByUserId(Kudo kudo)
        {
            var numberOfKudos = kudo.CommandText.Split(' ')[1];

            if (numberOfKudos == "*")
            {
                return(this.GetAllUserKudos(kudo.UserId));
            }

            var kudos = this.kudoRepository.GetNByUserId(kudo.UserId, Convert.ToInt32(numberOfKudos)).Select(x => x.Map <Kudo>());

            return(SlackResponseHelper.BuildSlashResponseFromKudoList(kudos));
        }
示例#4
0
        public Task <ISlackResponseMessage> Handle(ReplaceKudoCommand request, CancellationToken cancellationToken)
        {
            try
            {
                KudoSlashCommandValidatorFactory <ReplaceKudoCommand> .GetValidator().Validate(request);

                var kudo = new Domain.Model.Kudo
                {
                    Id          = int.Parse(request.CommandText.Split(' ')[1]),
                    CommandText = request.CommandText
                };

                return(Task.FromResult(kudoService.ReplaceKudo(kudo)));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
示例#5
0
        public Task <ISlackResponseMessage> Handle(ListKudosQuery request, CancellationToken cancellationToken)
        {
            try
            {
                KudoSlashCommandValidatorFactory <ListKudosQuery> .GetValidator().Validate(request);

                var kudo = new Domain.Model.Kudo
                {
                    ByUserId    = request.UserId,
                    CommandText = request.Text
                };

                return(Task.FromResult(kudoService.GetNKudosByUserId(kudo)));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
示例#6
0
        public Task <ISlackResponseMessage> Handle(CreateKudoCommand request, CancellationToken cancellationToken)
        {
            try
            {
                KudoSlashCommandValidatorFactory <CreateKudoCommand> .GetValidator().Validate(request);

                var kudo = new Domain.Model.Kudo
                {
                    UserId      = request.GetUserId(),
                    Username    = request.GetUsername(),
                    ByUserId    = request.UserId,
                    ByUsername  = request.Username,
                    ChannelId   = request.ChannelId,
                    ChannelName = request.ChannelName,
                    CommandText = request.Text
                };

                return(Task.FromResult(kudoService.CreateKudo(kudo)));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
示例#7
0
 public static Data.Dbo.Kudo Map <T>(this Domain.Model.Kudo source) where T : Data.Dbo.Kudo
 {
     return(Mapper.Map(source, mapModelToDboFunction));
 }