Esempio n. 1
0
        public static RespostaErro CreateOportunidade(Model.Oportunidade oportunidade)
        {
            Lib_Primavera.Model.RespostaErro erro     = new Model.RespostaErro();
            CrmBEOportunidadeVenda           objOport = new CrmBEOportunidadeVenda();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    objOport.set_ID(Guid.NewGuid().ToString());
                    StdBELista opps = PriEngine.Engine.Consulta("SELECT COUNT(*) AS N FROM CabecOportunidadesVenda");
                    int        next = opps.Valor("N") + 1;
                    objOport.set_Oportunidade("OPV" + next);
                    objOport.set_Descricao(oportunidade.Descricao);
                    objOport.set_Resumo(oportunidade.Resumo);
                    objOport.set_DataCriacao(DateTime.Now);
                    objOport.set_Entidade(oportunidade.CodCliente);
                    objOport.set_Vendedor(oportunidade.Vendedor);
                    objOport.set_EstadoVenda(0);
                    objOport.set_TipoEntidade("C");                       //obrigatorio
                    objOport.set_DataExpiracao(new DateTime(2020, 1, 1)); //obrigatorio
                    objOport.set_CicloVenda("CV_HW");                     //obrigatorio
                    objOport.set_Moeda("EUR");
                    //quando cria ainda nao tem propostas

                    PriEngine.Engine.CRM.OportunidadesVenda.Actualiza(objOport);

                    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);
            }
        }
        public static OpportunityInfo Insert(string sessionId, Opportunity jsonObject)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var opportunityInfo    = new CrmBEOportunidadeVenda();
            var opportunityId      = PrimaveraEngine.GenerateHash();
            var opportunitiesTable = PrimaveraEngine.Engine.CRM.OportunidadesVenda;

            if (opportunitiesTable.Existe(opportunityId))
            {
                throw new EntityExistsException("oportunidade", true);
            }

            SetFields(opportunityInfo, jsonObject);
            opportunityInfo.set_CriadoPor(sessionId);
            opportunityInfo.set_Oportunidade(opportunityId);
            opportunityInfo.set_DataCriacao(DateTime.Now);
            opportunitiesTable.Actualiza(opportunityInfo);

            return(GenerateOpportunity(opportunityInfo));
        }