Exemple #1
0
        public async Task <ActionResult <SpentTimeResponseDTO> > Post(Guid id, [FromBody] SpentTimeRequestDTO model)
        {
            _logger.LogInformation("[Adicionando tempo gasto] ProjectId: {0} Json: {1}", id, JsonConvert.SerializeObject(model));

            if (!await _developerService.CanAddSpentTimeAsync(id, CurrentDeveloperId))
            {
                return(BadRequest(new { Message = "O desenvolvedor não pode incluir tempo gasto no projeto informado" }));
            }

            var obj = await _projectService.AddSpentTimeAsync(id, CurrentDeveloperId, model);

            return(Created(InsertedPath(obj.Id), obj));
        }
        public virtual async Task <SpentTimeResponseDTO> AddSpentTimeAsync(Guid projectId, Guid developerId, SpentTimeRequestDTO obj)
        {
            _logger.LogInformation("[AddSpentTimeAsync {0}] {1}", obj.GetType(), JsonConvert.SerializeObject(obj));
            var spentTime = _mapper.Map <SpentTime>(obj);

            spentTime.ProjectId   = projectId;
            spentTime.DeveloperId = developerId;
            var y = await _spentTimeRepository.AddAsync(spentTime);

            var response = _mapper.Map <SpentTimeResponseDTO>(y);

            await SendNotification(response);

            return(response);
        }