public async Task <IActionResult> Edit(int id, [Bind("ID,Date,HeartrateMin,HeartrateMax,HeartrateAvg,Steps")] DataEntryViewModel dataEntryViewModel) { if (id != dataEntryViewModel.ID) { return(NotFound()); } if (ModelState.IsValid) { try { dataEntryViewModel.Username = User.Identity.Name; _context.Update(dataEntryViewModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DataEntryViewModelExists(dataEntryViewModel.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } return(View(dataEntryViewModel)); }
public DataEntryPage(DataEntryViewModel viewModel) { InitializeComponent(); BindingContext = this.viewModel = viewModel; Entry = viewModel.Entry; Form = viewModel.Form; // type bindings if (Form.XFormType == "Numeric") { val1.Keyboard = Keyboard.Numeric; } else { val1.Keyboard = Keyboard.Text; } if (Form.YFormType == "Numeric") { val2.Keyboard = Keyboard.Numeric; } else { val2.Keyboard = Keyboard.Text; } }
public DataEntryPage() { InitializeComponent(); Form = new Form(); Entry = new Entry { FormID = Form.Id }; viewModel = new DataEntryViewModel(Form); BindingContext = viewModel; }
public IActionResult SetDataEntry(DataEntryViewModel model) { if (ModelState.IsValid) { _logger.LogInformation( LoggingEvents.CreateNewMessage, "Submitted message {MESSAGE} by {PERSON} with the email {EMAIL}.", model.Message, model.CreatedBy, model.Email); } return(RedirectToAction("Index")); }
public bool CreateExperimentData(DataEntryViewModel dataEntryViewModel) { //Get list of DataEntryFieldViewModels(Properties) from view model var propertyViewModels = dataEntryViewModel.Properties.ToList(); //Remove properties that contain no DataEntryDetails, they have nothing to add to database propertyViewModels.RemoveAll(p => p.DataEntryDetails == null); // Validate submitted properties if (!ValidateProperties(propertyViewModels) | !_validationDictionary.IsValid) { return(false); } var entries = new Collection <DataEntry>( ( from property in propertyViewModels select new DataEntry() { DataEntryDesignDataEntryDesignID = property.DesignID, DataEntryDetails = GetDetailsFromProperty(property).ToList() }).ToList()); //Get animalProcedure var animalAdministration = _animalAdministrationRepository.Get(dataEntryViewModel.AnimalAdministrationID); if (animalAdministration == null) { // create new record animalAdministration = new AnimalAdministration() { AnimalID = dataEntryViewModel.AnimalID, StartTime = dataEntryViewModel.StartTime, EndTime = dataEntryViewModel.EndTime, CreatedBy = _userKey, LastUpdatedBy = _userKey, AdministrationID = dataEntryViewModel.AdministrationID, DataEntries = entries }; _animalAdministrationRepository.Add(animalAdministration); } else { //update current record foreach (var entry in animalAdministration.DataEntries) { entry.SoftDelete(true); } animalAdministration.DataEntries = entries; } return(true); }
public void RepopulateViewModel(DataEntryViewModel dataEntryViewModel) { foreach ( var property in dataEntryViewModel.Properties.Where(p => p.ViewModelType == DataEntryViewModelType.Option && p.DataEntryDetails != null)) { property.Options = GetOptionsFromDesignId(property.DesignID); foreach (var detail in property.DataEntryDetails) { var optionDetail = (DataEntryDetailOptionViewModel)detail; optionDetail.Options = GetOptionsFromDesignId(property.DesignID); } } }
public static void QuickSort(DataEntryViewModel[] o, int left, int right) { int i = left, j = right; DataEntryViewModel pivot = o[(left + right) / 2]; while (i <= j) { while (o[i].Date.CompareTo(pivot.Date) < 0) { i++; } while (o[j].Date.CompareTo(pivot.Date) > 0) { j--; } if (i <= j) { // Swap DataEntryViewModel tmp = o[i]; o[i] = o[j]; o[j] = tmp; i++; j--; } } // Recursive calls if (left < j) { QuickSort(o, left, j); } if (i < right) { QuickSort(o, i, right); } }
public ActionResult DataEntry(DataEntryViewModel dataEntryViewModel) { //Convert dataEntryViewModels into relevant entities for persistance if (!_dataEntryService.CreateExperimentData(dataEntryViewModel)) { _dataEntryService.RepopulateViewModel(dataEntryViewModel); return(View(dataEntryViewModel)); } _uow.Save(); return(RedirectToAction("DataEntryDisplay", new { procedureId = dataEntryViewModel.ProcedureID, administrationId = dataEntryViewModel.AdministrationID, animalId = dataEntryViewModel.AnimalID, projectId = dataEntryViewModel.ProjectID, researchGroupId = dataEntryViewModel.ResearchGroupID, diseaseModelInductionId = dataEntryViewModel.DiseaseModelInductionID } )); }
public async Task <IActionResult> Create([Bind("ID,Date,HeartrateMin,HeartrateMax,HeartrateAvg,Steps")] DataEntryViewModel dataEntryViewModel) { if (ModelState.IsValid) { var dates = from m in _context.DataEntryViewModel select m; string user = User.Identity.Name; dates = dates.Where(s => s.Username.Equals(user)); foreach (DataEntryViewModel d in dates) { if (dataEntryViewModel.Date.Equals(d.Date)) { return(View("ErrorDup")); } } dataEntryViewModel.Username = User.Identity.Name; _context.Add(dataEntryViewModel); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(dataEntryViewModel)); }
public DataEntryPage() { InitializeComponent(); BindingContext = new DataEntryViewModel(); }
public DataEntryViewModel GetDataEntryViewModels(int administrationid, int animalid, int projectId, int researchGroupId, int diseaseModelInductionId) { //Get animal var animal = _animalRepository.Get(animalid); //Get administration var administration = _administrationRepository.Get(administrationid); int procedureid = administration.ProcedureID; //Get active animaladministration var animalAdministration = _animalAdministrationRepository.GetCurrent() .FirstOrDefault(ap => ap.AnimalID == animalid && ap.AdministrationID == administrationid); if (animalAdministration == null) { animalAdministration = new AnimalAdministration() { AnimalID = animalid, Animal = animal, AnimalAdministrationID = 0, Administration = administration, AdministrationID = administrationid, StartTime = DateTime.Now, EndTime = DateTime.Now }; } //get any existing current dataentries var animalAdministrationEntries = animalAdministration.DataEntries != null?animalAdministration.DataEntries.Where(de => de.IsActive) : new Collection <DataEntry>(); //get any currrent designs from db for this procedure var designs = _dataEntryDesignRepository.GetCurrent().Where(de => de.ProcedureProcedureID == procedureid); //left join current designs with any current data entries in the database var query = from design in designs.AsEnumerable() join entry in animalAdministrationEntries.AsEnumerable() on design equals entry.DataEntryDesign into designEntriesGroup //set default entry value for design without any current entries from entries in designEntriesGroup.DefaultIfEmpty(new DataEntry()).AsEnumerable() select new DataEntryFieldViewModel { ProjectID = projectId, ResearchGroupID = researchGroupId, AnimalID = animalid, ProcedureID = procedureid, DataEntryID = entries.DataEntryID, DataEntryFieldName = design.DataEntryField.DataEntryFieldName, DesignID = design.DataEntryDesignID, ViewModelType = _viewModelTypeByFieldType[design.DataEntryField.FieldType.OptionValue], Mandatory = design.Mandatory, Multiple = design.Multiple, Options = GetOptionsFromDesignId(design.DataEntryDesignID), DataEntryDetails = GetDataEntryDetailViewModels(entries.DataEntryDetails, design.DataEntryField.FieldType.OptionValue) }; //Create DataEntryViewModel from existing AnimalProcedure or create default new view model if none exists yet var dataEntryViewModel = new DataEntryViewModel() { StartTime = animalAdministration.StartTime, EndTime = animalAdministration.EndTime, ProcedureName = administration.Procedure.OptionsProcedureType.OptionValue, Species = animal.Cohort.Strain.StrainName, Strain = animal.Cohort.Strain.Species.SpeciesName, AnimalLabel = animal.AnimalLabel, AnimalID = animalid, ProjectID = projectId, ResearchGroupID = researchGroupId, DiseaseModelInductionID = diseaseModelInductionId, // ReSharper disable once PossibleNullReferenceException AnimalAdministrationID = animalAdministration.AnimalAdministrationID, AdministrationID = administrationid, ProcedureID = procedureid, Properties = new Collection <DataEntryFieldViewModel>(query.ToList()) }; return(dataEntryViewModel); }