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()); } }
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 }); }
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; }
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 }); }