예제 #1
0
        public void should_generate_migration_name_using_generator_and_initial_name()
        {
            var generator = Substitute.For <IMigrationNumberGenerator>();

            generator.Generate().Returns("123");
            var viewModel = new MigrationViewModel(generator, "SomeName");

            viewModel.MigrationName.Should().Be("M123_SomeName");
        }
예제 #2
0
        public void should_extract_migration_number_from_its_name()
        {
            var generator = Substitute.For <IMigrationNumberGenerator>();
            var viewModel = new MigrationViewModel(generator, "");

            viewModel.MigrationName = "M20131207170125_AddSomeChanges";

            viewModel.MigrationNumber.Should().Be("20131207170125");
        }
예제 #3
0
        public ActionResult MigrateData(string fileName)
        {
            MigrationViewModel migrationViewModel = ReadData(fileName);
            //PostgreSQL operations
            var  practices = PracticeService.Get();
            Guid practiceId;

            if (practices != null && practices.Count() > 0)
            {
                practiceId = practices.First().Id;
            }
            else
            {
                var practice = new Practices()
                {
                    Name         = "DemoPractice",
                    Email        = "*****@*****.**",
                    Abn          = "S2C2343242",
                    Id           = Guid.NewGuid(),
                    Timezone     = "AEST",
                    PracticeType = "Full",
                    CreatedAt    = DateTime.Now,
                    UpdatedAt    = DateTime.Now,
                    LocationCode = "AUS",
                    StateId      = new Guid("641d6b03-7417-4278-947f-5eb7f732e40e")
                };
                var addedPractice = PracticeService.Add(practice);
                practiceId = addedPractice.Id;
            }
            var inputModel = migrationViewModel.MigrationPatients.First();
            var contacts   = new List <EmergencyContacts>();

            contacts.Add(new EmergencyContacts()
            {
                FirstName    = "Bhavik",
                LastName     = "Patel",
                PhoneNumber  = "12123123123",
                Relationship = "Friend",
                PracticeId   = practiceId
            });
            var patientModel = new Patients()
            {
                FirstName         = inputModel.FirstName,
                MiddleName        = inputModel.MiddleName,
                LastName          = inputModel.LastName,
                MaidenName        = inputModel.MaidenName,
                Email             = inputModel.Email,
                EmergencyContacts = contacts,
                PracticeId        = practiceId
            };
            var addedPatient = PatientService.Add(patientModel);

            migrationViewModel.Message = "Data migrated successfully";
            return(View("Index", migrationViewModel));
        }
예제 #4
0
        public AddMigrationWindow(string migrationName)
        {
            DataContextChanged += addMigrationControl_DataContextChanged;

            InitializeComponent();

            var timer     = new DefaultTimer();
            var generator = new TimestampMigrationNumberGenerator(timer);

            DataContext = new MigrationViewModel(generator, migrationName);
        }
        public MainWindow()
        {
            InitializeComponent();

            var locationRequestor = new FileLocationRequestor();

            var viewModel = new MigrationViewModel(
                new SectionMigrator(locationRequestor),
                new SectionExporter(locationRequestor)
                );

            this.DataContext = viewModel;
            locationRequestor.MigrationModel = viewModel;
        }
예제 #6
0
 public IActionResult Index(string fileName)
 {
     ABNNumber  = HttpContext.Session.GetString("ABNNumber");
     ClientName = HttpContext.Session.GetString("ClientName");
     if (!string.IsNullOrEmpty(ABNNumber))
     {
         MigrationViewModel migrationViewModel = ReadData(fileName);
         migrationViewModel.FileName = fileName;
         return(View(migrationViewModel));
     }
     else
     {
         return(RedirectToAction("Index", "Login"));
     }
 }
예제 #7
0
        private MigrationViewModel ReadData(string fileName)
        {
            MigrationViewModel migrationViewModel = new MigrationViewModel();

            migrationViewModel.FileName = fileName;
            if (!string.IsNullOrEmpty(fileName))
            {
                var path = Path.Combine(
                    Directory.GetCurrentDirectory(),
                    "wwwroot/datafiles", migrationViewModel.FileName);
                //Read data here
                XMLParser xmlParser = new XMLParser(path);
                migrationViewModel.MigrationUsers          = xmlParser.GetUsers();
                migrationViewModel.MigrationPatients       = xmlParser.GetPatients();
                migrationViewModel.MigrationContacts       = xmlParser.GetContacts();
                migrationViewModel.MigrationAccountHolders = xmlParser.GetAccountHolders();
            }
            return(migrationViewModel);
            //return View("Index", migrationViewModel);
        }
예제 #8
0
        public void SetUp()
        {
            AppSettingsHandler.Settings = new AppSettings
            {
                SavedUris = new List <string>()
            };

            this.dal = new Mock <IDal>();
            this.dal.SetupProperty(d => d.Session);
            this.assembler = new Assembler(this.credentials.Uri);

            this.session = new Mock <ISession>();
            this.session.Setup(x => x.Dal).Returns(this.dal.Object);
            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Credentials).Returns(this.credentials);
            this.session.Setup(x => x.Assembler).Returns(this.assembler);

            this.InitDalOperations();
            this.InitSessionThings();

            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDirectory);

            this.migrationViewModel = new MigrationViewModel();
            this.migrationViewModel.AddSubscriptions();

            this.sourceViewModel = new Mock <ILoginViewModel>();
            this.sourceViewModel.Setup(x => x.SelectedDataSource).Returns(DataSource.CDP4);
            this.sourceViewModel.Setup(x => x.UserName).Returns(this.credentials.UserName);
            this.sourceViewModel.Setup(x => x.Password).Returns(this.credentials.Password);
            this.sourceViewModel.Setup(x => x.Uri).Returns(this.credentials.Uri.ToString());
            this.sourceViewModel.Setup(x => x.Dal).Returns(this.dal.Object);
            this.sourceViewModel.Setup(x => x.ServerSession).Returns(this.session.Object);

            this.targetViewModel = new Mock <ILoginViewModel>();
            this.targetViewModel.Setup(x => x.SelectedDataSource).Returns(DataSource.CDP4);
            this.targetViewModel.Setup(x => x.UserName).Returns(this.credentials.UserName);
            this.targetViewModel.Setup(x => x.Password).Returns(this.credentials.Password);
            this.targetViewModel.Setup(x => x.Uri).Returns(this.credentials.Uri.ToString());
            this.targetViewModel.Setup(x => x.Dal).Returns(this.dal.Object);
            this.targetViewModel.Setup(x => x.ServerSession).Returns(this.session.Object);
        }
예제 #9
0
 public MainViewModel()
 {
     Migration = new MigrationViewModel();
     Solving   = new SolvingViewModel();
     Fuzzy     = new FuzzyViewModel();
 }