public async Task <IActionResult> CreateSkill([FromBody] CreateSkillInputModel inputModel)
        {
            var command = new CreateSkillCommand(inputModel.Description);
            var result  = await _mediator.Send(command);

            return(CreatedAtAction(nameof(GetSkill), new { id = result.Id }, result));
        }
        private async Task CreateSkill()
        {
            var result = await Shell.Current.Navigation.ShowPopupAsync(new SkillPopup());

            if (result == null)
            {
                return;
            }
            var resultAsSkill = (Skill)result;

            if (string.IsNullOrEmpty(resultAsSkill.SkillName))
            {
                return;
            }
            resultAsSkill.MusicianId = DependencyService.Resolve <IAuthenticationService>().GetCurrentUserId();
            resultAsSkill.TimeStamp  = DateTime.Now;

            // Prevent user from adding more skills before the list is updated
            IsBusy           = true;
            IsAbleToAddSkill = false;
            CreateSkillCommand.RaiseCanExecuteChanged();

            // Add skill to database
            await App.Database.AddSkill(resultAsSkill);

            // Inform user
            await Shell.Current.CurrentPage.DisplayToastAsync("Dovednost přidána do databáze");

            // Refresh
            await Initialize();
        }
        public async Task Initialize()
        {
            IsBusy = true;
            var userId = DependencyService.Resolve <IAuthenticationService>().GetCurrentUserId();

            UserSkills.ReplaceRange(await App.Database.GetUserSkill(userId));
            IsAbleToAddSkill = UserSkills.Count < 4;
            CreateSkillCommand.RaiseCanExecuteChanged();
            IsBusy = false;
        }
        public async Task <ApiResponse <object> > Create(CreateSkillDto request)
        {
            var command = new CreateSkillCommand
            {
                Name   = request.Name,
                Damage = request.Damage
            };
            await _operationMediator.HandleAsync(command);

            var location = Url.Link(GetByIdRouteName, new { id = command.GeneratedId });

            return(ApiResponse.Created(location, command.GeneratedId));
        }
Beispiel #5
0
        public async Task <IActionResult> Post([FromBody] CreateSkillCommand command)
        {
            //Chamando a camada de validação do Fluent Validation - Usando a verificação do ModelState em uma Action (mais tradicional)
            //if (!ModelState.IsValid)
            //{
            //    var messages = ModelState.SelectMany(ms => ms.Value.Errors).Select(e => e.ErrorMessage).ToList();

            //    return BadRequest(messages);
            //}

            //var id = _skillservice.Create(command);
            var id = await _mediator.Send(command);

            return(CreatedAtAction(nameof(GetById), new { id = id }, command));
        }
Beispiel #6
0
        public async Task InputDataIsOk_Executed_ReturnSkillId()
        {
            //Arrange
            var skillRepository = new Mock <ISkillRepository>();

            var createSkillCommand = new CreateSkillCommand
            {
                Description = "Mentiroso"
            };

            var createSkillCommandHandler = new CreateSkillCommandHandler(skillRepository.Object);

            //Act
            var id = await createSkillCommandHandler.Handle(createSkillCommand, new CancellationToken());

            //Assert
            Assert.True(id >= 0);
        }
        public async Task InputDataIsOk_Executed_ReturnSkillId()
        {
            //Arrange
            var skillRepository = new Mock <ISkillRepository>();

            var createSkillCommand = new CreateSkillCommand
            {
                Description = "Skill de teste"
            };

            var createSkillCommandHandler = new CreateSkillCommandHandler(skillRepository.Object);

            //Act
            var id = await createSkillCommandHandler.Handle(createSkillCommand, new CancellationToken());

            //Assert
            Assert.True(id >= 0);

            skillRepository.Verify(s => s.AddAsync(It.IsAny <Skill>()), Times.Once);
        }
Beispiel #8
0
        public async Task <ActionResult> Post([FromBody] CreateSkillCommand createSkillCommand)
        {
            await _mediator.Send(createSkillCommand);

            return(Ok());
        }