예제 #1
0
        public async Task <IActionResult> Put(int ProcessoId, Processo model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var processo = await _repo.GetAllProcessoAsyncById(ProcessoId);

                    if (processo == null)
                    {
                        return(NotFound());
                    }

                    _repo.Update(model);

                    if (await _repo.SaveChangesAssync())
                    {
                        return(Created($"/api/processo/{processo.Id}", model));
                    }
                }
            }
            catch (System.Exception erro)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, erro.InnerException));
            }

            return(BadRequest());
        }
        public async Task <IActionResult> Put(int ClienteId, Cliente model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var cliente = await _repo.GetAllClienteAsyncById(ClienteId);

                    if (cliente == null)
                    {
                        return(NotFound());
                    }

                    var processosExclusao = cliente.Processos.Where(
                        p => !model.Processos.Select(mp => mp.Id).Contains(p.Id)).ToList();

                    if (processosExclusao.Count > 0)
                    {
                        _repo.DeleteRange(processosExclusao);
                    }

                    _repo.Update(model);

                    if (await _repo.SaveChangesAssync())
                    {
                        return(Created($"/api/cliente/{cliente.Id}", model));
                    }
                }
            }
            catch (System.Exception error)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, error.Message));
            }

            return(BadRequest());
        }