public void NovaRequisicao(RequisicaoDeCompraVm requisicaoDeCompraVm) { try { _unitOfWork.BeginTransaction(); Usuario criador = _usuarios.BuscaPorLogin(requisicaoDeCompraVm.Criador); Fornecedor fornecedorPretendido = _fornecedores.BuscaPeloCodigo(requisicaoDeCompraVm.FornecedorPretendido); Produto material = _produtos.BuscaPeloCodigo(requisicaoDeCompraVm.Material); UnidadeDeMedida unidadeDeMedida = _unidadesDeMedida.BuscaPeloCodigoInterno(requisicaoDeCompraVm.UnidadeMedida).Single(); var requisicaoDeCompra = new RequisicaoDeCompra(criador, requisicaoDeCompraVm.Requisitante, fornecedorPretendido, Convert.ToDateTime(requisicaoDeCompraVm.DataDeRemessa), Convert.ToDateTime(requisicaoDeCompraVm.DataDeLiberacao), Convert.ToDateTime(requisicaoDeCompraVm.DataDeSolicitacao), requisicaoDeCompraVm.Centro, unidadeDeMedida, requisicaoDeCompraVm.Quantidade, material, requisicaoDeCompraVm.Descricao, requisicaoDeCompraVm.NumeroItem, requisicaoDeCompraVm.NumeroRequisicao, requisicaoDeCompraVm.CodigoGrupoDeCompra, requisicaoDeCompraVm.Mrp.ToUpper().Equals("B")); //var processoDeCotacaoDeMaterial = requisicaoDeCompra.GerarProcessoDeCotacaoDeMaterial(); _requisicoesDeCompra.Save(requisicaoDeCompra); //_processosDeCotacao.Save(processoDeCotacaoDeMaterial); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
public static void Inicializar(TestContext testContext) { _requisicaoDeCompraVm = new RequisicaoDeCompraVm() { NumeroRequisicao = "REQ001", NumeroItem = "0001", Centro = "C001", Criador = "criador", DataDeSolicitacao = DateTime.Today.AddDays(-2).ToShortDateString(), DataDeLiberacao = DateTime.Today.AddDays(-1).ToShortDateString(), DataDeRemessa = DateTime.Today.ToShortDateString(), Descricao = "Requisição de compra enviada pelo SAP", FornecedorPretendido = "FORNEC0001", Material = "PROD0001", Quantidade = 100, Requisitante = "requisitante", UnidadeMedida = "UND" }; }
//para funcionar o binding de um xml para um array ou list a classe correspondente ao parâmetro //deve ser decorada com a propriedade "[DataContract]" e as propriedades da classe que precisam //ser serializadas devem ser decoradas com a propriedade "[DataMember]" //Se na origem da requisição o dado for um json isto não é necessário. //Ver explicação em: http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization public HttpResponseMessage NovaRequisicao([FromBody] RequisicaoDeCompraVm requisicaoDeCompraVm) { ApiResponseMessage retornoPortal; try { _cadastroRequisicaoCompra.NovaRequisicao(requisicaoDeCompraVm); retornoPortal = new ApiResponseMessage() { Retorno = new Retorno() { Codigo = "200", Texto = "Requisição de compra criada com sucesso." } }; return(Request.CreateResponse(HttpStatusCode.OK, retornoPortal)); } catch (Exception ex) { retornoPortal = ExceptionUtil.GeraExecaoDeErroParaWebApi(ex); return(Request.CreateResponse(HttpStatusCode.OK, retornoPortal)); } }