Ejemplo n.º 1
0
        public void LetsDoThis()
        {
            Console.WriteLine("Done with the first set");

            //contexts
            var old            = new RentlerBackupEntitiesExtensions();
            var db             = new New.RentlerNewEntitiesExtensions();
            var withoutTracing = new New.RentlerNewEntities();

            //diagnostics
            Stopwatch watch = new Stopwatch();

            var buildings = db.Buildings.ToList();

            var photos = old.Photos.ToList()
                         .Select(s => s.ToNewPhoto()).OrderBy(o => o.BuildingId).ToList();

            //set sort order for the photos,
            //building by building
            long buildingId = 0;
            int  sortOrder  = 0;

            foreach (var item in photos)
            {
                if (buildingId == item.BuildingId)
                {
                    sortOrder++;
                }
                else
                {
                    sortOrder  = 0;
                    buildingId = item.BuildingId;
                }

                item.SortOrder = sortOrder;
            }

            //store the damn things!
            Console.WriteLine("Adding photos to new db...");
            foreach (var item in photos)
            {
                withoutTracing.Photos.AddObject(item);
            }

            withoutTracing.SaveChanges();
            watch.Stop();
            Console.WriteLine("Done with that. Took {0}", new DateTime(watch.ElapsedTicks).ToString("HH:mm:ss") + ".");
        }
Ejemplo n.º 2
0
        public void LetsDoThis()
        {
            //contexts
            var old = new RentlerBackupEntities();
            var db  = new New.RentlerNewEntities();

            //diagnostics
            Stopwatch watch = new Stopwatch();

            Console.WriteLine("Getting apiKeys");
            var apiKeys = old.ApiKeys.ToList().Select(s => new New.ApiKey
            {
                ApiKeyId  = s.ApiKeyId,
                IpAddress = s.IpAddress,
                IsDeleted = s.IsDeleted,
                Name      = s.Name,
                UserId    = s.UserId
            });

            Console.WriteLine("Adding them to the db.");
            foreach (var item in apiKeys)
            {
                db.ApiKeys.AddObject(item);
            }

            db.SaveChanges();
            Console.WriteLine("Done, moving on to affiliate users");

            var affiliateUsers = old.AffiliateUsers.ToList().Select(s => new New.AffiliateUser
            {
                AffiliateUserKey = s.AffiliateUserKey,
                ApiKey           = s.ApiKey,
                IsDeleted        = s.IsDeleted,
                PasswordHash     = s.PasswordHash,
                UserId           = s.UserId
            });

            Console.WriteLine("Got 'em, adding to db");
            foreach (var item in affiliateUsers)
            {
                db.AffiliateUsers.AddObject(item);
            }

            db.SaveChanges();
            Console.WriteLine("Done!");
        }
Ejemplo n.º 3
0
        public void LetsDoThis()
        {
            //contexts
            var old = new RentlerBackupEntities();
            var db  = new New.RentlerNewEntities();

            //diagnostics
            Stopwatch watch = new Stopwatch();

            var custom = (from s in old.Buildings
                          from p in s.PropertyInfo.CustomAmenities
                          select new { Custom = p, BuildingId = s.BuildingId }).ToList()
                         .Select(e => e.Custom.ToNewCustomAmenity(e.BuildingId)).ToList();


            db.Connection.Open();
            var trans = db.Connection.BeginTransaction();

            Console.WriteLine("Turning Identity Insert on");
            db.ExecuteStoreCommand("SET IDENTITY_INSERT CustomAmenities ON");

            foreach (var item in custom)
            {
                db.CustomAmenities.AddObject(item);
            }

            db.SaveChanges(false);

            Console.WriteLine("Turning identity insert off...");
            db.ExecuteStoreCommand("SET IDENTITY_INSERT CustomAmenities OFF");

            Console.WriteLine("Committing transaction...");
            trans.Commit();
            Console.WriteLine("Accepting changes...");
            db.AcceptAllChanges();
            Console.WriteLine("Closing connection...");
            db.Connection.Close();
            Console.WriteLine("Custom Amenities are in.");
            Console.ReadLine();
        }
Ejemplo n.º 4
0
        public void LetsDoThis()
        {
            //contexts
            var old            = new RentlerBackupEntitiesExtensions();
            var db             = new New.RentlerNewEntitiesExtensions();
            var withoutTracing = new New.RentlerNewEntities();

            //diagnostics
            Stopwatch watch = new Stopwatch();

            Console.WriteLine("Getting photos");
            var photos    = withoutTracing.Photos.ToList();
            var buildings = withoutTracing.Buildings.ToList();


            watch.Reset();
            Console.WriteLine("Starting watch");
            watch.Start();
            //add primary photos to buildings
            Console.WriteLine("Adding primary photos to buildings...");
            var primary = photos.Where(p => p.SortOrder == 0).ToList();

            foreach (var item in primary)
            {
                var b = buildings.FirstOrDefault(f => f.BuildingId == item.BuildingId);
                if (b != null)
                {
                    b.PrimaryPhotoExtension = item.Extension;
                    b.PrimaryPhotoId        = item.PhotoId;
                }
            }
            Console.WriteLine("There we go, submitting changes...");
            withoutTracing.SaveChanges();
            Console.WriteLine("Done! Took {0}", new DateTime(watch.ElapsedTicks).ToString("HH:mm:ss") + ".");

            Console.ReadLine();
        }
Ejemplo n.º 5
0
        public void LetsDoThis()
        {
            //contexts
            var old            = new RentlerBackupEntities();
            var db             = new New.RentlerNewEntities();
            var withoutTracing = new New.RentlerNewEntities();

            //diagnostics
            Stopwatch watch = new Stopwatch();

            var map = (from b in old.Buildings
                       where b.PropertyInfoId != null
                       select new
            {
                BuildingId = b.BuildingId,
                PropertyInfoId = b.PropertyInfoId.Value
            }).ToList();

            Dictionary <int, int> dict = new Dictionary <int, int>();

            foreach (var item in map)
            {
                dict[item.PropertyInfoId] = item.BuildingId;
            }

            //save the endangered RAMS
            map = null;

            var amen    = old.PropertyInfoAmenitiesWithOptions.ToList();
            var newamen = new List <New.BuildingAmenitiesWithOption>();

            foreach (var item in amen)
            {
                if (dict.ContainsKey(item.PropertyInfoId))
                {
                    newamen.Add(new New.BuildingAmenitiesWithOption
                    {
                        AmenityId  = item.AmenityId,
                        CreateDate = item.CreateDate,
                        CreatedBy  = item.CreatedBy,
                        UpdateDate = item.UpdateDate,
                        UpdatedBy  = item.UpdatedBy,
                        IsDeleted  = item.IsDeleted,
                        BuildingId = dict[item.PropertyInfoId],
                        Option     = item.Option
                    });
                }
            }

            //more endangered RAMS
            amen = null;

            StringBuilder script = new StringBuilder();

            var updated = DateTime.UtcNow.ToString();

            script.AppendLine("use RentlerNew;");
            int count = 0;

            foreach (var item in newamen)
            {
                if (count == 100)
                {
                    count = 0;
                    script.AppendLine("GO");
                }
                script.AppendLine(string.Format(
                                      "insert into BuildingAmenitiesWithOptions values({0}, {1}, {2}, \'{3}\', \'{4}\', \'{5}\', \'{6}\', {7})",
                                      item.AmenityId, item.BuildingId, item.Option, updated,
                                      "weblinq", item.CreateDate.ToString(), item.CreatedBy.ToString(),
                                      item.IsDeleted ? "1" : "0"));
                count++;
            }

            var file = File.CreateText("buildingamenitieswithoptions.sql");

            file.Write(script.ToString());
            file.Flush();
            file.Close();
            Console.WriteLine("Done generating script; pause here and run it. File: buildingamenitieswithoptions.sql");
            Console.ReadLine();
        }
Ejemplo n.º 6
0
        public void LetsDoThis()
        {
            //contexts
            var old            = new RentlerBackupEntitiesExtensions();
            var db             = new New.RentlerNewEntitiesExtensions();
            var withoutTracing = new New.RentlerNewEntities();

            //diagnostics
            Stopwatch watch = new Stopwatch();


            Console.WriteLine("Starting watch");
            watch.Start();
            Console.WriteLine("Getting old users...");
            //get old users, move them to the new shit
            var users = (from u in old.Users
                         select u).ToList().Select(s => s.ToNewUser()).ToList();

            Console.WriteLine("Adding them to the db...");
            foreach (var item in users)
            {
                db.Users.AddObject(item);
            }

            Console.WriteLine("Saving changes...");
            db.SaveChanges();
            Console.WriteLine("Done! Took " + new DateTime(watch.ElapsedTicks).ToString("HH:mm:ss") + ".");
            watch.Reset();


            Console.WriteLine("Starting watch");
            watch.Start();
            Console.WriteLine("Getting landlord infos, and making them not suck...");
            //get old landlord infos, convert them to contactinfos
            var contactinfos = (from u in old.LandlordInfoes
                                select u).ToList().Select(s => s.ToNewContactInfo()).ToList();

            Console.WriteLine("Adding them to the db...");
            foreach (var item in contactinfos)
            {
                db.ContactInfos.AddObject(item);
            }
            db.SaveChanges();

            Console.WriteLine("Done! Took: " + new DateTime(watch.ElapsedTicks).ToString("HH:mm:ss") + ".");
            watch.Reset();


            Console.WriteLine("Starting watch...");
            watch.Start();
            Console.WriteLine("Getting buildings...");
            //get old buildings, with property info, and listing
            var buildings = (from b in old.Buildings
                             .Include("PropertyInfo").Include("Listings").Include("Listings.ListingCount")
                             select b).ToList().Select(s => s.ToOldInfo().ConvertToBuilding()).ToList();

            //add contact info id to it
            Console.WriteLine("Adding contact infos to the buildings...");
            foreach (var item in buildings)
            {
                var info = contactinfos.FirstOrDefault(c => c.UserId == item.UserId);
                if (info != null)
                {
                    item.ContactInfoId = info.ContactInfoId;
                }
                else
                {
                    Console.WriteLine("Found one without a landlord info, fixing it...");
                    var user = users.Single(u => u.UserId == item.UserId);
                    var inf  = new New.ContactInfo
                    {
                        Email              = user.Email,
                        Name               = user.FirstName + " " + user.LastName,
                        PhoneNumber        = user.PhoneNumber,
                        DisplayPhoneNumber = false,
                        Type               = "Personal",
                        UserId             = user.UserId
                    };
                    db.ContactInfos.AddObject(inf);
                    db.SaveChanges();
                    item.ContactInfoId = inf.ContactInfoId;
                    Console.WriteLine("Fixed. Moving on...");
                }
            }

            Console.WriteLine("Opening connection...");
            withoutTracing.Connection.Open();
            Console.WriteLine("Starting transaction...");
            var trans = withoutTracing.Connection.BeginTransaction();

            Console.WriteLine("Turning Identity Insert on");
            withoutTracing.ExecuteStoreCommand("SET IDENTITY_INSERT Buildings ON");

            //foreach(var item in buildings)
            //    withoutTracing.Buildings.AddObject(item);

            for (int i = 0; i < buildings.Count / 2; i++)
            {
                withoutTracing.Buildings.AddObject(buildings[i]);
            }

            Console.WriteLine("Storing buildings...");
            withoutTracing.SaveChanges(false);

            Console.WriteLine("Turning identity insert off...");
            withoutTracing.ExecuteStoreCommand("SET IDENTITY_INSERT Buildings OFF");

            Console.WriteLine("Committing transaction...");
            trans.Commit();
            Console.WriteLine("Accepting changes...");
            withoutTracing.AcceptAllChanges();
            Console.WriteLine("Closing connection...");
            withoutTracing.Connection.Close();

            watch.Stop();
            Console.WriteLine("Buildings are done, on to photos!" + new DateTime(watch.ElapsedTicks).ToString("HH:mm:ss"));



            Console.WriteLine("Opening connection...");
            withoutTracing.Connection.Open();
            Console.WriteLine("Starting transaction...");
            trans = withoutTracing.Connection.BeginTransaction();
            Console.WriteLine("Turning Identity Insert on");
            withoutTracing.ExecuteStoreCommand("SET IDENTITY_INSERT Buildings ON");


            for (int i = (buildings.Count / 2); i < buildings.Count; i++)
            {
                withoutTracing.Buildings.AddObject(buildings[i]);
            }

            Console.WriteLine("Storing buildings...");
            withoutTracing.SaveChanges(false);

            Console.WriteLine("Turning identity insert off...");
            withoutTracing.ExecuteStoreCommand("SET IDENTITY_INSERT Buildings OFF");

            Console.WriteLine("Committing transaction...");
            trans.Commit();
            Console.WriteLine("Accepting changes...");
            withoutTracing.AcceptAllChanges();
            Console.WriteLine("Closing connection...");
            withoutTracing.Connection.Close();

            watch.Stop();
            Console.WriteLine("Buildings are done, on to photos!" + new DateTime(watch.ElapsedTicks).ToString("HH:mm:ss"));


            //photos!
            watch.Reset();
            Console.WriteLine("Starting watch");
            watch.Start();
        }