Using Elements 81.Silver when using Oxidizer to convert C# to Swift I received the Error “Error converting C# to Oxygene: The method or operation is not implemented.”. I was not converting C# to Oxygene. Converting C# to Swift.
Thats a bug. but can you show the code that triggered this, so we can also fix the not implemented part of this?
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Globalization;
using TraxxONEMobile.Model;
using Newtonsoft.Json;
using System.Collections.Specialized;
namespace TraxxONEMobile.Data
{
public class WebService
{
public static readonly WebService SHARED = new WebService ();
public string CurrentUser { get; set; }
public TrackRating CurrentRating { get; set; }
//TraxxONESSOClient client = new XamarinSSOClient ("https://traxxoneapi.traxxone.com", "000000");
public WebService ()
{
CurrentRating = null;
}
public Account GetUserByID(int accountID)
{
//try {
// string extraParams = "";
var request = CreateRequest ("Account" + "/GET" + accountID);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<Account> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
public Account GetUserByUsername(string username)
{
//try {
// string extraParams = "";
var request = CreateRequest ("Account" + "/" + username);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<Account> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
public Customer GetCustomerByUsername(string username)
{
//try {
// string extraParams = "";
var request = CreateRequest ("Customer" + "/GET/?username=" + username);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<Customer> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
List<TrackMaster> tracks;
public async Task<List<TrackMaster>> GetAllTracks()
{
if (tracks == null) {
//await Task.Run (() => {
//try {
//string extraParams = "";
var request = CreateRequest ("Tracks" + "/GET");
string response = ReadResponseText (request);
tracks = JsonConvert.DeserializeObject<List<TrackMaster>> (response);
return tracks;
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return new List<TrackMaster> ();
//}
//}).ConfigureAwait(false);
}
return tracks;
}
public TrackMaster ListTracksByID(int trackID)
{
//try {
// string extraParams = "";
var request = CreateRequest ("Tracks" + "/GET/" + trackID);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<TrackMaster> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
public async Task<List<TrackMaster>> SearchTracks(string searchID)
{
//try {
// string extraParams = "";
var request = CreateRequest ("Tracks" + "/GET/?search=" + searchID);
var response = ReadResponseText (request);
return JsonConvert.DeserializeObject<List<TrackMaster>> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
public async Task<List<TrackMaster>> TopDownloadedTracks()
{
//try {
// string extraParams = "";
var request = CreateRequest ("Tracks/GetTopDownloads");
var response = ReadResponseText (request);
return JsonConvert.DeserializeObject<List<TrackMaster>> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
public async Task<List<TrackMaster>> NewReleasesTracks()
{
//try {
// string extraParams = "";
var request = CreateRequest ("Tracks/GetLatest");
var response = ReadResponseText (request);
return JsonConvert.DeserializeObject<List<TrackMaster>> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
public bool CheckRatingByUsername(string username, int trackid)
{
try {
// string extraParams = "";
var request = CreateRequest ("Rating" + "/GET/?username=" + username + "&id=" + trackid);
var response = ReadResponseText (request);
//var results = JsonConvert.DeserializeObject<RatingItem> (response);
if (response != null && response != "null") {
return true;
}
return false;
} catch (Exception ex) {
Console.WriteLine (ex);
return false;
}
}
public bool CheckPlaylistByUsername(string username, int trackid)
{
try {
// string extraParams = "";
var request = CreateRequest ("Playlist" + "/GET/?username=" + username + "&trackid=" + trackid);
var response = ReadResponseText (request);
//var results = JsonConvert.DeserializeObject<PlayListItem> (response);
if (response != null && response != "null") {
return true;
}
return false;
} catch (Exception ex) {
Console.WriteLine (ex);
return false;
}
}
public int CountPlaylistByUsername(string username)
{
try {
// string extraParams = "";
var request = CreateRequest ("Playlist" + "/GET/?username=" + username);
var response = ReadResponseText (request);
return Convert.ToInt16(response);
} catch (Exception ex) {
Console.WriteLine (ex);
return 0;
}
}
public async Task<List<TrackMaster>> GetPlaylistByUsername(string username)
{
try {
// string extraParams = "";
var request = CreateRequest ("Playlist" + "/GetPlayListTracksByUsername/?searchname=" + username);
var response = ReadResponseText (request);
var results = JsonConvert.DeserializeObject<List<TrackMaster>> (response);
return results;
} catch (Exception ex) {
Console.WriteLine (ex);
return new List<TrackMaster> ();
}
}
public async Task <TrackImages> ListTrackImagesByID(int trackID)
{
try {
string extraParams = "";
var request = CreateRequest ("TrackImages" + "/GET" + trackID);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<TrackImages> (response);
} catch (Exception ex) {
Console.WriteLine (ex);
return null;
}
}
public async Task <Songs> GetSong(int trackID)
{
//try {
//string extraParams = "";
var request = CreateRequest ("Songs" + "/GET" + trackID);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<Songs> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return null;
//}
}
List<Songs> songs;
public async Task <List<Songs>> ListSongsByID(int trackID)
{
if (songs == null) {
await Task.Run (() => {
//try {
string extraParams = "";
var request = CreateRequest ("Songs" + "/GET" + trackID);
string response = ReadResponseText (request);
return JsonConvert.DeserializeObject<List<Songs>> (response);
//} catch (Exception ex) {
// Console.WriteLine (ex);
// return new List<Songs> ();
//}
}).ConfigureAwait(false);
}
return songs;
}
bool hasPreloadedImages;
public async Task PreloadImages(float imageWidth)
{
if (hasPreloadedImages)
return;
hasPreloadedImages = true;
//Lets precach the countries too
#pragma warning disable 4014
// GetCountries ();
// #pragma warning restore 4014
// Task.Factory.StartNew (() => {
// var imagUrls = TrackImages.ImageForSize(x => x.;
// imagUrls.ForEach( async (x) => await FileCache.Download(x));
// });
}
List<Country> countries = new List<Country>();
public Task<List<Country>> GetCountries()
{
return Task.Factory.StartNew (() => {
try {
if(countries.Count > 0)
return countries;
var request = CreateRequest ("Countries/GET");
string response = ReadResponseText (request);
countries = JsonConvert.DeserializeObject<List<Country>> (response);
return countries;
} catch (Exception ex) {
Console.WriteLine (ex);
return new List<Country> ();
}
});
}
public async Task<string> GetCountryCode(string country)
{
var c = (await GetCountries ()).FirstOrDefault (x => x.Name == country) ?? new Country();
return c.Code;
}
public async Task<string> GetCountryFromCode(string code)
{
var c = (await GetCountries ()).FirstOrDefault (x => x.Code == code) ?? new Country();
return c.Name;
}
//No need to await anything, and no need to spawn a task to return a list.
#pragma warning disable 1998
public async Task<List<string>> GetStates(string country)
{
if (country.ToLower () == "united states")
return new List<string> {
"Alabama",
"Alaska",
"Arizona",
"Arkansas",
"California",
"Colorado",
"Connecticut",
"Delaware",
"District of Columbia",
"Florida",
"Georgia",
"Hawaii",
"Idaho",
"Illinois",
"Indiana",
"Iowa",
"Kansas",
"Kentucky",
"Louisiana",
"Maine",
"Maryland",
"Massachusetts",
"Michigan",
"Minnesota",
"Mississippi",
"Missouri",
"Montana",
"Nebraska",
"Nevada",
"New Hampshire",
"New Jersey",
"New Mexico",
"New York",
"North Carolina",
"North Dakota",
"Ohio",
"Oklahoma",
"Oregon",
"Pennsylvania",
"Rhode Island",
"South Carolina",
"South Dakota",
"Tennessee",
"Texas",
"Utah",
"Vermont",
"Virginia",
"Washington",
"West Virginia",
"Wisconsin",
"Wyoming",
};
return new List<string> ();
}
#pragma warning restore 1998
// Will post rating for user...
public bool PostRatingByUsername (RatingItem ratingitem) {
//return Task.Factory.StartNew (() => {
//try {
TrackRating trackrating = new TrackRating();
// What this does is get the information from from the user for rating the track
// and then serializes the data to get ready to post.
var content = trackrating.GetJson (ratingitem);
WebClient webclient = new WebClient();
webclient.Headers.Add("Content-Type", "application/json");
var url = "http://traxxoneapi.traxxone.com/api/Rating/POST";
var response = webclient.UploadString(url, "POST", content);
return true;
//} catch (Exception ex) {
// return false;
//};
//});
}
// Will post playlist for user...
public bool PostToPlayListByUsername (PlayListItem playlistitem) {
//return Task.Factory.StartNew (() => {
//try {
SerializePlayList serializeplaylist = new SerializePlayList();
// What this does is get the information from from the user for adding to the playlist
// and then serializes the data to get ready to post.
var content = serializeplaylist.GetJsonPlayList (playlistitem);
WebClient webclient = new WebClient();
webclient.Headers.Add("Content-Type", "application/json");
var url = "http://traxxoneapi.traxxone.com/api/Playlist/POST";
var response = webclient.UploadString(url, "POST", content);
return true;
//} catch (Exception ex) {
// return false;
//};
//});
}
static HttpWebRequest CreateRequest(string location)
{
var request = (HttpWebRequest)WebRequest.Create ("http://traxxoneapi.traxxone.com/api/"+ location);
request.Method = "GET";
request.ContentType = "application/json";
request.Accept = "application/json";
return request;
}
protected static string ReadResponseText (HttpWebRequest req) {
using (WebResponse resp = req.GetResponse ()) {
using (Stream s = (resp).GetResponseStream ()) {
using (var r = new StreamReader (s, Encoding.UTF8)) {
return r.ReadToEnd ();
}
}
}
}
}
}