Example #1
0
        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);
 }