private MediaQRContent encodeQRCodeContents(MediaQRContent qrCode)
{
var data = qrCode.Text;
switch (qrCode.QRType)
{
case QRType.EMAIL_ADDRESS:
qrCode.Text = "mailto:" + data;
break;
case QRType.GEO:
var coord = qrCode.Coord;
if(coord != null)
qrCode.Text = "geo:" + coord.Latitude +","+ coord.Longitude;
break;
case QRType.SMS:
qrCode.Text = "sms:" + data;
break;
case QRType.TEL:
qrCode.Text = "tel:" + data;
break;
case QRType.ADDRESSBOOK:
StringBuilder sb = new StringBuilder ("MECARD:");
var name = qrCode.Contact.Name;
if (string.IsNullOrEmpty (name) == true)
sb.Append ("N:" + name + ";");
var address = qrCode.Contact.Address;
if (string.IsNullOrEmpty (address) == true)
sb.Append ("ADR:" + address + ";");
var phone = qrCode.Contact.Phone;
if (string.IsNullOrEmpty (phone) == true)
sb.Append ("TEL:" + phone + ";");
var email = qrCode.Contact.Email;
if (string.IsNullOrEmpty (email) == true)
sb.Append ("EMAIL:" + email + ";");
var url = qrCode.Contact.Url;
if (string.IsNullOrEmpty (url) == true)
sb.Append ("URL:" + url + ";");
var note = qrCode.Contact.Note;
if (string.IsNullOrEmpty (note) == true)
sb.Append ("NOTE:" + note + ";");
qrCode.Text = sb.ToString();
break;
default:
break;
}
return qrCode;
}