示例#1
0
        public CrmDataController(string organization, string username, string password)
        {
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            var serverUri = XrmServiceUriFactory.CreateOnlineOrganizationServiceUri(organization, CrmOnlineRegion.EMEA);

            this.Manager = new OrganizationServiceManager(serverUri, username, password);
            _orgService  = this.Manager.GetProxy();

            TablaEstados = new Dictionary <int, StateEstadoPeticion>();
            var activo_pdte = new StateEstadoPeticion()
            {
                State = 0, EstadoPeticion = 0
            };

            TablaEstados.Add(964610004, activo_pdte);
            TablaEstados.Add(964610005, activo_pdte);
            TablaEstados.Add(964610006, activo_pdte);
            TablaEstados.Add(964610007, activo_pdte);
            TablaEstados.Add(964610008, activo_pdte);
            TablaEstados.Add(964610009, activo_pdte);
            TablaEstados.Add(964610010, activo_pdte);
            TablaEstados.Add(964610011, activo_pdte);

            var resuelto_aprobadaSinEfecto = new StateEstadoPeticion()
            {
                State = 1, EstadoPeticion = 3
            };

            TablaEstados.Add(964610012, resuelto_aprobadaSinEfecto);
            TablaEstados.Add(964610013, resuelto_aprobadaSinEfecto);

            var resuelto_aprobada = new StateEstadoPeticion()
            {
                State = 1, EstadoPeticion = 1
            };

            TablaEstados.Add(964610014, resuelto_aprobada);

            var resuelto_rechazada = new StateEstadoPeticion()
            {
                State = 1, EstadoPeticion = 2
            };

            TablaEstados.Add(964610015, resuelto_rechazada);

            var cancelado_cancelado = new StateEstadoPeticion()
            {
                State = 2, EstadoPeticion = 4
            };

            TablaEstados.Add(964610016, cancelado_cancelado);

            var cancelado_error = new StateEstadoPeticion()
            {
                State = 2, EstadoPeticion = 5
            };

            TablaEstados.Add(964610017, cancelado_error);
        }
示例#2
0
        /// <summary>
        /// Initialize Organization client for D365 integration
        /// </summary>
        private void InitializeOrganizationServiceManager()
        {
            var serverUri = XrmServiceUriFactory.CreateOnlineOrganizationServiceUri(JobSettings.CrmOrganizationName, CrmOnlineRegion.EMEA);

            OrganizationServiceManager = new OrganizationServiceManager(serverUri, JobSettings.CrmUserName, JobSettings.CrmUserPassword);
            OrganizationServiceManager.ParallelProxy.MaxDegreeOfParallelism = JobSettings.ThreadNumber;
            Log($"Organization service initialized to {serverUri.ToString()} with user {JobSettings.CrmUserName}!");
        }
        /// <summary>
        /// Demonstrates an online-federated connection to Organization.svc using a userprincipalname and password
        /// </summary>
        /// <remarks>
        /// OrganizationServiceManager stores endpoint metadata and security token. Instance can be reused to construct multiple organization service channels (OrganizationServiceProxy)
        /// </remarks>
        public static void BasicConnectionToCrmOnline()
        {
            var serverUri = XrmServiceUriFactory.CreateOnlineOrganizationServiceUri("myorganization", CrmOnlineRegion.NA);
            var manager   = new OrganizationServiceManager(serverUri, "*****@*****.**", "password");

            using (var proxy = manager.GetProxy())
            {
                //Do organization requests...
            }
        }
示例#4
0
 private static OrganizationServiceManager GetOrganizationServiceProxy()
 {
     try
     {
         var orgName        = "notsmooth";                          // CRM Organization Name
         var userName       = "******"; // User Name
         var password       = "******";                         // Password
         var uri            = XrmServiceUriFactory.CreateOnlineOrganizationServiceUri(orgName);
         var serviceManager = new OrganizationServiceManager(uri, userName, password);
         return(serviceManager);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#5
0
        private void InitializeOrganizationServiceManager()
        {
            // If you're using an old version of .NET this will enable TLS 1.2
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            var serverUri = XrmServiceUriFactory.CreateOnlineOrganizationServiceUri(JobSettings.CrmOrganizationName, CrmOnlineRegion.EMEA);

            OrganizationServiceManager = new OrganizationServiceManager(serverUri, JobSettings.CrmUserName, JobSettings.CrmUserPassword);

            // Change max connections from .NET to a remote service default: 2
            // Webapp targeted is Basic (Large)
            // Socket available is 256 for 1 app
            // We have 3 interfaces : (256 / 3) => 85 sockets per interface
            //
            // Resource : https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#per-sandbox-per-appper-site-numerical-limits
            ServicePointManager.DefaultConnectionLimit = 85;

            // Bump up the min threads reserved for this app to ramp connections faster - minWorkerThreads defaults to 4, minIOCP defaults to 4
            ThreadPool.SetMinThreads(10, 10);

            // Turn off the Expect 100 to continue message - 'true' will cause the caller to wait until it round-trip confirms a connection to the server
            ServicePointManager.Expect100Continue = false;

            // More info on Nagle at WikiPedia - can help perf (helps w/ conn reliability)
            ServicePointManager.UseNagleAlgorithm = false;

            //a new twist to existing connections
            var knownServicePointConnection = ServicePointManager.FindServicePoint(OrganizationServiceManager.ServiceUri);

            if (knownServicePointConnection != null)
            {
                knownServicePointConnection.ConnectionLimit   = ServicePointManager.DefaultConnectionLimit;
                knownServicePointConnection.Expect100Continue = ServicePointManager.Expect100Continue;
                knownServicePointConnection.UseNagleAlgorithm = ServicePointManager.UseNagleAlgorithm;
            }
        }