none
actualizar Codigo RRS feed

  • Pregunta

  • Hola amigos soy nuevo en CRM y me toca la migracion al CRM 2011, la pregunta es la siguente como no existe la entidad  SecurityPrincipal  como quedaria la suigiente función.

    public int NoCompartir_ContactoEquipo(string segmento, string owner,string tipo_owner)

            {

                int res = 0;

                try

                {

                // Standard CRM Service Setup

               //CrmService service = new CrmService();

                //service.Credentials = System.Net.CredentialCache.DefaultCredentials;

     

                // Create the SecurityPrincipal object.

                SecurityPrincipal principal = new SecurityPrincipal();

                if (tipo_owner.Trim().Equals("1"))

                {

                    principal.Type = SecurityPrincipalType.User;

                    //return 2;//no quito los usuarios compartidos, solo los equipos

                }

                else

                    principal.Type = SecurityPrincipalType.Team;

               

                // PrincipalId is the GUID of the user whose access is being revoked.

                principal.PrincipalId = new Guid(segmento);

     

                // Create the target for the request.

                TargetOwnedContact target = new TargetOwnedContact();

     

                // EntityId is the GUID of the account to which

                // access is being revoked.

                target.EntityId = new Guid(owner);

     

                // Create the request object.

                RevokeAccessRequest revoke = new RevokeAccessRequest();

     

                // Set the properties of the request object.

                revoke.Revokee = principal;

                revoke.Target = target;

     

                // Execute the request.

                RevokeAccessResponse revoked = (RevokeAccessResponse)servicio.Execute(revoke);

                }

                catch (System.Web.Services.Protocols.SoapException e)

                {

                    this.PresentarPorPantalla("Error al NoCompartir_ContactoEquipo: " + e.Detail.InnerXml.ToString() + nl);

                    res=1; //existio un error

                }

                return res;

            }

     muchas gracias por su respuesta de antemano.......

     

    domingo, 4 de diciembre de 2011 17:58

Todas las respuestas

  • Hola, te recomiendo dar una vuelta por la SDK de crm 2011 con el ejemplo que trae para es: "Sample: Share Records Using GrantAccess, ModifyAccess and RevokeAccess Messages".

    de todos modos te adelanto como sería en resumen:

    var systemUser2Ref = new EntityReference(SystemUser.EntityLogicalName,
                        "{<GUID>}");

    var revokeUser2AccessReq = new RevokeAccessRequest
    {
        Revokee = systemUser2Ref,
        Target = leadReference
    };

    _serviceProxy.Execute(revokeUser2AccessReq);

    espero te sirva...


    Demian Adolfo Raschkovan Blog: http://crmtoall.blogspot.com
    lunes, 5 de diciembre de 2011 8:24
    Moderador
  • muchas gracias amigo tu comentario y link es de gran ayuda.
    lunes, 5 de diciembre de 2011 15:44