/// <summary> /// Loads the full details of a given publication and adds them to the view /// </summary> /// <param name="publication">The given publication</param> public void loadPublicationDetails(Model.Publication publication) { //get details Model.Publication p = Database.ERDAdapter.fetchFullPublicationDetails(publication); //load view Window.PublicationsDetailsView.SetDetails(p); }
/// <summary> /// User selects a publication from the list /// </summary> private void PublicationsListView_Display_Box_SelectedIndexChanged(object sender, System.EventArgs e) { //If a publication has been selected if (PublicationsListView_Display_Box.SelectedIndex != -1) { //load details in controller Model.Publication publication = PublicationsListView_Display_Box.SelectedItem as Model.Publication; researcherController.pubController.loadPublicationDetails(publication); } }
//////////Methods////////////// /// <summary> /// Sets the details of a given publication on the view /// </summary> /// <param name="publication">The publication details being displayed</param> public void SetDetails(Model.Publication publication) { PublicationDetailsView_DOI_Value.Text = publication.DOI; PublicationDetailsView_Title_Value.Text = publication.Title; PublicationDetailsView_Authors_Value.Text = publication.Authors; PublicationDetailsView_PublicationYear_Value.Text = publication.Year.Year.ToString(); PublicationDetailsView_Type_Value.Text = publication.Type.ToString(); PublicationDetailsView_CiteAs_Value.Text = publication.CiteAs; PublicationDetailsView_AvailabilityDate_Value.Text = publication.Available.ToString("dd/MM/yyyy"); PublicationDetailsView_Age_Value.Text = publication.Age().ToString() + " days"; }
public void Query_LatestRelease_CanViewSubjectData() { PermissionTestUtils.PolicyCheckBuilder <DataSecurityPolicies>() .ExpectResourceCheckToFail(_subject, DataSecurityPolicies.CanViewSubjectData) .AssertForbidden( async userService => { var publication = new Model.Publication { Id = Guid.NewGuid(), }; var release = new Model.Release { Id = Guid.NewGuid(), }; var subjectService = new Mock <ISubjectService>(); subjectService .Setup(s => s.IsSubjectForLatestPublishedRelease(_subject.Id)) .ReturnsAsync(false); subjectService .Setup(s => s.GetPublicationForSubject(_subject.Id)) .ReturnsAsync(publication); var releaseService = new Mock <IReleaseService>(); releaseService .Setup(s => s.GetLatestPublishedRelease(publication.Id)) .Returns(release); var service = BuildTableBuilderService( userService: userService.Object, subjectService: subjectService.Object, releaseService: releaseService.Object ); return(await service.Query( new ObservationQueryContext { SubjectId = _subject.Id } )); } ); }
public static Model.Publication fetchFullPublicationDetails(Model.Publication publication) { MySqlDataReader rdr = null; //Get Connection GetConnection(); try { //open connection db_conn.Open(); //load publication details MySqlCommand cmd = new MySqlCommand("SELECT * FROM publication WHERE doi = ?doi", db_conn); cmd.Parameters.AddWithValue("doi", publication.DOI); rdr = cmd.ExecuteReader(); rdr.Read(); publication.Authors = rdr.GetString(2); publication.Type = ParseEnum <Model.OutputType>(rdr.GetString(4)); publication.CiteAs = rdr.GetString(5); publication.Available = Convert.ToDateTime(rdr["available"]); } catch (MySqlException e) { Console.WriteLine("Error cannot connect to database " + e); } //Close data reader finally { if (rdr != null) { rdr.Close(); } if (db_conn != null) { db_conn.Close(); } } return(publication); }