예제 #1
0
        public Task <HttpResponseMessage> CriarMeta([FromBody] MetasLivrosDTO meta)
        {
            HttpResponseMessage response = null;

            if (!ModelState.IsValid || meta == null)
            {
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            var metaAdicionada = _metasApplication.Add(meta);

            if (!metaAdicionada.ValidationResult.IsValid)
            {
                foreach (var item in metaAdicionada.ValidationResult.Erros)
                {
                    ModelState.AddModelError(string.Empty, item.Message);
                }

                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            response = Request.CreateResponse(HttpStatusCode.Created, new { message = "Meta foi adicionada com sucesso!" });

            var tarefa = new TaskCompletionSource <HttpResponseMessage>();

            tarefa.SetResult(response);
            return(tarefa.Task);
        }
예제 #2
0
        /// <summary>
        /// Método responsável por adicionar uma meta
        /// </summary>
        /// <param name="metasDto">Entidade MetasPorLivrosDTO</param>
        public MetasLivrosDTO Add(MetasLivrosDTO metasDto)
        {
            var metas       = Mapper.Map <MetasLivrosDTO, MetasPorLivros>(metasDto);
            var metaDominio = _metasService.Add(metas);

            var metaDto = Mapper.Map(metaDominio, metasDto);

            return(metaDto);
        }
예제 #3
0
        /// <summary>
        /// Método responsável por atualizar informações da meta
        /// </summary>
        /// <param name="metasDto">DTO da Meta</param>
        public MetasLivrosDTO Update(MetasLivrosDTO metasDto)
        {
            var metas            = Mapper.Map <MetasLivrosDTO, MetasPorLivros>(metasDto);
            var metaSemAtualizar = _metasService.GetById(metas.MetaId);

            metaSemAtualizar.MetaCumprida            = metas.MetaCumprida;
            metaSemAtualizar.PaginasDiarias          = metas.PaginasDiarias;
            metaSemAtualizar.CapitulosDiarios        = metas.CapitulosDiarios;
            metaSemAtualizar.PaginasOuCapitulosLidos = metas.PaginasOuCapitulosLidos;
            metaSemAtualizar.Descricao = metas.Descricao;

            var metaAtualizada = _metasService.Update(metaSemAtualizar);

            return(Mapper.Map <MetasPorLivros, MetasLivrosDTO>(metaAtualizada));
        }