public InfosOpérationDépôt(ICab cabSource, ICab cabDestination, ICab cabExistant, EtatCabOnline étatCabOnline, IParution parutionCible) { _cabSource = cabSource; _parutionCible = parutionCible; _étatCabOnline = étatCabOnline; _cabDestination = cabDestination; _cabExistant = cabExistant; }
public virtual ICab Cab(IParution parution) { var donnéesCabParution = from dc in DonnéesCab() where (dc.Codif == parution.Codif) && (dc.Numéro == parution.Numéro) orderby dc.DateCréation descending select dc; return(donnéesCabParution.FirstOrDefault()); }
public ICab CréerCab(IDépôtCab dépôtCab, string url, TypeEditeur éditeur, TypeDistributeur distributeur, string codif, int?numéro, decimal?prix, TypePériodicité périodicité, TypeQualificationRéseau qualif, DateTime dateCréation, IParution parutionCible) { return(_factoryFunc(dépôtCab, url, _dépôtParutions.Editeur(éditeur), _dépôtParutions.Distributeur(distributeur), codif, numéro, prix, _dépôtParutions.Périodicité(périodicité), _dépôtParutions.QualificationRéseau(qualif), dateCréation, parutionCible)); }
public InfosTraitementParution(IParution parution, ICab cab, IInfosOpérationDépôt infosOpérationDépôt) { Parution = parution ?? throw new ArgumentNullException(nameof(parution)); Cab = cab; InfosOpérationDépôt = infosOpérationDépôt; if (cab != null) { _anomalies = cab.Anomalies.ToDictionary(a => a.Type); } else { _anomalies = new Dictionary <TypeAnomalieCab, IAnomalieCab>(); } }
private IInfosOpérationDépôt TéléchargerCabSiNécessaireCore(IParution p, IDépôtCab dépôtCabExterne, IDépôtCabPao dépôtCabPao, bool conversionVerstiff, ITaskObserver observer) { try { var cabExterne = dépôtCabExterne.Cab(p); var cabPao = dépôtCabPao.Cab(p); if (cabExterne != null) { if (cabPao == null || cabExterne.DateCréation > cabPao.DateCréation) { if (cabExterne.EstCompatible) { observer.NotifyInfo(this, $"Téléchargement nécessaire du cab de [{p}] ([{cabExterne.LibelléLong}])."); return(_infosOpérationDépôtFactory.CréerInfosOpérationDépôt(cabExterne, dépôtCabPao.Déposer(cabExterne, conversionVerstiff, observer), cabPao, EtatCabOnline.Téléchargé, p)); } return(_infosOpérationDépôtFactory.CréerInfosOpérationDépôt(cabExterne, null, cabPao, EtatCabOnline.Incompatible, p)); } else { return(_infosOpérationDépôtFactory.CréerInfosOpérationDépôt(cabExterne, null, cabPao, EtatCabOnline.PasPlusRécent, p)); } } else { return(_infosOpérationDépôtFactory.CréerInfosOpérationDépôt(null, null, cabPao, EtatCabOnline.Indisponible, p)); } } catch (Exception exception) { observer.NotifyWarning(this, $"Echec dans la recherche de Cab pour [{p}] ({exception.DetailedMessage()})"); return(null); } }
private static FileInfo ExtraireCabFileInfo(string dossier, IParution parution) { try { string cheminCab = Path.Combine(dossier, _NomDossierCab); if (!Directory.Exists(cheminCab)) { return(null); } var di = new DirectoryInfo(cheminCab); var infoFichier = (from fileInfo in di.GetFiles("*.eps", SearchOption.TopDirectoryOnly) where fileInfo.Name.StartsWith(parution.CodeProduit) orderby fileInfo.CreationTime descending select fileInfo).FirstOrDefault(); return(infoFichier); } catch (Exception) { // TODO: tracer l'exception return(null); } }
public override ICab Cab(IParution parution) { lock (_listeDonnéesCab) return(base.Cab(parution)); }
private ICab CréerCab(FileInfo fiCab, IParution parutionCible) { try { string sDonnées = Path.GetFileNameWithoutExtension(fiCab.Name); if (sDonnées == null) { return(null); } if (sDonnées[4] == '_') { // Code de type Bdi migré sDonnées = $"{sDonnées.Substring(0, 4)}#{sDonnées.Substring(5)}"; } var données = sDonnées.Replace('-', '_').Split('_'); if (données.Length < 6) { return(null); } string codeProduit = données[0]; if (codeProduit[4] == '#') { codeProduit = $"{codeProduit.Substring(0, 4)}_{codeProduit.Substring(5)}"; } string sDistributeur = données[1]; string codif = données[2]; string sPrix = données[3].Replace('.', ','); string sPériodicité = données[4]; string sQualification = données[5]; decimal prix = decimal.Parse(sPrix); string sNuméro; if (codeProduit.Length == 6) { sNuméro = codeProduit.Substring(4); } else { sNuméro = codeProduit.Substring(5); } int numéro = int.Parse(sNuméro); var distributeur = DistributeurPaoVersTypeDistributeur(sDistributeur); var périodicité = PériodicitéPaoVersTypePériodicité(sPériodicité); var qualificationRéseau = QualificationPaoVersTypeQualificationRéseau(sQualification); return(CabFactory.CréerCab( this, fiCab.FullName, TypeEditeur.Inconnu, distributeur, codif, numéro, prix, périodicité, qualificationRéseau, fiCab.CreationTime, parutionCible)); } catch (Exception) { // TOTO: tracer l'exception return(null); } }
public IInfosOpérationDépôt CréerInfosOpérationDépôt(ICab cabSource, ICab cabDestination, ICab cabExistant, EtatCabOnline étatCabOnline, IParution parutionCible) { return(_factoryFunc(cabSource, cabDestination, cabExistant, étatCabOnline, parutionCible)); }
public Cab(IComparateurCabParution comparateurCabParution, IDépôtCab dépôtCab, string url, IEditeur éditeur, IDistributeur distributeur, string codif, int?numéro, decimal?prix, IPériodicité périodicité, IQualificationRéseau qualif, DateTime dateCréation, IParution parutionCible) { _comparateurCabParution = comparateurCabParution ?? throw new ArgumentNullException(nameof(comparateurCabParution)); _dépôtCab = dépôtCab ?? throw new ArgumentNullException(nameof(dépôtCab)); Url = url; Editeur = éditeur ?? throw new ArgumentNullException(nameof(éditeur)); Distributeur = distributeur ?? throw new ArgumentNullException(nameof(distributeur)); Codif = codif; Numéro = numéro; Prix = prix; Périodicité = périodicité ?? throw new ArgumentNullException(nameof(périodicité)); Qualif = qualif ?? throw new ArgumentNullException(nameof(qualif)); DateCréation = dateCréation; ParutionCible = parutionCible ?? throw new ArgumentNullException(nameof(parutionCible)); }