Ejemplo n.º 1
0
        public async Task <ActionResult <IId> > Post(
            [FromBody] HarvestGroupTrees model,
            [FromServices] DataContext context,
            [FromServices] IUnitOfWork UnitOfWork)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!await GroupTreesIsValid(model, context))
            {
                return(NotFound(new Error("Identificador de Colheita inválido", "Colheita não cadastrada!")));
            }

            try
            {
                context.HarvestGroupTrees.Add(model);
                await UnitOfWork.Commit();
            }
            catch (Exception)
            {
                return(BadRequest(new Error("Erro ao gravar no Banco de Dados", "Não foi possível criar a Colheita!")));
            }
            return(Ok(model.Id));
        }
Ejemplo n.º 2
0
        private async Task <bool> GroupTreesIsValid(HarvestGroupTrees model, DataContext context)
        {
            var species = await context.GroupTrees.FirstOrDefaultAsync(x => x.Id == model.GroupId);

            if (species == null)
            {
                return(false);
            }
            return(true);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Put(
            int id,
            [FromBody] HarvestGroupTrees model,
            [FromServices] DataContext context,
            [FromServices] IUnitOfWork UnitOfWork)
        {
            if (id != model.Id)
            {
                return(BadRequest(new Error("Identificadores diferentes", "Id informada difere da Colheita!")));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!await GroupTreesIsValid(model, context))
            {
                return(NotFound(new Error("Identificador de Árvore inválido", "Árvore não cadastrada!")));
            }

            try
            {
                context.Entry <HarvestGroupTrees>(model).State = EntityState.Modified;
                await UnitOfWork.Commit();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(BadRequest(new Error("Erro ao atualizar o Banco de Dados", "Esta Colheita já foi atualizado!")));
            }
            catch (Exception)
            {
                return(BadRequest(new Error("Erro ao atualizar o Banco de Dados", "Não foi possível Atualizar a Colheita!")));
            }
            return(Ok());
        }