Beispiel #1
0
        protected override Resource ConvertToIssueTracker(ContactResource resource)
        {
            Resource contact = new Resource();

            if (!MasonBuilderContext.PreferMinimalResponse)
            {
                contact.Meta.Title       = "Contact information for " + Settings.OriginName;
                contact.Meta.Description = "This resource contains the contact information for " + Settings.OriginName + ". Use either content negotiation or links for different formats.";
            }

            dynamic c = contact;

            c.Name       = resource.Contact.FullName;
            c.Address1   = resource.Contact.Address1;
            c.Address2   = resource.Contact.Address2;
            c.PostalCode = resource.Contact.PostalCode;
            c.City       = resource.Contact.City;
            c.EMail      = resource.Contact.EMail;
            c.Phone      = resource.Contact.Phone;
            c.Country    = resource.Contact.Country;

            string cardBaseUrl = typeof(ContactResource).CreateUri().AbsoluteUri;

            Control selfLink = MasonBuilderContext.NewLink("self", cardBaseUrl);

            contact.AddControl(selfLink);

            Uri     vCardUri  = new Uri(cardBaseUrl + ".vcard");
            Control vCardLink = MasonBuilderContext.NewLink("alternate", vCardUri, "Contact information as vCard", "text/vcard");

            contact.AddControl(vCardLink);

            Uri     jCardUri  = new Uri(cardBaseUrl + ".jcard");
            Control jCardLink = MasonBuilderContext.NewLink("alternate", jCardUri, "Contact information as jCard", "application/json");

            vCardLink.AddAlternateControl(jCardLink);

            return(c);
        }