public static async Task <ErrorModel> AddVintage(long wineId, string year) { var isNumber = int.TryParse(year, out int yearInt); if (!isNumber) { return new ErrorModel { ErrorCode = false, Message = "Du får skriva bara siffror", Object = null } } ; var url = Links.baseLink + Links.vintages; var payload = new AddVintageModel { WineId = wineId, Year = yearInt }; var token = await GetToken(); var responseBody = await RestVerbs.Post(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Årgangen har inte lagts till", Object = new VintageResponse { VintageId = 0, WineId = 0, Year = "0" } } } ; try { var responseBodyJson = JsonConvert.DeserializeObject <VintageResponse>(responseBody); if (responseBodyJson.WineId == 0 || responseBodyJson.VintageId == 0) { return new ErrorModel { ErrorCode = false, Message = "Årgangen har inte lagts till", Object = new VintageResponse { VintageId = 0, WineId = 0, Year = "0" } } } ; return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = 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 <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 <ErrorModel> UpdateInventory(long inventoryId, long shelfId, int newAmount = -1) { var url = Links.baseLink + Links.inventories; var payload = new UpdateInventoryModel { InventoryId = inventoryId, ShelfId = shelfId }; if (newAmount != -1) { payload.Amount = newAmount; } var token = await GetToken(); var responseBody = await RestVerbs.Put(url, payload, token); if (string.IsNullOrEmpty(responseBody) && newAmount == 0) { return(new ErrorModel { ErrorCode = true, Message = null, Object = new InventoryResponse { InventoryId = 0, ShelfId = 0, Amount = 0 } }); } try { var responseBodyJson = JsonConvert.DeserializeObject <InventoryResponse>(responseBody); return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = null }); } }
public static async Task <ErrorModel> AddInventory(long vintageId, long shelfId, int amount) { var url = Links.baseLink + Links.inventories; var payload = new AddInventoryModel { VintageId = vintageId, ShelfId = shelfId, Amount = amount }; var token = await GetToken(); var responseBody = await RestVerbs.Post(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Inventeringen har inte lagts till", Object = new InventoryResponse { InventoryId = 0, ShelfId = 0, Amount = 0 } } } ; try { var responseBodyJson = JsonConvert.DeserializeObject <InventoryResponse>(responseBody); return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = 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 }); }
public static async Task <ErrorModel> UpdateWine(long wineId, string producer, double alcohol, long districtId, Image image) { var url = Links.baseLink + Links.wines; var payload = new UpdateWine { WineId = wineId, Producer = producer, Alcohol = alcohol, DistrictId = districtId, Image = imageToByteArray(image) }; var token = await GetToken(); var responseBody = await RestVerbs.Put(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Vinet har inte ändrats!", Object = null } } ; try { var responseBodyJson = JsonConvert.DeserializeObject <WineResponse>(responseBody); return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = null }); } }
public static async Task <ErrorModel> AddDistrict(string districtName, long regionId) { var url = Links.baseLink + Links.metadata + '/' + Links.districts; var payload = new AddDistrictModel { DistrictName = districtName, RegionId = regionId }; var token = await GetToken(); var responseBody = await RestVerbs.Post(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Distrikten har inte lagts till", Object = new DistrictResponse { DistrictId = 0, DistrictName = "", RegionId = 0 } } } ; try { var responseBodyJson = JsonConvert.DeserializeObject <DistrictResponse>(responseBody); return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = null }); } }
public static async Task <ErrorModel> AddCountry(string countryName) { var url = Links.baseLink + Links.metadata + '/' + Links.countries; var payload = new AddCountryModel { CountryName = countryName }; var token = await GetToken(); var responseBody = await RestVerbs.Post(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Landet har inte lagts till", Object = new CountryResponse { CountryId = 0, CountryName = "" } } } ; try { var responseBodyJson = JsonConvert.DeserializeObject <CountryResponse>(responseBody); return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = null }); } }
public static async Task <ErrorModel> AddShelf(string shelfName) { var url = Links.baseLink + Links.shelves; var payload = new AddShelfModel { ShelfName = shelfName }; var token = await GetToken(); var responseBody = await RestVerbs.Post(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Hyllan har inte lagts till", Object = new ShelfResponse { ShelfId = 0, Name = null } } } ; try { var responseBodyJson = JsonConvert.DeserializeObject <ShelfResponse>(responseBody); return(new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }); } catch (Exception error) { return(new ErrorModel { ErrorCode = false, Message = error.Message, Object = null }); } }
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 }); }
public static async Task <ErrorModel> AddWine(string winName, string producer, long districtId, string alcohol, List <WineGrape> AddedGrapes, Image image) { double alcoholDouble = 0; if (!string.IsNullOrEmpty(alcohol)) { var isNumber = double.TryParse(alcohol, out alcoholDouble); if (!isNumber) { return new ErrorModel { ErrorCode = false, Message = "alkoholhalt måste vara en siffra!", Object = null } } ; if (alcoholDouble < 0 || alcoholDouble > 50) { return new ErrorModel { ErrorCode = false, Message = "alkoholhalt värde är inte rimligt!", Object = null } } ; } var url = Links.baseLink + Links.wines; for (int i = 0; i < AddedGrapes.Count(); i++) { AddedGrapes[i].Grape = null; } //var imageToByteArray(image) var payload = new AddWine { Name = winName, DistrictId = districtId, Producer = producer, Alcohol = alcoholDouble, WineGrapes = AddedGrapes, Image = imageToByteArray(image) }; var token = await GetToken(); var responseBody = await RestVerbs.Post(url, payload, token); if (string.IsNullOrEmpty(responseBody)) { return new ErrorModel { ErrorCode = false, Message = "Vinet har inte lagts till", Object = new VintageResponse { VintageId = 0, WineId = 0, Year = "0" } } } ; return(new ErrorModel { ErrorCode = true, Message = null, Object = null }); //try //{ // var responseBodyJson = JsonConvert.DeserializeObject<VintageResponse>(responseBody); // if (responseBodyJson.WineId == 0 || responseBodyJson.VintageId == 0) // return new ErrorModel { ErrorCode = false, Message = "Årgangen har inte lagts till", Object = new VintageResponse { VintageId = 0, WineId = 0, Year = "0" } }; // return new ErrorModel { ErrorCode = true, Message = null, Object = responseBodyJson }; //} //catch (Exception error) //{ // return new ErrorModel { ErrorCode = false, Message = error.Message, Object = null }; //} }