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));
        }