Example #1
0
        private bool DeleteRelationshipByResourceIdSync(string scenario, string sourceHandlerResourceId, string targetHandlerResourceId)
        {
            if (string.IsNullOrEmpty(sourceHandlerResourceId) || string.IsNullOrEmpty(targetHandlerResourceId))
            {
                return(false);
            }

            MsnServiceState serviceState   = new MsnServiceState(scenario, "DeleteRelationships", false);
            StorageService  storageService = (StorageService)CreateService(MsnServiceType.Storage, serviceState);

            //3.2 Profile -> Photo
            DeleteRelationshipsRequestType request = new DeleteRelationshipsRequestType();

            request.sourceHandle                = new Handle();
            request.sourceHandle.ResourceID     = sourceHandlerResourceId;
            request.targetHandles               = new Handle[] { new Handle() };
            request.targetHandles[0].ResourceID = targetHandlerResourceId;
            try
            {
                ChangeCacheKeyAndPreferredHostForSpecifiedMethod(storageService, MsnServiceType.Storage, serviceState, request);
                storageService.DeleteRelationships(request);
            }
            catch (Exception ex)
            {
                OnServiceOperationFailed(storageService, new ServiceOperationFailedEventArgs("DeleteRelationships", ex));
                Trace.WriteLineIf(Settings.TraceSwitch.TraceError, ex.Message, GetType().Name);
                return(false);
            }

            return(true);
        }
Example #2
0
        private bool DeleteRelationshipByNameSync(string scenario, string relationshipName, string targetHandlerResourceId)
        {
            MsnServiceState serviceState   = new MsnServiceState(scenario, "DeleteRelationships", false);
            StorageService  storageService = (StorageService)CreateService(MsnServiceType.Storage, serviceState);

            Alias mycidAlias = new Alias();

            mycidAlias.Name      = Convert.ToString(NSMessageHandler.Owner.CID);
            mycidAlias.NameSpace = "MyCidStuff";

            // 3. DeleteRelationships. If an error occurs, don't return, continue...

            // 3.1 UserTiles -> Photo
            DeleteRelationshipsRequestType request = new DeleteRelationshipsRequestType();

            request.sourceHandle = new Handle();
            request.sourceHandle.RelationshipName = relationshipName; //"/UserTiles";
            request.sourceHandle.Alias            = mycidAlias;
            request.targetHandles = new Handle[] { new Handle() };
            request.targetHandles[0].ResourceID = targetHandlerResourceId;
            try
            {
                ChangeCacheKeyAndPreferredHostForSpecifiedMethod(storageService, MsnServiceType.Storage, serviceState, request);
                storageService.DeleteRelationships(request);
            }
            catch (Exception ex)
            {
                OnServiceOperationFailed(storageService, new ServiceOperationFailedEventArgs("DeleteRelationships", ex));
                Trace.WriteLineIf(Settings.TraceSwitch.TraceError, ex.Message, GetType().Name);
                return(false);
            }

            return(true);
        }
Example #3
0
        private bool DeleteRelationshipByResourceIdSync(string scenario, string sourceHandlerResourceId, string targetHandlerResourceId)
        {
            if (string.IsNullOrEmpty(sourceHandlerResourceId) || string.IsNullOrEmpty(targetHandlerResourceId))
                return false;

            MsnServiceState serviceState = new MsnServiceState(scenario, "DeleteRelationships", false);
            StorageService storageService = (StorageService)CreateService(MsnServiceType.Storage, serviceState);

            //3.2 Profile -> Photo
            DeleteRelationshipsRequestType request = new DeleteRelationshipsRequestType();
            request.sourceHandle = new Handle();
            request.sourceHandle.ResourceID = sourceHandlerResourceId;
            request.targetHandles = new Handle[] { new Handle() };
            request.targetHandles[0].ResourceID = targetHandlerResourceId;
            try
            {
                ChangeCacheKeyAndPreferredHostForSpecifiedMethod(storageService, MsnServiceType.Storage, serviceState, request);
                storageService.DeleteRelationships(request);
            }
            catch (Exception ex)
            {
                OnServiceOperationFailed(storageService, new ServiceOperationFailedEventArgs("DeleteRelationships", ex));
                Trace.WriteLineIf(Settings.TraceSwitch.TraceError, ex.Message, GetType().Name);
                return false;
            }

            return true;
        }
Example #4
0
        private bool DeleteRelationshipByNameSync(string scenario, string relationshipName, string targetHandlerResourceId)
        {
            MsnServiceState serviceState = new MsnServiceState(scenario, "DeleteRelationships", false);
            StorageService storageService = (StorageService)CreateService(MsnServiceType.Storage, serviceState);

            Alias mycidAlias = new Alias();
            mycidAlias.Name = Convert.ToString(NSMessageHandler.Owner.CID);
            mycidAlias.NameSpace = "MyCidStuff";

            // 3. DeleteRelationships. If an error occurs, don't return, continue...

            // 3.1 UserTiles -> Photo
            DeleteRelationshipsRequestType request = new DeleteRelationshipsRequestType();
            request.sourceHandle = new Handle();
            request.sourceHandle.RelationshipName = relationshipName; //"/UserTiles";
            request.sourceHandle.Alias = mycidAlias;
            request.targetHandles = new Handle[] { new Handle() };
            request.targetHandles[0].ResourceID = targetHandlerResourceId;
            try
            {
                ChangeCacheKeyAndPreferredHostForSpecifiedMethod(storageService, MsnServiceType.Storage, serviceState, request);
                storageService.DeleteRelationships(request);
            }
            catch (Exception ex)
            {
                OnServiceOperationFailed(storageService, new ServiceOperationFailedEventArgs("DeleteRelationships", ex));
                Trace.WriteLineIf(Settings.TraceSwitch.TraceError, ex.Message, GetType().Name);
                return false;
            }

            return true;
        }