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));
        }
Exemplo n.º 2
0
        public ViewResult Characteristics(string vin, SupportedLanguage language)
        {
            VehicleCharacteristicsDto dto = service.GetVehicleCharacteristics(vin, (int)language);
            var data = VehicleCharacteristicsAssembler.FromDtoToDomainObject(dto);

            return(View(data));
        }
Exemplo n.º 3
0
        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);
                }
            }
        }
Exemplo n.º 4
0
 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;
                }
            }
        }
Exemplo n.º 6
0
 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));
     }
 }