예제 #1
0
        private static SearchResultPreview GetPrevieItem()
        {
            SearchResultPreview srp = new SearchResultPreview();

            List<HeaderItem> Header = new List<HeaderItem>();
            List<Row> RowList = new List<Row>();

            HeaderItem hi;

            hi = new HeaderItem();
            hi.Name = "VariableName";
            Header.Add(hi);

            hi = new HeaderItem();
            hi.Name = "VariableParameter";
            Header.Add(hi);

            hi = new HeaderItem();
            hi.Name = "Unit";
            Header.Add(hi);

            hi = new HeaderItem();
            hi.Name = "Description";
            Header.Add(hi);

            //-----------------------------------------
            Row r = new Row();
            List<object> ValueList = new List<object>();

            ValueList.Add("Species");
            ValueList.Add("No");
            ValueList.Add("No");
            ValueList.Add("Name of species");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------
            r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Plot");
            ValueList.Add("No");
            ValueList.Add("No");
            ValueList.Add("Plot ID");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------

            r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Temperature");
            ValueList.Add("No");
            ValueList.Add("°C");
            ValueList.Add("-");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------

            r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Date");
            ValueList.Add("No");
            ValueList.Add("No");
            ValueList.Add("Date of Observation");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------

            r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Female perc");
            ValueList.Add("No");
            ValueList.Add("%");
            ValueList.Add("Female species in %");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------
            r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Male perc");
            ValueList.Add("No");
            ValueList.Add("%");
            ValueList.Add("Male species in %");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------

            r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Male perc");
            ValueList.Add("No");
            ValueList.Add("%");
            ValueList.Add("Male species in %");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------
             r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Season");
            ValueList.Add("No");
            ValueList.Add("No");
            ValueList.Add("Define season like summer");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------
             r = new Row();
            ValueList = new List<object>();

            ValueList.Add("Weather");
            ValueList.Add("No");
            ValueList.Add("No");
            ValueList.Add("Define weather like rainy day");
            r.Values = ValueList;

            RowList.Add(r);

            //-----------------------------------------

            srp.Header = Header;
            srp.Rows = RowList;

            return srp;
        }
예제 #2
0
        public static SearchResult ConvertListOfMetadataToSearchResultObject(List<Metadata> metadataList, int pageSize,int currentPage)
        {
            SearchResult sro = new SearchResult();

            sro.PageSize = pageSize;
            sro.CurrentPage = currentPage;
            sro.NumberOfHits = metadataList.Count();

            List<HeaderItem> Header = new List<HeaderItem>();
            List<HeaderItem> DefaultHeader = new List<HeaderItem>();
            List<Row> RowList = new List<Row>();

            foreach (Metadata m in metadataList)
            {
                if(metadataList.First()==m)
                {

                    HeaderItem hi = new HeaderItem();

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("datasetid").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);
                    DefaultHeader.Add(hi);
                    sro.Id = hi;

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("title").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);
                    DefaultHeader.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("owner").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);
                    DefaultHeader.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = "PrimaryData";
                    hi.DisplayName = "Primary Data";
                    Header.Add(hi);
                    DefaultHeader.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("versionID").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);
                    DefaultHeader.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("fileType").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("dateLastModified").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("projectLeader").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("dateEntry").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("qualityLevel").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);

                    hi = new HeaderItem();
                    hi.Name = m.GetValueFromNode("dataStatus").Item(0).Name;
                    hi.DisplayName = hi.Name.Titleize();
                    Header.Add(hi);
                }

                Row r = new Row();
                List<object> ValueList = new List<object>();

                   ValueList = new List<object>();
                   ValueList.Add(Convert.ToInt32(m.GetValueFromNode("datasetid").Item(0).InnerText));
                   ValueList.Add(m.GetValueFromNode("title").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("owner").Item(0).InnerText);
                   ValueList.Add("YES");
                   ValueList.Add(m.GetValueFromNode("versionID").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("fileType").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("dateLastModified").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("projectLeader").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("dateEntry").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("qualityLevel").Item(0).InnerText);
                   ValueList.Add(m.GetValueFromNode("dataStatus").Item(0).InnerText);

                   r.Values = ValueList;

                   r.PreviewItem = GetPrevieItem();

                 RowList.Add(r);
            }

            sro.Header = Header;
            sro.Rows = RowList;
            sro.DefaultVisibleHeaderItem = DefaultHeader;
            sro.PageSize = pageSize;
            sro.CurrentPage = currentPage;

            return sro;
        }
예제 #3
0
        public ActionResult _CustomMyDatasetBinding()
        {
            DataTable model = new DataTable();

            ViewData["PageSize"] = 10;
            ViewData["CurrentPage"] = 1;

            #region header
            List<HeaderItem> headerItems = new List<HeaderItem>();

            HeaderItem headerItem = new HeaderItem()
            {
                Name = "ID",
                DisplayName = "ID",
                DataType = "Int64"
            };
            headerItems.Add(headerItem);

            ViewData["Id"] = headerItem;

            headerItem = new HeaderItem()
            {
                Name = "Title",
                DisplayName = "Title",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Description",
                DisplayName = "Description",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "View",
                DisplayName = "View",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Update",
                DisplayName = "Update",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Delete",
                DisplayName = "Delete",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Download",
                DisplayName = "Download",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Grant",
                DisplayName = "Grant",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            ViewData["DefaultHeaderList"] = headerItems;

            #endregion

            model = CreateDataTable(headerItems);

            DatasetManager datasetManager = new DatasetManager();
            PermissionManager permissionManager = new PermissionManager();
            SubjectManager subjectManager = new SubjectManager();

            List<long> gridCommands = datasetManager.GetDatasetLatestIds();
            gridCommands.Skip(Convert.ToInt16(ViewData["CurrentPage"])).Take(Convert.ToInt16(ViewData["PageSize"]));

            foreach (long datasetId in gridCommands)
            {
                //get permissions
                List<int> rights = permissionManager.GetAllRights(subjectManager.GetUserByName(GetUsernameOrDefault()).Id, 1, datasetId).ToList();

                if (rights.Count > 0)
                {
                    DataRow dataRow = model.NewRow();
                    Object[] rowArray = new Object[8];

                    if (datasetManager.IsDatasetCheckedIn(datasetId))
                    {
                        DatasetVersion dsv = datasetManager.GetDatasetLatestVersion(datasetId);

                        MetadataStructureManager msm = new MetadataStructureManager();
                        dsv.Dataset.MetadataStructure = msm.Repo.Get(dsv.Dataset.MetadataStructure.Id);

                        string title = XmlDatasetHelper.GetInformation(dsv, NameAttributeValues.title);
                        string description = XmlDatasetHelper.GetInformation(dsv, NameAttributeValues.description);

                        rowArray[0] = Convert.ToInt64(datasetId);
                        rowArray[1] = title;
                        rowArray[2] = description;
                    }
                    else
                    {
                        rowArray[0] = Convert.ToInt64(datasetId);
                        rowArray[1] = "";
                        rowArray[2] = "Dataset is just in processing.";
                    }

                    if (rights.Contains(1))
                    {
                        rowArray[3] = "✔";
                    }
                    else
                    {
                        rowArray[3] = "✘";
                    }
                    if (rights.Contains(2))
                    {
                        rowArray[4] = "✔";
                    }
                    else
                    {
                        rowArray[4] = "✘";
                    }
                    if (rights.Contains(3))
                    {
                        rowArray[5] = "✔";
                    }
                    else
                    {
                        rowArray[5] = "✘";
                    }
                    if (rights.Contains(4))
                    {
                        rowArray[6] = "✔";
                    }
                    else
                    {
                        rowArray[6] = "✘";
                    }
                    if (rights.Contains(5))
                    {
                        rowArray[7] = "✔";
                    }
                    else
                    {
                        rowArray[7] = "✘";
                    }

                    dataRow = model.NewRow();
                    dataRow.ItemArray = rowArray;
                    model.Rows.Add(dataRow);
                }
            }

            return View(new GridModel(model));
        }
예제 #4
0
        /// <summary>
        /// 
        /// </summary>
        /// <remarks></remarks>
        /// <seealso cref=""/>
        /// <param name="query"></param>
        /// <param name="headerItemXmlNodeList"></param>
        /// <returns></returns>
        public static SearchResult search(Query query, List<XmlNode> headerItemXmlNodeList)
        {
            TopDocs docs = searcher.Search(query, 1000);
            SearchResult sro = new SearchResult();
            sro.PageSize = 10;
            sro.CurrentPage = 1;
            sro.NumberOfHits = 100;

            List<HeaderItem> Header = new List<HeaderItem>();
            List<HeaderItem> DefaultHeader = new List<HeaderItem>();

            // create id
            HeaderItem id = new HeaderItem();
            id.DisplayName = "ID";
            id.Name = "ID";
            id.DataType = "Integer";
            sro.Id = id;
            Header.Add(id);
            DefaultHeader.Add(id);

            foreach (XmlNode ade in headerItemXmlNodeList)
            {
                HeaderItem hi = new HeaderItem();
                hi = new HeaderItem();
                hi.Name = ade.Attributes.GetNamedItem("lucene_name").Value;
                hi.DisplayName = ade.Attributes.GetNamedItem("display_name").Value;
                Header.Add(hi);

                if (ade.Attributes.GetNamedItem("default_visible_item").Value.ToLower().Equals("yes"))
                {
                    DefaultHeader.Add(hi);
                }

            }

            List<Row> RowList = new List<Row>();
            foreach (ScoreDoc sd in docs.ScoreDocs)
            {
                Document doc = searcher.Doc(sd.Doc);
                Row r = new Row();
                List<object> ValueList = new List<object>();
                ValueList = new List<object>();
                ValueList.Add(doc.Get("doc_id"));

                foreach (XmlNode ade in headerItemXmlNodeList)
                {
                    String fieldType = ade.Attributes.GetNamedItem("type").Value;
                    String luceneName = ade.Attributes.GetNamedItem("lucene_name").Value;
                    if (fieldType.ToLower().Equals("facet_field"))
                    {
                        luceneName = "facet_" + luceneName;
                    }
                    else if (fieldType.ToLower().Equals("category_field"))
                    {
                        luceneName = "category_" + luceneName;
                    }
                    else if (fieldType.ToLower().Equals("property_field"))
                    {
                        luceneName = "property_" + luceneName;
                    }

                    ValueList.Add(doc.Get(luceneName));
                }
                r.Values = ValueList;
                RowList.Add(r);
            }

            sro.Header = Header;
            sro.DefaultVisibleHeaderItem = DefaultHeader;
            sro.Rows = RowList;
            return sro;
        }
예제 #5
0
        /// <summary>
        /// create the model of My Dataset table
        /// </summary>
        /// <remarks></remarks>
        /// <seealso cref="_CustomMyDatasetBinding"/>
        /// <param>NA</param>       
        /// <returns>model</returns>
        public ActionResult ShowMyDatasetsInFullPage()
        {
            ViewBag.Title = PresentationModel.GetViewTitleForTenant("Dashboard", this.Session.GetTenant());

            DataTable model = new DataTable();

            ViewData["PageSize"] = 10;
            ViewData["CurrentPage"] = 1;

            #region header
            List<HeaderItem> headerItems = new List<HeaderItem>();

            HeaderItem headerItem = new HeaderItem()
            {
                Name = "ID",
                DisplayName = "ID",
                DataType = "Int64"
            };
            headerItems.Add(headerItem);

            ViewData["Id"] = headerItem;

            headerItem = new HeaderItem()
            {
                Name = "Title",
                DisplayName = "Title",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Description",
                DisplayName = "Description",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "View",
                DisplayName = "View",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Update",
                DisplayName = "Update",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Delete",
                DisplayName = "Delete",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Download",
                DisplayName = "Download",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            headerItem = new HeaderItem()
            {
                Name = "Grant",
                DisplayName = "Grant",
                DataType = "String"
            };
            headerItems.Add(headerItem);

            ViewData["DefaultHeaderList"] = headerItems;

            #endregion

            model = CreateDataTable(headerItems);

            return View("_myDatasetGridView", model);
        }