public async Task <IRespostaDeCadastroDeMaterial> CadastraMaterial(ISolicitacaoDeCadastroDeMaterial solicitacao) { HttpResponseMessage response = await client.PostAsJsonAsync("cadastro/materiais/", solicitacao); //response.EnsureSuccessStatusCode(); //return response.Headers.Location; IRespostaDeCadastroDeMaterial resposta = null; if (response.IsSuccessStatusCode) { resposta = await response.Content.ReadAsAsync <IRespostaDeCadastroDeMaterial>(); } return(resposta); }
public async Task <IRespostaDeCadastroDeMaterial> CadastraMaterial(ISolicitacaoDeCadastroDeMaterial solicitacao) { await unitOfWork.BeginTransaction(); try { var fabricante = await repositorioDeFabricantes.ObtemFabricante(solicitacao.FabricanteId); var componente = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponenteId); var material = new Material( solicitacao.Id, solicitacao.Nome, solicitacao.Descricao, solicitacao.CustoPadrao, fabricante, componente ); // await repositorioDeMateriais.Add(material); // await unitOfWork.Commit(); // return(new RespostaDeCadastroDeMaterial { Id = solicitacao.Id, }); } catch (Exception e) { await unitOfWork.Rollback(); throw; } }
public async Task <IRespostaDeCadastroDeMaterial> AtualizaMaterial(int materialId, ISolicitacaoDeCadastroDeMaterial solicitacao) { await unitOfWork.BeginTransaction(); try { var material = await repositorioDeMateriais.ObtemMaterial(materialId); // var fabricante = await repositorioDeFabricantes.ObtemFabricante(solicitacao.FabricanteId); var componente = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponenteId); // material.Id = solicitacao.Id; material.Nome = solicitacao.Nome; material.Fabricante = fabricante; material.Componente = componente; // await repositorioDeMateriais.Update(material); // await unitOfWork.Commit(); // return(new RespostaDeCadastroDeMaterial { Id = materialId, }); } catch (Exception e) { await unitOfWork.Rollback(); throw; } }