TeamMentor.CoreLib.TM_WebServices.VirtualArticle_Add_Mapping_ExternalService C# (CSharp) Method

VirtualArticle_Add_Mapping_ExternalService() private method

private VirtualArticle_Add_Mapping_ExternalService ( Guid id, string service, string data ) : VirtualArticleAction
id Guid
service string
data string
return VirtualArticleAction
        public VirtualArticleAction VirtualArticle_Add_Mapping_ExternalService(Guid id, string service, string data)
        {
            admin.demand();
                                                            return TM_Xml_Database.Current.add_Mapping_ExternalService(id, service, data);
        }

Usage Example

Example #1
0
 public void addVirtualArticleMapping(string data)
 {
     tmWebServices.VirtualArticle_GetCurrentMappings();  // will trigger an authorization check if needed
     try
     {
         Action <VirtualArticleAction> outputVirtualArticleActionAsXml =
             (virtualArticleAction) => {
             context.Response.ContentType = "text/xml";
             var xml = virtualArticleAction.serialize(false);
             context.Response.Write(xml);
             endResponse();
         };
         var mappings = data.split(",");
         if (mappings.size() == 2)
         {
             var guid1 = mappings[0].guid();   //will throw exception if guid not valid
             if (guid1 != Guid.Empty)
             {
                 if (mappings[1].isGuid())                 // VIRTUAL ID
                 {
                     var guid2 = mappings[1].guid();
                     if (guid2 != Guid.Empty)
                     {
                         var virtualArticleAction = tmWebServices.VirtualArticle_Add_Mapping_VirtualId(guid1, guid2);
                         outputVirtualArticleActionAsXml(virtualArticleAction);
                     }
                 }
                 else
                 {
                     var redirectUrl          = "http://{0}/article/{1}".format(mappings[1], guid1);
                     var virtualArticleAction = tmWebServices.VirtualArticle_Add_Mapping_Redirect(guid1, redirectUrl);
                     outputVirtualArticleActionAsXml(virtualArticleAction);
                 }
             }
         }
         else if (mappings.size() == 3)
         {
             var guid1 = mappings[0].guid();
             if (mappings[2].isGuid())                           // EXTERNAL ARTICLE
             {
                 var tmServer = mappings[1].uri();
                 var guid2    = mappings[2].guid();
                 if (guid1 != Guid.Empty && guid2 != Guid.Empty && tmServer.notNull())
                 {
                     var virtualArticleAction = tmWebServices.VirtualArticle_Add_Mapping_ExternalArticle(guid1, tmServer.str(), guid2);
                     outputVirtualArticleActionAsXml(virtualArticleAction);
                 }
             }
             else                                                                 // EXTERNAL SERVICE
             {
                 var service              = mappings[1];
                 var serviceData          = mappings[2];
                 var virtualArticleAction = tmWebServices.VirtualArticle_Add_Mapping_ExternalService(guid1, service, serviceData);
                 outputVirtualArticleActionAsXml(virtualArticleAction);
             }
         }
     }
     catch (Exception ex)
     {
         ex.log();
     }
 }
TM_WebServices