public PartialViewResult TableFieldDescription(int fieldId)
        {
            var viewManager = new SpeciesObservationFieldDescriptionViewManager(GetCurrentUser(), SessionHandler.MySettings);
            TableFieldDescriptionViewModel model = viewManager.GetTableFieldDescription(fieldId);

            return(PartialView(model));
        }
Example #2
0
 public void Add_Filter_Data()
 {
     IUserContext userContext = CoreData.UserManager.GetCurrentUser();
     var          viewManager = new SpeciesObservationFieldDescriptionViewManager(userContext, SessionHandler.MySettings);
     SpeciesObservationFieldDescriptionsViewModel viewModel = viewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
     var dic  = viewModel.FieldDescriptionsByImportance;
     var dic2 = viewModel.FieldDescriptionsByClass;
 }
        /// <summary>
        /// Get only searchable fields.
        /// </summary>
        /// <returns>Dictionary that contains class relations to lists of ISpeciesObservationFieldDescription.</returns>
        private Dictionary <String, List <ISpeciesObservationFieldDescription> > GetSearchableFields()
        {
            IUserContext userContext = CoreData.UserManager.GetCurrentUser();
            var          viewManager = new SpeciesObservationFieldDescriptionViewManager(userContext, SessionHandler.MySettings);
            SpeciesObservationFieldDescriptionsViewModel viewModel = viewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
            var fieldDescriptions = viewModel.SearchableFieldDescriptionsByClass;

            return(fieldDescriptions);
        }
        public void GetTaxonTree_CarnivoraTaxon_GetTree()
        {
            // Arrange
            LoginApplicationUser();
            var viewManager = new SpeciesObservationFieldDescriptionViewManager(SessionHandler.UserContext, SessionHandler.MySettings);

            // Act
            SpeciesObservationFieldDescriptionsViewModel model = viewManager.CreateSpeciesObservationFieldDescriptionsViewModel();

            // Assert
            Assert.IsNotNull(model.FieldDescriptionsByProjectName);
        }
        /// <summary>
        /// Renders a dialog where the user can create or edit a custom table type.
        /// </summary>
        /// <param name="id">The table id if in edit mode.</param>
        /// <returns>A partial view that will be rendered.</returns>
        public PartialViewResult CustomSpeciesObservationTableDialog(int?id)
        {
            var viewManager = new SpeciesObservationFieldDescriptionViewManager(GetCurrentUser(), SessionHandler.MySettings);
            SpeciesObservationTableTypeViewModel tableType = null;

            if (id.HasValue)
            {
                tableType = viewManager.GetUserDefinedTable(id.Value);
            }

            return(PartialView(tableType));
        }
Example #6
0
        public List <Dictionary <string, string> > GetTablePagedResult(int start, int pageSize)
        {
            SpeciesObservationFieldDescriptionViewManager fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings);
            SpeciesObservationFieldDescriptionsViewModel  fieldDescriptionsViewModel  = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
            SpeciesObservationList  speciesObservationList  = GetPagedSpeciesObservationList(start, pageSize, null, null);
            SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel);
            var viewManager = new SpeciesObservationTableViewManager(UserContext, MySettings);
            ViewTableViewModel viewModel                  = viewManager.CreateViewTableViewModel();
            var speciesObservationDataManager             = new SpeciesObservationDataManager(UserContext, MySettings);
            List <Dictionary <string, string> > dicResult = speciesObservationDataManager.GetObservationsDataList(speciesObservationsData.SpeciesObservationViewModels, viewModel.TableFields);

            return(dicResult);
        }
Example #7
0
        public List <Dictionary <string, string> > GetTablePagedResultInBbox(int start, int pageSize, double bottom, double left, double right, double top)
        {
            Polygon bbox = GetPolygon(bottom, left, right, top);
            SpeciesObservationList speciesObservationList = GetPagedSpeciesObservationList(start, pageSize, null, bbox);
            var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings);
            var fieldDescriptionsViewModel  = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
            SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel);
            var viewManager = new SpeciesObservationTableViewManager(UserContext, MySettings);
            ViewTableViewModel viewModel                  = viewManager.CreateViewTableViewModel();
            var speciesObservationDataManager             = new SpeciesObservationDataManager(UserContext, MySettings);
            List <Dictionary <string, string> > dicResult = speciesObservationDataManager.GetObservationsDataList(speciesObservationsData.SpeciesObservationViewModels, viewModel.TableFields);

            return(dicResult);
        }
        private SpeciesObservationsData CreateSpeciesObservationData(IUserContext userContext, AnalysisPortal.MySettings.MySettings mySettings)
        {
            SpeciesObservation speciesObservation = new SpeciesObservation();

            speciesObservation.Taxon         = new SpeciesObservationTaxon();
            speciesObservation.Taxon.TaxonID = "1";
            SpeciesObservationList speciesObservationList = new SpeciesObservationList();

            speciesObservationList.Add(speciesObservation);
            var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(userContext, mySettings);
            var fieldDescriptionsViewModel  = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
            SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel);

            return(speciesObservationsData);
        }
        /// <summary>
        /// Returns all table fields that can be selected in a custom table.
        /// </summary>
        /// <returns>All table fields that can be selected in a custom table.</returns>
        public JsonNetResult GetAllSelectableTableFields()
        {
            JsonModel jsonModel;

            try
            {
                var viewManager = new SpeciesObservationFieldDescriptionViewManager(GetCurrentUser(), SessionHandler.MySettings);
                List <TableFieldDescriptionViewModel> tableFields = viewManager.GetAllSelectableTableFields();
                jsonModel = JsonModel.Create(tableFields);
            }
            catch (Exception ex)
            {
                jsonModel = JsonModel.CreateFailure(ex.Message);
            }

            return(new JsonNetResult(jsonModel));
        }
Example #10
0
        private static SpeciesObservationsData CreateSpeciesObservationDataSample()
        {
            SpeciesObservation      speciesObservation;
            SpeciesObservationList  speciesObservationList;
            SpeciesObservationsData speciesObservationsData;

            speciesObservation               = new SpeciesObservation();
            speciesObservation.Taxon         = new SpeciesObservationTaxon();
            speciesObservation.Taxon.TaxonID = "27";
            speciesObservationList           = new SpeciesObservationList();
            speciesObservationList.Add(speciesObservation);
            var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(SessionHandler.UserContext, SessionHandler.MySettings);
            var fieldDescriptionsViewModel  = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel();

            speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel);
            return(speciesObservationsData);
        }
        /// <summary>
        /// Deletes a user defined table type.
        /// </summary>
        /// <param name="id">The Id of the table to delete.</param>
        /// <returns>Success if deletion goes well; otherwise Error message.</returns>
        public JsonNetResult DeleteUserDefinedTableTypeByAjax(int id)
        {
            JsonModel jsonModel = JsonModel.CreateSuccess("");

            try
            {
                var viewManager = new SpeciesObservationFieldDescriptionViewManager(GetCurrentUser(), SessionHandler.MySettings);
                viewManager.DeleteUserDefinedTableType(id);
                SessionHandler.UserMessages.Add(new UserMessage(Resources.Resource.PresentationTableDeletedUserDefinedTable));
            }
            catch (Exception ex)
            {
                jsonModel = JsonModel.CreateFailure(ex.Message);
            }

            return(new JsonNetResult(jsonModel));
        }
Example #12
0
        public SpeciesObservationsData CalculateSpeciesObservations(CoordinateSystemId displayCoordinateSystemId)
        {
            var displayCoordinateSystem = new CoordinateSystem(displayCoordinateSystemId);
            var searchCriteriaManager   = new SpeciesObservationSearchCriteriaManager(UserContext);
            var searchCriteria          = searchCriteriaManager.CreateSearchCriteria(MySettings, displayCoordinateSystem);

            if (UserContext.CurrentRole.IsNull() && UserContext.CurrentRoles.Count > 0)
            {
                UserContext.CurrentRole = UserContext.CurrentRoles[0];
            }

            var speciesObservationList      = CoreData.SpeciesObservationManager.GetSpeciesObservations(UserContext, searchCriteria, displayCoordinateSystem);
            var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings);
            var fieldDescriptionsViewModel  = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
            var speciesObservationsData     = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel);

            return(speciesObservationsData);
        }
        /// <summary>
        /// Updates a user defined table.
        /// </summary>
        /// <param name="id">The user defined table id.</param>
        /// <param name="data">The table data in JSON format.</param>
        /// <returns>Success if update goes well; otherwise Error message.</returns>
        public JsonNetResult EditUserDefinedTableTypeByAjax(int id, string data)
        {
            JsonModel jsonModel = JsonModel.CreateSuccess("");

            try
            {
                SpeciesObservationTableTypeViewModel tableType = JsonConvert.DeserializeObject <SpeciesObservationTableTypeViewModel>(data);
                var viewManager = new SpeciesObservationFieldDescriptionViewManager(GetCurrentUser(), SessionHandler.MySettings);
                viewManager.EditUserDefinedTableType(id, tableType);
                SessionHandler.UserMessages.Add(new UserMessage(Resources.Resource.PresentationTableEditedUserDefinedTable));
            }
            catch (Exception ex)
            {
                jsonModel = JsonModel.CreateFailure(ex.Message);
            }

            return(new JsonNetResult(jsonModel));
        }
        private List <ISpeciesObservationFieldDescription> GetAllTableFields()
        {
            SpeciesObservationFieldDescriptionList fields;
            var fieldList = new List <ISpeciesObservationFieldDescription>();

            fields = SpeciesObservationFieldDescriptionViewManager.GetAllFieldsExceptProjectParameters(userContext);
            foreach (ISpeciesObservationFieldDescription field in fields)
            {
                // class name fields are just headers
                if (field.IsClass)
                {
                    continue;
                }

                fieldList.Add(field);
            }

            fieldList = fieldList.OrderBy(x => x.SortOrder).ToList();
            return(fieldList);
        }
        /// <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);
        }
Example #16
0
        /// <summary>
        /// Gets all table field ids that is lower or equal to importance.
        /// </summary>
        /// <param name="userContext">The user context.</param>
        /// <param name="importance">The importance.</param>
        public List <ISpeciesObservationFieldDescription> GetTableFieldsByImportance(IUserContext userContext, int importance)
        {
            var fieldList = new List <ISpeciesObservationFieldDescription>();
            SpeciesObservationFieldDescriptionList fields;

            fields = SpeciesObservationFieldDescriptionViewManager.GetAllFieldsExceptProjectParameters(userContext);
            foreach (ISpeciesObservationFieldDescription field in fields)
            {
                // class name fields are just headers
                if (field.IsClass)
                {
                    continue;
                }

                if (field.Importance <= importance)
                {
                    fieldList.Add(field);
                }
            }
            fieldList = fieldList.OrderBy(x => x.SortOrder).ToList();
            return(fieldList);
        }
Example #17
0
        public List <ResultObservationsListItem> GetTablePagedResultInBboxAsItems(int start, int pageSize, double bottom, double left, double right, double top)
        {
            Polygon bbox = GetPolygon(bottom, left, right, top);
            SpeciesObservationList speciesObservationList = GetPagedSpeciesObservationList(start, pageSize, null, bbox);
            var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings);
            var fieldDescriptionsViewModel  = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel();
            SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel);

            List <ResultObservationsListItem> list = new List <ResultObservationsListItem>();

            foreach (SpeciesObservationViewModel speciesObservationViewModel in speciesObservationsData.SpeciesObservationViewModels)
            {
                list.Add(ResultObservationsListItem.Create(speciesObservationViewModel));
            }

            return(list);
            //speciesObservationsData.SpeciesObservationViewModels
            //var viewManager = new SpeciesObservationTableViewManager(UserContext, MySettings);
            //ViewTableViewModel viewModel = viewManager.CreateViewTableViewModel();
            //var speciesObservationDataManager = new SpeciesObservationDataManager(UserContext, MySettings);
            //List<Dictionary<string, string>> dicResult = speciesObservationDataManager.GetObservationsDataList(speciesObservationsData.SpeciesObservationViewModels, viewModel.TableFields);
            //return dicResult;
        }
        /// <summary>
        /// Get list of field descriptions to be displayed in drop down list in web page.
        /// </summary>
        /// <param name="className">Name of class to filter the list.</param>
        /// <returns>List of field list item view models.</returns>
        public List <FieldListItemViewModel> GetFieldsViewModelByClassName(String className)
        {
            SpeciesObservationFieldDescriptionList fieldDescriptions;

            fieldDescriptions = SpeciesObservationFieldDescriptionViewManager.GetAllFieldsExceptProjectParameters(UserContext);
            List <FieldListItemViewModel> fieldViewList = new List <FieldListItemViewModel>();
            FieldListItemViewModel        fieldView;

            var fields = fieldDescriptions.Where(f => f.IsSearchable);

            foreach (var field in fields)
            {
                // If class name is empty then get all fields
                if (String.IsNullOrWhiteSpace(className) || (field.Class.GetName().Equals(className) && !field.IsClass))
                {
                    fieldView = new FieldListItemViewModel {
                        Id = field.Id, Name = field.Name
                    };
                    fieldViewList.Add(fieldView);
                }
            }

            return(fieldViewList);
        }