public override void ProcessPerson(string pnr) { /* Sample person in run "2013 05 27 14_12" * - First Egenskab has null start and end dates - shall the first start at birthdate? * - Married with unknown spouse PNR */ using (var dataContext = new ExtractDataContext()) { var extractItems = dataContext.ExtractItems.Where(ei => ei.PNR == pnr); var grouped = extractItems.GroupBy(ei => ei.Extract); var myOutDir = OutDir + pnr + "\\"; Directory.CreateDirectory(myOutDir); var registrations = new List <RegistreringType1>(); foreach (var extract in grouped.OrderBy(ex => ex.Key.ExtractDate)) { var resp = Extract.GetPersonFromLatestExtract(pnr, extract.AsQueryable(), CprBroker.Providers.CPRDirect.Constants.DataObjectMap); var reg = resp.ToRegistreringType1(GetUuid); registrations.Add(reg); File.WriteAllText( string.Format("{0}{1}.{2}.xml", myOutDir, pnr, reg.Tidspunkt.ToDateTime().Value.ToString("yyyyMMdd HHmm")), CprBroker.Utilities.Strings.SerializeObject(reg) ); } var merged1 = RegistreringType1.Merge(new CprBroker.Schemas.PersonIdentifier() { UUID = GetUuid(pnr), CprNumber = pnr }, VirkningType.Create(DateTime.MinValue, DateTime.MaxValue), registrations.ToArray()); File.WriteAllText( string.Format("{0}{1}.All.1.xml", myOutDir, pnr), CprBroker.Utilities.Strings.SerializeObject(merged1) ); var merged2 = new CPRDirectExtractDataProvider().ReadPeriod(DateTime.MinValue, DateTime.MaxValue, new CprBroker.Schemas.PersonIdentifier() { CprNumber = pnr, UUID = GetUuid(pnr) }, GetUuid); File.WriteAllText( string.Format("{0}{1}.All.2.xml", myOutDir, pnr), CprBroker.Utilities.Strings.SerializeObject(merged2) ); var effectDate = new DateTime(2013, 5, 1); var merged3 = new CPRDirectExtractDataProvider().ReadPeriod(effectDate, effectDate, new CprBroker.Schemas.PersonIdentifier() { CprNumber = pnr, UUID = GetUuid(pnr) }, GetUuid); File.WriteAllText( string.Format("{0}{1}.All.3.xml", myOutDir, pnr), CprBroker.Utilities.Strings.SerializeObject(merged3) ); } }
CPRDirectExtractDataProvider CreateDataProvider() { var ret = new CPRDirectExtractDataProvider(); ret.ConfigurationProperties = new Dictionary <string, string>(); foreach (var key in ret.ConfigurationKeys) { ret.ConfigurationProperties[key.Name] = null; } return(ret); }
protected override void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov) { ExtractManager.ExtractLocalFiles(prov); }
protected virtual void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov) { }
protected override void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov) { ExtractManager.DownloadFtpFiles(prov); }