public static bool Delete(string sessionId, string proposalsId, ProposalsLine jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } /*if (opportunitiesTable.Existe(opportunityId) == false) * { * throw new NotFoundException("oportunidade", true); * }*/ var proposalsTableAux = PrimaveraEngine.Engine.CRM.PropostasOPV; var proposalsTable = PrimaveraEngine.Engine.CRM.PropostasOPV.Edita(jsonObject.idOportunidade, jsonObject.ProposalNumber); var proposalLines = proposalsTable.get_Linhas(); proposalsTable.set_EmModoEdicao(true); proposalLines.Remove(jsonObject.Line); proposalsTableAux.Actualiza(proposalsTable); /*if (CheckPermissions(opportunityInfo, sessionId) == false) * { * return false; * }*/ return(true); }
public static ProposalsLine Insert(string sessionId, ProposalsLine jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var proposalLineInfo = new CrmBELinhaPropostaOPV(); var opportunitiesTable = PrimaveraEngine.Engine.CRM.PropostasOPV; var proposalInfo = opportunitiesTable.Edita(jsonObject.idOportunidade, jsonObject.ProposalNumber); var proposalLines = proposalInfo.get_Linhas(); /*if (opportunitiesTable.Existe(opportunityId)) * { * throw new EntityExistsException("oportunidade", true); * }*/ proposalInfo.set_EmModoEdicao(true); SetFields(proposalLineInfo, jsonObject); proposalLines.Insere(proposalLineInfo); proposalInfo.set_Linhas(proposalLines); opportunitiesTable.Actualiza(proposalInfo); return(GenerateProposal(proposalLineInfo)); }
// PUT: api/ProposalLine/{$opportunityID} // FEATURE: Editar linhas da proposta public HttpResponseMessage Put(string id, [FromBody] ProposalsLine jsonObject) { if (Authentication.VerifyToken("?")) { try { var operationResult = ProposalLinesIntegration.Update(Authentication.GetRepresentative(null), HttpUtility.UrlDecode(id), jsonObject); if (operationResult == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } else { return(Request.CreateResponse(HttpStatusCode.OK, operationResult)); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } } else { return(Request.CreateResponse(HttpStatusCode.Forbidden)); } }
public static ProposalsLine Update(string sessionId, string opportunityId, ProposalsLine jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } /*if (opportunitiesTable.Existe(opportunityId) == false) * { * throw new NotFoundException("oportunidade", true); * } * * if (CheckPermissions(opportunityInfo, sessionId) == false) * { * return null; * }*/ var opportunitiesTableAux = PrimaveraEngine.Engine.CRM.PropostasOPV; var opportunitiesTable = PrimaveraEngine.Engine.CRM.PropostasOPV.Edita(jsonObject.idOportunidade, jsonObject.ProposalNumber); var proposalLines = opportunitiesTable.get_Linhas(); opportunitiesTable.set_EmModoEdicao(true); var line = proposalLines.get_Edita(jsonObject.Line); line.set_EmModoEdicao(true); line.set_Artigo(jsonObject.Article); line.set_Descricao(jsonObject.Description); line.set_Quantidade(jsonObject.Quantity); line.set_Unidade(jsonObject.Unit); line.set_FactorConv(jsonObject.FactorConv); line.set_PrecoCusto(jsonObject.CostPrice); line.set_PrecoVenda(jsonObject.SellsPrice); line.set_Desconto1(jsonObject.Discount1); line.set_Desconto2(jsonObject.Discount2); line.set_Desconto3(jsonObject.Discount3); line.set_Desconto(jsonObject.Discount); line.set_ValorDesconto(jsonObject.DiscountValue); line.set_Rentabilidade(jsonObject.Rentability); line.set_Margem(jsonObject.Margin); line.set_Observacoes(jsonObject.Observations); proposalLines.Insere(line); opportunitiesTable.set_Linhas(proposalLines); opportunitiesTableAux.Actualiza(opportunitiesTable); return(GenerateProposal(line)); }
/*private static Proposals GenerateProposal(CrmBELinhasPropostaOPV opportunityInfo) * { * return new Proposals() * { * ProposalNumber = TypeParser.String(opportunityInfo.get_NumProposta()), * Description = opportunityInfo.get_Descricao(), * PaymentMethod = opportunityInfo.get_ModoPagamento(), * PaymentCondition = opportunityInfo.get_CondPagamento(), * Cost = opportunityInfo.get_Custo(), * Value = opportunityInfo.get_Valor(), * DiscountValue = opportunityInfo.get_ValorDesconto(), * Rentability = opportunityInfo.get_Rentabilidade(), * Margin = opportunityInfo.get_Margem() * }; * }*/ private static void SetFields(CrmBELinhaPropostaOPV proposalLineInfo, ProposalsLine jsonObject) { proposalLineInfo.set_IdOportunidade(jsonObject.idOportunidade); proposalLineInfo.set_NumProposta(jsonObject.ProposalNumber); proposalLineInfo.set_Linha(jsonObject.Line); proposalLineInfo.set_Artigo(jsonObject.Article); proposalLineInfo.set_Descricao(jsonObject.Description); proposalLineInfo.set_Quantidade(jsonObject.Quantity); proposalLineInfo.set_Unidade(jsonObject.Unit); proposalLineInfo.set_FactorConv(jsonObject.FactorConv); proposalLineInfo.set_PrecoCusto(jsonObject.CostPrice); proposalLineInfo.set_PrecoVenda(jsonObject.SellsPrice); proposalLineInfo.set_Desconto1(jsonObject.Discount1); proposalLineInfo.set_Desconto2(jsonObject.Discount2); proposalLineInfo.set_Desconto3(jsonObject.Discount3); proposalLineInfo.set_Desconto(jsonObject.Discount); proposalLineInfo.set_ValorDesconto(jsonObject.DiscountValue); proposalLineInfo.set_Rentabilidade(jsonObject.Rentability); proposalLineInfo.set_Margem(jsonObject.Margin); proposalLineInfo.set_Observacoes(jsonObject.Observations); }