示例#1
0
文件: Crm.cs 项目: jrtease/Migracion
        public void InicializarPFE(Oracle ora)
        {
            Oracle = ora;
            Emr    = new ExecuteMultipleRequest()
            {
                Settings = new ExecuteMultipleSettings()
                {
                    ContinueOnError = true,
                    ReturnResponses = true
                },
                Requests = new OrganizationRequestCollection()
            };

            var url = XrmServiceUriFactory.CreateOrganizationServiceUri(Comun.ConnStringCrm.Split(';')[0].Split('=')[1]);
            var usr = Comun.ConnStringCrm.Split(';')[1].Split('=')[1];
            var pwd = Comun.ConnStringCrm.Split(';')[2].Split('=')[1];

            OSManager = new OrganizationServiceManager(url, usr, pwd);
            OSOptions = new OrganizationServiceProxyOptions
            {
                Timeout = new TimeSpan(0, Comun.TimeOutEnMinutos, 0)
            };
            PFERequests = new Dictionary <string, ExecuteMultipleRequest>();
            RequestKey  = 0;
        }
示例#2
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);
        }
示例#3
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 a claims-based, cross-realm connection to Organization.svc using a username, password, and alternate realm
        /// </summary>
        /// <remarks>
        /// Authentication will be handled by federated realm's identity provider. Issued token will be converted to current realm token that CRM will accept.
        /// OrganizationServiceManager stores endpoint metadata and security token. Instance can be reused to construct multiple organization service channels (OrganizationServiceProxy)
        /// </remarks>
        public static void BasicCrossRealmConnectionToCrm()
        {
            var serverUri = XrmServiceUriFactory.CreateOrganizationServiceUri("https://mycrmserver:5555/myorganization");
            var manager   = new OrganizationServiceManager(serverUri, "username", "password", homeRealm: new Uri("https://myhomerealm.com"));

            using (var proxy = manager.GetProxy())
            {
                //Do organization requests...
            }
        }
        /// <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...
            }
        }
        /// <summary>
        /// Demonstrates a basic Active Directory connection to Organization.svc using a username, password, and domain
        /// </summary>
        /// <remarks>
        /// OrganizationServiceManager stores endpoint metadata. Instance can be reused to construct multiple organization service channels (OrganizationServiceProxy)
        /// </remarks>
        public static void BasicADConnectionToCrm()
        {
            var serverUri = XrmServiceUriFactory.CreateOrganizationServiceUri("http://mycrmserver:5555/myorganization");
            var manager   = new OrganizationServiceManager(serverUri, "username", "password", "mydomain");

            using (var proxy = manager.GetProxy())
            {
                //Do organization requests...
            }
        }
        /// <summary>
        /// Demonstrates a basic connection to Discovery.svc using a username and password
        /// </summary>
        /// <remarks>
        /// DiscoveryServiceManager stores endpoint metadata and security token (if necessary). Instance can be reused to
        /// construct multiple discovery service channels (DiscoveryServiceProxy)
        /// </remarks>
        public static void BasicCrmDiscovery()
        {
            var serverUri    = XrmServiceUriFactory.CreateDiscoveryServiceUri("https://mycrmserver:5555");
            var discoManager = new DiscoveryServiceManager(serverUri, "username", "password");

            using (var discoProxy = discoManager.GetProxy())
            {
                //Do discovery requests...
            }
        }
        /// <summary>
        /// Demonstrates a claims-based connection to Organization.svc using a pre-authenticated instance of AuthenticationCredentials
        /// </summary>
        /// <remarks>
        /// OrganizationServiceManager stores endpoint metadata and security token. Instance can be reused to construct multiple organization service channels (OrganizationServiceProxy)
        /// </remarks>
        public static void BasicPreAuthConnectionToCrm(AuthenticationCredentials preAuthCredentials)
        {
            var serverUri = XrmServiceUriFactory.CreateOrganizationServiceUri("https://mycrmserver:5555/myorganization");
            var manager   = new OrganizationServiceManager(serverUri, preAuthCredentials);

            using (var proxy = manager.GetProxy())
            {
                //Do organization requests...
            }
        }
示例#9
0
        public OrganizationServiceManager GetCdsConnection()
        {
            var environmentUrl = PromptFor("environment url");
            var uri            = XrmServiceUriFactory.CreateOrganizationServiceUri(environmentUrl);
            var username       = PromptFor("username");
            var password       = PromptForPassword();

            var serviceManager = new OrganizationServiceManager(uri, username, password);

            return(serviceManager);
        }
示例#10
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;
     }
 }
示例#11
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;
            }
        }