public ActionResult <PdpModel> Get(string id) { var data = OnGet(id).Result; if (data.Length > 0) { _result = JsonConvert.DeserializeObject <recordsRecord>(data); } return(_result != null?_result.toPdpModel() : null); }
public ActionResult <recordsRecord> Get(string id) { recordsRecord record = null; record = data.First(x => x.fields.Any(n => n.name == "name" && n.values.Any(q => q.Value.ToLower() == id.ToLower()))); if (record != null) { return(record); } //return via id (faster than text) record = data.FirstOrDefault(x => x.fields[0].values[0].Value == id); return(record); }
public void ConvertedCdpShouldHaveCorrectName() { const string productname = "alpha sv"; recordsRecord recordsRecord = new recordsRecord(); recordsRecord.fields = new recordsRecordField[] { new recordsRecordField { name = "name", values = new recordsRecordFieldValue[] { new recordsRecordFieldValue { Value = productname, language = "EN" } } } }; var result = Converters.toPdpModel(recordsRecord); Assert.AreEqual(result.Name, productname); }
public static PdpModel toPdpModel(this recordsRecord pimRecord, string language = "EN", string region = "CA") { PdpModel pdpModel = new PdpModel(); //details var productNo = pimRecord.fields.Where(x => x.name == "id").Select(x => x.values).First(); pdpModel.Details.ProductNo = productNo.Length > 0 ? int.Parse(productNo[0].Value) : 0; var images = pimRecord.fields.Where(x => x.name == "images").Select(x => x.values).First(); //translated fields var names = pimRecord.fields.Where(x => x.name == "name").Select(x => x.values).First(); var descriptions = pimRecord.fields.Where(x => x.name == "shortdescription").Select(x => x.values).First(); pdpModel.Name = names.FirstOrDefault(x => x.language == language)?.Value; pdpModel.Details.TranslatedDescr = descriptions.FirstOrDefault(x => x.language == language)?.Value; pdpModel.Details.LargeImageUrl = images.First().Value; return(pdpModel); }