/// <summary> /// Gets the observation detail fields. /// </summary> /// <param name="speciesObservationViewModel">The species observation view model.</param> /// <returns>A list of observation columns</returns> public List <ObservationDetailFieldViewModel> GetObservationDetailFields( SpeciesObservationViewModel speciesObservationViewModel) { List <ISpeciesObservationFieldDescription> speciesObservationFieldDescriptions = GetAllTableFields(); List <ObservationDetailFieldViewModel> fields = new List <ObservationDetailFieldViewModel>(speciesObservationFieldDescriptions.Count); Dictionary <string, ObservationDetailFieldViewModel> dicFields = new Dictionary <string, ObservationDetailFieldViewModel>(speciesObservationFieldDescriptions.Count); foreach (ISpeciesObservationFieldDescription fieldDescription in speciesObservationFieldDescriptions) { ObservationDetailFieldViewModel field = ObservationDetailFieldViewModel.CreateFromSpeciesObservationFieldDescription(fieldDescription); // Remove duplicates. Todo change this. if (!dicFields.ContainsKey(field.Name.ToLower())) { dicFields.Add(field.Name.ToLower(), field); fields.Add(field); } } Dictionary <string, string> observationValues = GetAllFieldsObservationsKeyValueDictionary(speciesObservationViewModel); foreach (KeyValuePair <string, string> keyValuePair in observationValues) { ObservationDetailFieldViewModel field; if (dicFields.TryGetValue(keyValuePair.Key.ToLower(), out field)) { field.Value = keyValuePair.Value; } } return(fields); }
public Dictionary <string, string> GetObservationData(int observationId) { SpeciesObservationViewModel speciesObservationViewModel = GetSpeciesObservationViewModel(observationId); if (speciesObservationViewModel != null) { return(GetObservationData(speciesObservationViewModel)); } return(null); }
public List <ObservationDetailFieldViewModel> GetObservationDetailFields(int observationId) { SpeciesObservationViewModel speciesObservationViewModel = GetSpeciesObservationViewModel(observationId); if (speciesObservationViewModel != null) { return(GetObservationDetailFields(speciesObservationViewModel)); } return(null); }
public static ResultObservationsListItem Create(SpeciesObservationViewModel viewModel) { ResultObservationsListItem resultModel = new ResultObservationsListItem(); resultModel.ObservationId = viewModel.ObservationId; resultModel.ScientificName = viewModel.ScientificName; resultModel.ObservationDate = viewModel.Start; resultModel.CommonName = viewModel.VernacularName; resultModel.RecordedBy = viewModel.RecordedBy; resultModel.TaxonId = viewModel.TaxonID; resultModel.Locality = viewModel.Locality; resultModel.Description = string.Format("{0} - {1}", viewModel.Start, viewModel.ScientificName); return(resultModel); }
/// <summary> /// Converts a list of ISpeciesObservations to a list with ObservationDarwinCoreViewModel which is used /// to present the observations on screen. /// </summary> /// <param name="observations">The observations.</param> /// <param name="fieldDescriptionsViewModel">Field description view model.</param> /// <returns></returns> public static List <SpeciesObservationViewModel> ToObservationDarwinCoreViewModelList( this IEnumerable <ISpeciesObservation> observations, SpeciesObservationFieldDescriptionsViewModel fieldDescriptionsViewModel) { var list = new List <SpeciesObservationViewModel>(); if (observations != null) { foreach (ISpeciesObservation obs in observations) { list.Add(SpeciesObservationViewModel.CreateFromSpeciesObservation(obs, fieldDescriptionsViewModel)); } } return(list); }
private Dictionary <string, string> GetAllFieldsObservationsKeyValueDictionary( SpeciesObservationViewModel observation) { List <PropertyInfo> properties = typeof(SpeciesObservationViewModel).GetProperties().ToList(); var dic = new Dictionary <string, string>(); foreach (PropertyInfo propertyInfo in properties) { object propValue = propertyInfo.GetValue(observation, null); string strKey = propertyInfo.Name; dic.Add(strKey, propValue == null ? "" : propValue.ToString()); } return(dic); }
private Dictionary <string, string> GetObservationData( SpeciesObservationViewModel speciesObservationViewModel) { if (speciesObservationViewModel == null) { return(null); } var viewManager = new SpeciesObservationTableViewManager(userContext, mySettings); ViewTableViewModel viewModel = viewManager.CreateViewTableViewModel(); bool useLabelAsKey = mySettings.Presentation.Table.SpeciesObservationTable.UseLabelAsColumnHeader; Dictionary <string, string> dicResult = GetObservationsKeyValueDictionary(speciesObservationViewModel, viewModel.TableFields, useLabelAsKey); return(dicResult); }
private Dictionary <string, string> GetObservationsKeyValueDictionary( SpeciesObservationViewModel observation, List <ViewTableField> tableFields, bool useLabelAsKey, bool addEmptyFields = true) { Dictionary <string, ViewTableField> dicTableFields = new Dictionary <string, ViewTableField>(); foreach (var tableField in tableFields) { if (!dicTableFields.ContainsKey(tableField.DataField)) { dicTableFields.Add(tableField.DataField, tableField); } } List <PropertyInfo> properties = GetObservationViewModelPropertyInfos(tableFields); var dic = new Dictionary <string, string>(); foreach (PropertyInfo propertyInfo in properties) { object propValue = propertyInfo.GetValue(observation, null); string strKey = propertyInfo.Name; if (useLabelAsKey) { ViewTableField tableField; if (dicTableFields.TryGetValue(strKey, out tableField)) { strKey = tableField.Title; } } string val = propValue == null ? "" : propValue.ToString(); if (addEmptyFields || !string.IsNullOrEmpty(val)) { if (!dic.ContainsKey(strKey)) { dic.Add(strKey, val); } } } return(dic); }
/// <summary> /// Gets the species observation view model. /// </summary> /// <param name="observationId">The observation id.</param> /// <returns>A species observation view model.</returns> public SpeciesObservationViewModel GetSpeciesObservationViewModel(int observationId) { var displayCoordinateSystem = mySettings.Presentation.Map.DisplayCoordinateSystem; List <long> speciesObservationIds = new List <long> { observationId }; SpeciesObservationList speciesObservationList = CoreData.SpeciesObservationManager.GetSpeciesObservations(userContext, speciesObservationIds, displayCoordinateSystem); SpeciesObservationFieldDescriptionViewManager fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(userContext, mySettings); SpeciesObservationFieldDescriptionsViewModel fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); if (speciesObservationList.Count > 0) { ISpeciesObservation speciesObservation = speciesObservationList[0]; SpeciesObservationViewModel speciesObservationViewModel = SpeciesObservationViewModel.CreateFromSpeciesObservation(speciesObservation, fieldDescriptionsViewModel); return(speciesObservationViewModel); } return(null); }
public Dictionary <string, string> GetObservationData(int observationId, int?importance, bool?showDwcTitle, bool?hideEmptyFields) { SpeciesObservationViewModel speciesObservationViewModel = GetSpeciesObservationViewModel(observationId); if (speciesObservationViewModel != null) { var viewManager = new SpeciesObservationTableViewManager(userContext, mySettings); ViewTableViewModel viewModel = viewManager.CreateViewTableViewModelByImportance(importance); bool useLabelAsKey = mySettings.Presentation.Table.SpeciesObservationTable.UseLabelAsColumnHeader; if (showDwcTitle.HasValue) { useLabelAsKey = !showDwcTitle.Value; } Dictionary <string, string> dicResult = GetObservationsKeyValueDictionary(speciesObservationViewModel, viewModel.TableFields, useLabelAsKey, !hideEmptyFields.GetValueOrDefault(false)); return(dicResult); //return GetObservationData(speciesObservationViewModel); } return(null); }