Exemple #1
0
        public List <MigrationDocument> GetDocuments()
        {
            List <MigrationDocument> migrationEntities = new List <MigrationDocument>();

            if (XmlDocument != null)
            {
                XmlNodeList migrationEntityNodes = XmlDocument.SelectNodes("TransferData/Documents/MigrationDocument");

                foreach (XmlNode migrationEntityNode in migrationEntityNodes)
                {
                    MigrationDocument migrationEntity = new MigrationDocument();
                    try
                    {
                        migrationEntity.ExternalId = Convert.ToInt32(GetInnerText(migrationEntityNode.SelectSingleNode("ExternalId")));
                        //migrationEntity.Salutation = Convert.ToString(GetInnerText(migrationEntityNode.SelectSingleNode("Salutation")));

                        migrationEntities.Add(migrationEntity);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Error in reading XML: " + e.Message, "xmlError");
                    }
                }
            }
            return(migrationEntities);
        }
Exemple #2
0
        protected MigrationInfo ToMigrationInfo(MigrationDocument doc)
        {
            var id = string.Empty;

            if (doc.Id != default(ObjectId))
            {
                id = doc.Id.ToString();
            }

            return(new MigrationInfo
            {
                CompletedAtUtc = doc.CompletedAtUtc,
                Id = id,
                MigrationCompleted = doc.MigrationCompleted,
                Name = doc.Name,
                StepsCompleted = doc.StepsCompleted,
                TotalMigrationTimeInMs = doc.TotalMigrationTimeInMs
            });
        }
Exemple #3
0
        public async Task MarkAsCompleteAsync(IMigrationContext context, IMigration migration, long milliseconds)
        {
            var db = GetDb(context);

            var doc = await db.FirstOrDefaultAsync <MigrationDocument>(MigrationDocument.CollectionName, x => x.Name == migration.Name);

            if (doc == default(MigrationDocument))
            {
                doc = new MigrationDocument
                {
                    Name = migration.Name
                };
            }

            doc.CompletedAtUtc         = DateTime.UtcNow;
            doc.MigrationCompleted     = true;
            doc.TotalMigrationTimeInMs = milliseconds;

            await db.UpsertAsync <MigrationDocument>(MigrationDocument.CollectionName, doc, x => x.Name == doc.Name);
        }