public static async Task <List <ShelfResponse> > GetUsersShelves() { var url = Links.baseLink + Links.shelves; var token = await GetToken(); var responseErrorModel = await RestVerbs.Get(url, token); if (responseErrorModel.ErrorCode) { var responseBodyJson = JsonConvert.DeserializeObject <List <ShelfResponse> >((string)responseErrorModel.Object); return(responseBodyJson); } else if (!string.IsNullOrEmpty(responseErrorModel.Message)) { MessageBox.Show(responseErrorModel.Message, "Fel"); } return(null); }
public static async Task <List <VintageResponse> > GetVintages(long wineId) { var url = Links.baseLink + Links.vintages + "?wineid=" + wineId; var token = await GetToken(); var responseErrorModel = await RestVerbs.Get(url, token); if (responseErrorModel.ErrorCode) { var responseBodyJson = JsonConvert.DeserializeObject <List <VintageResponse> >((string)responseErrorModel.Object); return(responseBodyJson); } else if (!string.IsNullOrEmpty(responseErrorModel.Message)) { MessageBox.Show(responseErrorModel.Message, "Fel"); } return(null); }
public static async Task <ErrorModel> GetMetadata() { MetaDataResponse responseBodyJson = new MetaDataResponse(); var url = Links.baseLink + Links.metadata; var token = await GetToken(); var responseErrorModel = await RestVerbs.Get(url, token); if (responseErrorModel.ErrorCode) { responseBodyJson = JsonConvert.DeserializeObject <MetaDataResponse>((string)responseErrorModel.Object); } else { return(responseErrorModel); } return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); }
private static async Task <ErrorModel> GetWineList(string url, string startsWith, long countryId, long regionId) { var shelves = await GetUsersShelves(); var metadetaErrorModel = await Infrastructure.GetMetadata(); MetaDataResponse metadata = (MetaDataResponse)metadetaErrorModel.Object; if (!string.IsNullOrEmpty(startsWith)) { url = url.Replace("startswith=", "startswith=" + startsWith); } if (countryId > 0) { url = url.Replace("countryid=-1", "countryid=" + countryId); } if (regionId > 0) { url = url.Replace("regionid=-1", "regionid=" + regionId); } ICollection <WineListResponse> responseBodyJson = new List <WineListResponse>(); var token = await GetToken(); var responseErrorModel = await RestVerbs.Get(url, token); if (responseErrorModel.ErrorCode) { responseBodyJson = JsonConvert.DeserializeObject <ICollection <WineListResponse> >((string)responseErrorModel.Object); } else { return(responseErrorModel); } var wineTickets = new List <WineTicket>(); responseBodyJson = responseBodyJson.Take(10).ToList(); foreach (var wine in responseBodyJson) { //List<VintageResponse> vintages = await GetVintages(wine.WineId); List <InventoryTicket> inves = new List <InventoryTicket>(); if (wine.Vintages != null) { foreach (var inv in wine.Vintages) { inves.Add(new InventoryTicket(shelves) { Year = inv != null ? inv.Year : "", CurrentAmount = inv != null ? inv.Amount.ToString() : "", Shelf = inv.ShelfName, //Grade = (inv.Grade != null && inv.Grade.Grade >= 1 && inv.Grade.Grade <= 5) ? inv.Grade.Grade.ToString() : "-", Grade = "--", InventoryId = inv.InventoryId, ShelfId = inv.ShelfId, }); } } else { inves.Add(new InventoryTicket(shelves) { CurrentAmount = "-", Year = "-", Grade = "--", Shelf = "-" }); } //string origin = wine.Country.CountryName; //// if (wine.Region.RegionName != "Okänt region") //origin += " >> \r\n" + wine.Region.RegionName; //// if (wine.District.DistrictName != "Okänt distrikt") //origin += " >> \r\n" + wine.District.DistrictName; string grapes = ""; foreach (var grape in wine.WineGrapes) { grapes += grape.GrapeName + ((grape.Percent > 0) ? " " + grape.Percent + "%" + "\r\n" : "\r\n"); } wineTickets.Add(new WineTicket(metadata) { WineId = wine.WineId, WineName = wine.WineName, Alcohol = wine.Alcohol.ToString() + '%', Bottles = inves, Country = wine.Country.CountryName, Region = wine.Region.RegionName, District = wine.District.DistrictName, Producer = wine.Producer, Grapes = grapes, WinePic = wine.ImageThumbnail }); } return(new ErrorModel { ErrorCode = true, Message = null, Object = wineTickets }); }