public static RespostaErro CreateProposta(Oportunidade oportunidade) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); StdBELista props = PriEngine.Engine.Consulta(@"SELECT Count(*) AS N FROM PropostasOPV WHERE IdOportunidade = '" + oportunidade.ID + "' ;"); int n = props.Valor("N"); //maximo 4 propostas if (n >= 4) { erro.Erro = 1; erro.Descricao = "The maximum of proposals is four."; return(erro); } CrmBEPropostaOPV prop = new CrmBEPropostaOPV(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { prop.set_IdOportunidade(oportunidade.ID); prop.set_IdCabecOrigem(oportunidade.ID); short x = (short)n; x++; prop.set_NumProposta(x); prop.set_Valor(0); //var opp = PriEngine.Engine.CRM.OportunidadesVenda.EditaID(oportunidade.ID); PriEngine.Engine.CRM.PropostasOPV.Actualiza(prop); erro.Erro = 0; erro.Descricao = "Sucesso"; return(erro); } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return(erro); } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return(erro); } }
private static void SetFields(CrmBEPropostaOPV proposalInfo, Proposals jsonObject) { proposalInfo.set_IdOportunidade(jsonObject.idOportunidade); proposalInfo.set_DescontoEntidade(jsonObject.EntityDiscount); proposalInfo.set_NumProposta(jsonObject.ProposalNumber); proposalInfo.set_Descricao(jsonObject.Description); proposalInfo.set_ModoPagamento(jsonObject.PaymentMethod); proposalInfo.set_CondPagamento(jsonObject.PaymentCondition); proposalInfo.set_Custo(jsonObject.Cost); proposalInfo.set_Valor(jsonObject.Value); proposalInfo.set_ValorDesconto(jsonObject.DiscountValue); proposalInfo.set_Rentabilidade(jsonObject.Rentability); proposalInfo.set_Margem(jsonObject.Margin); proposalInfo.set_NaoTotalizadora(jsonObject.Totalize); proposalInfo.set_Observacoes(jsonObject.Observations); }