public ActionResult Create(TrialViewModel trialViewModel)
        {
            TrialModel trialModel = new TrialModel();

            try
            {
                string uploadDirectory = "~/files/";
                if (!Directory.Exists(Server.MapPath(uploadDirectory)))
                {
                    Directory.CreateDirectory(Server.MapPath(uploadDirectory));
                }

                string fileRelativePath = uploadDirectory + trialViewModel.TrialName + "_" + Path.GetFileName(trialViewModel.StudyFacts.FileName);
                string path             = Path.Combine(Server.MapPath(fileRelativePath));
                trialViewModel.DocumentUrl  = fileRelativePath;
                trialViewModel.DocumentHash = Utility.GetHash(trialViewModel.StudyFacts.InputStream);
                trialViewModel.StudyFacts.SaveAs(path);
                trialViewModel.StudyFacts = null;

                //populate trial-model by trial-view-model
                trialModel = GetTrialModel(trialViewModel);
                var info = GetMultiChainClient().PublishStream(GetTrialStream(), trialModel.TrialName, trialModel.TrialData);
                info.AssertOk();

                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.ToString();
                return(View());
            }
        }
Esempio n. 2
0
        private void RetriveData(string trialKey)
        {
            var info = GetMultiChainClient().ListStreamKeyItems(GetTrialStream(), trialKey);

            foreach (var item in info.Result)
            {
                string response = item.Data;

                string convertedData = Utility.HexadecimalEncoding.FromHexString(response);

                try
                {
                    TrialViewModel viewModel = new TrialViewModel();

                    viewModel      = JsonConvert.DeserializeObject <TrialViewModel>(convertedData);
                    viewModel.TxId = item.TxId;

                    if (viewModel.TrialName != null)
                    {
                        list.Add(viewModel);
                    }
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.ToString();
                }
            }
            info.AssertOk();
        }
        private TrialModel GetTrialModel(TrialViewModel trialViewModel)
        {
            //Populate from collection
            //a. Generate Json without trial-key
            string jsonTrialModel = JsonConvert.SerializeObject(trialViewModel);
            //b. Generate Hex from json as source
            string hexString = Utility.HexadecimalEncoding.ToHexString(jsonTrialModel);

            return(new TrialModel()
            {
                TrialName = trialViewModel.TrialName, // + "-" + Guid.NewGuid(),
                TrialData = hexString
            });
        }
Esempio n. 4
0
        public SidebarViewModel(
            IAppSettings appSettings,
            SidebarManager sidebarManager,
            SidebarProfilesViewModel sidebarProfilesViewModel,
            TrialViewModel trialViewModel,
            ConnectionStatusViewModel connectionStatusViewModel,
            CountriesViewModel countriesViewModel) : base(appSettings, sidebarManager)
        {
            _appSettings        = appSettings;
            CountriesTabCommand = new RelayCommand(OpenCountriesTabAction);
            ProfilesTabCommand  = new RelayCommand(OpenProfilesTabAction);

            Tab              = countriesViewModel;
            TrialViewModel   = trialViewModel;
            Countries        = countriesViewModel;
            Profiles         = sidebarProfilesViewModel;
            ConnectionStatus = connectionStatusViewModel;
        }
Esempio n. 5
0
        public SidebarViewModel(
            IAppSettings appSettings,
            SidebarProfilesViewModel sidebarProfilesViewModel,
            TrialViewModel trialViewModel,
            ConnectionStatusViewModel connectionStatusViewModel,
            CountriesViewModel countriesViewModel,
            FlashNotificationViewModel flashNotificationsViewModel)
        {
            _appSettings        = appSettings;
            CountriesTabCommand = new RelayCommand(OpenCountriesTabAction);
            ProfilesTabCommand  = new RelayCommand(OpenProfilesTabAction);

            Tab               = countriesViewModel;
            TrialViewModel    = trialViewModel;
            Countries         = countriesViewModel;
            Profiles          = sidebarProfilesViewModel;
            ConnectionStatus  = connectionStatusViewModel;
            FlashNotification = flashNotificationsViewModel;
        }
 public void TestInitialize()
 {
     meal = new Meal { Id = Guid.NewGuid() };
     meal.InitializeItems(new List<MealItem>());
     factories = Substitute.For<Factories>();
     factories.Finder.FindMealById(meal.Id).Returns(meal);
     factories.MealNames.Returns(new List<MealName>());
     factories.MealNames.Add(new MealName { Id = Guid.NewGuid() });
     factories.DefaultEntities.MealName.Returns(new MealName { Id = Guid.NewGuid() });
     trial = Substitute.For<TrialViewModel>();
     backNavigation = new MealEditingViewModel.BackNavigation();
     messageDialog = Substitute.For<MessageDialog>();
     sut = new MealEditingViewModel(factories, new BackgroundWorkerSyncFactory(), trial, backNavigation,
         new MealItemEditingViewModel(), messageDialog);
     sut.Navigator = Substitute.For<Navigator>();
     stateProvider = Substitute.For<StateProvider>();
     sut.StateProvider = stateProvider;
     sut.Init(new MealEditingViewModel.Navigation { MealIdToEdit = meal.Id });
 }