public VehicleCharacteristics GetByVin(string vin, string preferredLanguage) { PublicServiceboxPeugeotComWebConnector connector = new PublicServiceboxPeugeotComWebConnector( preferredLanguage); string result; try { connector.Connect(); result = connector.Retrieve(vin); connector.Disconnect(); } catch (WebException) { result = null; //throw; } VehicleCharacteristicsPageParser parser = new VehicleCharacteristicsPageParser(result, preferredLanguage); VehicleCharacteristicsDto dto = parser.Parse(); dto.Vin = vin; return(VehicleCharacteristicsAssembler.FromDtoToDomainObject(dto)); }
public ViewResult Characteristics(string vin, SupportedLanguage language) { VehicleCharacteristicsDto dto = service.GetVehicleCharacteristics(vin, (int)language); var data = VehicleCharacteristicsAssembler.FromDtoToDomainObject(dto); return(View(data)); }
private void PersistVehicleCharacteristics(VehicleCharacteristics chars) { VehicleCharacteristicsEntity entity = VehicleCharacteristicsAssembler.FromDomainObjectToEntity(chars); using (VTSDatabase database = new VTSDatabase()) { database.VehicleCharacteristics.Add(entity); try { database.SaveChanges(); } catch (DbEntityValidationException e) { string result = String.Empty; foreach (DbEntityValidationResult eve in e.EntityValidationErrors) { string entityTypename = eve.Entry.Entity.GetType().Name; string errorString = String.Empty; foreach (DbValidationError error in eve.ValidationErrors) { errorString = error.PropertyName + " : " + error.ErrorMessage; } result = String.Format("{0} | {1}", result, entityTypename + " -> " + errorString); } throw new Exception(result); } } }
private VehicleCharacteristics GetExactMatchFromDatabase( string vin, string language) { using (VTSDatabase db = new VTSDatabase()) { IList <VehicleCharacteristicsEntity> exactMatch = db.VehicleCharacteristics.Where(vc => vc.Vin == vin && vc.Language == language).ToList(); if (exactMatch.Count == 0) { return(null); } return(VehicleCharacteristicsAssembler. FromEntityToDomainObject(exactMatch.First())); } }
public static VehicleCharacteristics Get(string vin) { SupportedLanguage currentLang = TranslationManager.Instance.CurrentLanguageEnum; string vinU = vin.ToUpper(); if (cache.ContainsKey(vinU) && cache[vinU].ContainsKey(currentLang)) { return cache[vinU][currentLang]; } else { VtsWebServiceClient client = new VtsWebServiceClient(); try { VehicleCharacteristicsDto resultDto = client.GetVehicleCharacteristics(vinU, (int)TranslationManager.Instance.CurrentLanguageEnum); VehicleCharacteristics result = VehicleCharacteristicsAssembler.FromDtoToDomainObject(resultDto); if (result == null) { return null; } if (!cache.ContainsKey(vinU)) { cache[vinU] = new Dictionary<SupportedLanguage, VehicleCharacteristics>(); } cache[vinU][currentLang] = result; return cache[vinU][currentLang]; } catch (Exception e) { Log.Error(e, CodeBehindStringResolver.Resolve("CouldNotGetVehicleCharacteristicsMessage")); return null; } } }
private VehicleCharacteristics GetBestMatchFromOurDatabase( string vin, string preferredLang) { using (VTSDatabase database = new VTSDatabase()) { VehicleCharacteristicsEntity perfectMatch = database.VehicleCharacteristics.FirstOrDefault( vc => vc.Vin == vin && vc.Language == preferredLang); if (perfectMatch != null) { return(VehicleCharacteristicsAssembler. FromEntityToDomainObject(perfectMatch)); } VehicleCharacteristicsEntity anything = database.VehicleCharacteristics.FirstOrDefault( vc => vc.Vin == vin); if (anything == null) { return(null); } return(VehicleCharacteristicsAssembler. FromEntityToDomainObject(anything)); } }