示例#1
0
        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)
                    );
            }
        }
示例#2
0
            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);
            }
示例#3
0
 protected override void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov)
 {
     ExtractManager.ExtractLocalFiles(prov);
 }
 protected virtual void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov)
 {
 }
 protected override void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov)
 {
     ExtractManager.DownloadFtpFiles(prov);
 }