/// <summary> /// Creates point shapefile woth errors /// </summary> public static IFeatureSet CreateErrorFeatureSet(IFeatureSet source) { var fs = new FeatureSet(GeometryType.Point); fs.Projection.CopyFrom(source.Projection); var f1 = new AttributeField() { Type = AttributeType.Integer, Name = "ErrorType", Alias = "Error type" }; var f2 = new AttributeField() { Type = AttributeType.String, Name = "ErrorMsg", Width = 30, Alias = "Error message" }; fs.Fields.Add(f1); fs.Fields.Add(f2); LoadSymbology(fs); return(fs); }
private static void CopyFields(DataTable dt, IAttributeTable tableToFill) { for (var i = 0; i < dt.Columns.Count; i++) { var type = AttributeType.String; switch (dt.Columns[i].DataType.ToString()) { case "System.String": type = AttributeType.String; break; case "System.Double": type = AttributeType.Double; break; case "System.Int32": type = AttributeType.Integer; break; } var fld = new AttributeField { Name = dt.Columns[i].ColumnName, Type = type, Precision = 6, }; if (dt.Columns[i].MaxLength != -1) { fld.Width = dt.Columns[i].MaxLength; } tableToFill.Fields.Add(fld); } }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls(Group _group) { // Remove attribute columns foreach (var column in gGroupMembers.Columns.OfType <AttributeField>().ToList()) { gGroupMembers.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { bool columnExists = gGroupMembers.Columns.OfType <AttributeField>().FirstOrDefault(a => a.AttributeId == attribute.Id) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = attribute.Id.ToString() + attribute.Key; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; boundField.Visible = false; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gGroupMembers.Columns.Add(boundField); } } } }
private void AddDynamicControls() { if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { bool columnExists = gList.Columns.OfType <AttributeField>().FirstOrDefault(a => a.AttributeId == attribute.Id) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = attribute.Key; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gList.Columns.Add(boundField); } } } // Add delete column var deleteField = new DeleteField(); gList.Columns.Add(deleteField); deleteField.Click += gList_Delete; }
/// <summary> /// Binds the defined values grid. /// </summary> protected void BindDefinedValuesGrid() { AttributeService attributeService = new AttributeService(); int definedTypeId = hfDefinedTypeId.ValueAsInt(); // add attributes with IsGridColumn to grid string qualifierValue = hfDefinedTypeId.Value; var qryDefinedTypeAttributes = attributeService.GetByEntityTypeId(new DefinedValue().TypeId).AsQueryable() .Where(a => a.EntityTypeQualifierColumn.Equals("DefinedTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(qualifierValue)); qryDefinedTypeAttributes = qryDefinedTypeAttributes.Where(a => a.IsGridColumn); List <Attribute> gridItems = qryDefinedTypeAttributes.ToList(); foreach (var item in gDefinedValues.Columns.OfType <AttributeField>().ToList()) { gDefinedValues.Columns.Remove(item); } foreach (var item in gridItems.OrderBy(a => a.Order).ThenBy(a => a.Name)) { string dataFieldExpression = item.Key; bool columnExists = gDefinedValues.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = item.Name; boundField.SortExpression = string.Empty; int insertPos = gDefinedValues.Columns.IndexOf(gDefinedValues.Columns.OfType <ReorderField>().First()); gDefinedValues.Columns.Insert(insertPos, boundField); } } var queryable = new DefinedValueService().Queryable().Where(a => a.DefinedTypeId == definedTypeId).OrderBy(a => a.Order); //SortProperty sortProperty = gDefinedValues.SortProperty; //if ( sortProperty != null ) //{ // queryable = queryable.Sort( sortProperty ); //} //else //{ // queryable = queryable.OrderBy( a => a.Id ); //} var result = queryable.ToList(); gDefinedValues.DataSource = result; gDefinedValues.DataBind(); }
public static AttributeField GetAttributeFieldForEntityAttribute(Rock.Model.Attribute attribute) { AttributeField boundField = new AttributeField(); boundField.DataField = attribute.Key; boundField.HeaderText = attribute.Name; boundField.SortExpression = string.Empty; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); //if ( attributeCache != null ) // { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; // } return(boundField); }
public FieldPropertiesModel(IAttributeTable table, IAttributeField field, bool addField, bool allowEditing) { if (table == null) { throw new ArgumentNullException("table"); } if (field == null) { field = new AttributeField(); } Field = field; AddField = addField; Table = table; _allowEditing = allowEditing; }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddAttributeColumns() { // Remove attribute columns foreach (var column in gGroupMembers.Columns.OfType <AttributeField>().ToList()) { gGroupMembers.Columns.Remove(column); } if (_group != null) { // Add attribute columns int entityTypeId = new GroupMember().TypeId; string groupQualifier = _group.Id.ToString(); string groupTypeQualifier = _group.GroupTypeId.ToString(); foreach (var attribute in new AttributeService(new RockContext()).Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn && ((a.EntityTypeQualifierColumn.Equals("GroupId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(groupQualifier)) || (a.EntityTypeQualifierColumn.Equals("GroupTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(groupTypeQualifier)))) .OrderByDescending(a => a.EntityTypeQualifierColumn) .ThenBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gGroupMembers.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = attribute.Name; boundField.SortExpression = string.Empty; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gGroupMembers.Columns.Add(boundField); } } } }
/// <summary> /// Add all the dynamic columns needed to properly display devices. /// </summary> protected void AddDynamicColumns() { // Remove attribute columns foreach (var column in gDevice.Columns.OfType <AttributeField>().ToList()) { gDevice.Columns.Remove(column); } // Add attribute columns int entityTypeId = EntityTypeCache.Get(typeof(Rock.Model.Device)).Id; foreach (var attribute in new AttributeService(new RockContext()).Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn && a.EntityTypeQualifierColumn == string.Empty ) .OrderBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gDevice.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gDevice.Columns.Add(boundField); } } var deleteField = new DeleteField(); gDevice.Columns.Add(deleteField); deleteField.Click += gDevice_Delete; }
/// <summary> /// Dynamically display attributes added to the rendered workflow as columns in the <see cref="gWorkflows"/> grid /// </summary> private void AddDynamicControls() { // Remove attribute columns foreach (var column in gWorkflows.Columns.OfType <AttributeField>().ToList()) { gWorkflows.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { bool columnExists = gWorkflows.Columns.OfType <AttributeField>().Any(a => a.AttributeId == attribute.Id); if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = attribute.Key; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gWorkflows.Columns.Add(boundField); } } } // Add PersonLinkField column var personLinkField = new PersonProfileLinkField(); personLinkField.LinkedPageAttributeKey = AttributeKeys.PersonProfilePage; gWorkflows.Columns.Add(personLinkField); // Add delete column var deleteField = new DeleteField(); deleteField.Click += gWorkflows_Delete; gWorkflows.Columns.Add(deleteField); }
protected void AddAttributeColumns() { // Remove attribute columns foreach (var column in gItems.Columns.OfType <AttributeField>().ToList()) { gItems.Columns.Remove(column); } // Add attribute columns int entityTypeId = EntityTypeCache.Get(typeof(Rock.Model.ContentChannelItem)).Id; foreach (var attribute in new AttributeService(new RockContext()).Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn && (( a.EntityTypeQualifierColumn.Equals("ContentChannelTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(_typeId.ToString()) ) || ( a.EntityTypeQualifierColumn.Equals("ContentChannelId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(_channelId.ToString()) ))) .OrderBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gItems.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gItems.Columns.Add(boundField); } } }
/// <summary> /// Adds the Attribute columns to the grid. /// </summary> private void AddAttributeColumns() { // Clear dynamic controls so we can re-add them RemoveAttributeColumns(); if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { bool columnExists = gSteps.Columns.OfType <AttributeField>().FirstOrDefault(a => a.AttributeId == attribute.Id) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = attribute.Key; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Left; gSteps.Columns.Add(boundField); } } } }
/// <summary> /// Adds columns for any Pledge attributes marked as Show In Grid /// </summary> protected void AddAttributeColumns() { // Remove attribute columns foreach (var column in gPledges.Columns.OfType <AttributeField>().ToList()) { gPledges.Columns.Remove(column); } int entityTypeId = new FinancialPledge().TypeId; foreach (var attribute in new AttributeService(new RockContext()).Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn ) .OrderBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gPledges.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gPledges.Columns.Add(boundField); } } }
protected void AddDynamicControls(ContentChannel channel) { // Remove all columns gContentChannelItems.Columns.Clear(); phAttributeFilters.Controls.Clear(); if (channel != null) { // Add Title column var titleField = new BoundField(); titleField.DataField = "Title"; titleField.HeaderText = "Title"; titleField.SortExpression = "Title"; gContentChannelItems.Columns.Add(titleField); // Add Attribute columns int entityTypeId = EntityTypeCache.Read(typeof(Rock.Model.ContentChannelItem)).Id; string channelId = channel.Id.ToString(); string channelTypeId = channel.ContentChannelTypeId.ToString(); foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false, Rock.Reporting.FilterMode.SimpleFilter); if (control != null) { if (control is IRockControl) { var rockControl = (IRockControl)control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } string savedValue = gfFilter.GetUserPreference(MakeKeyUniqueToChannel(channel.Id, attribute.Key)); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { // intentionally ignore } } } string dataFieldExpression = attribute.Key; bool columnExists = gContentChannelItems.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; boundField.ItemStyle.HorizontalAlign = attribute.FieldType.Field.AlignValue; gContentChannelItems.Columns.Add(boundField); } } if (channel.ContentChannelType.IncludeTime) { // Add Start column var startField = new DateTimeField(); startField.DataField = "StartDateTime"; startField.HeaderText = channel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange ? "Start" : "Date"; startField.SortExpression = "StartDateTime"; gContentChannelItems.Columns.Add(startField); // Expire column if (channel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange) { var expireField = new DateTimeField(); expireField.DataField = "ExpireDateTime"; expireField.HeaderText = "Expire"; expireField.SortExpression = "ExpireDateTime"; gContentChannelItems.Columns.Add(expireField); } } else { // Add Start column var startField = new DateField(); startField.DataField = "StartDateTime"; startField.HeaderText = channel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange ? "Start" : "Date"; startField.SortExpression = "StartDateTime"; gContentChannelItems.Columns.Add(startField); // Expire column if (channel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange) { var expireField = new DateField(); expireField.DataField = "ExpireDateTime"; expireField.HeaderText = "Expire"; expireField.SortExpression = "ExpireDateTime"; gContentChannelItems.Columns.Add(expireField); } } // Priority column var priorityField = new BoundField(); priorityField.DataField = "Priority"; priorityField.HeaderText = "Priority"; priorityField.SortExpression = "Priority"; priorityField.DataFormatString = "{0:N0}"; priorityField.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gContentChannelItems.Columns.Add(priorityField); // Status column if (channel.RequiresApproval) { var statusField = new BoundField(); gContentChannelItems.Columns.Add(statusField); statusField.DataField = "Status"; statusField.HeaderText = "Status"; statusField.SortExpression = "Status"; statusField.HtmlEncode = false; } // Add occurrences Count column var occurrencesField = new BoolField(); occurrencesField.DataField = "Occurrences"; occurrencesField.HeaderText = "Event Occurrences"; gContentChannelItems.Columns.Add(occurrencesField); // Add Created By column var createdByPersonNameField = new BoundField(); createdByPersonNameField.DataField = "CreatedByPersonName"; createdByPersonNameField.HeaderText = "Created By"; createdByPersonNameField.HtmlEncode = false; gContentChannelItems.Columns.Add(createdByPersonNameField); bool canEditChannel = channel.IsAuthorized(Rock.Security.Authorization.EDIT, CurrentPerson); gContentChannelItems.Actions.ShowAdd = canEditChannel; gContentChannelItems.IsDeleteEnabled = canEditChannel; if (canEditChannel) { var deleteField = new DeleteField(); gContentChannelItems.Columns.Add(deleteField); deleteField.Click += gContentChannelItems_Delete; } } }
/// <summary> /// Add all of the columns to the Registrations grid after the Registrants column. /// The Column.Insert method does not play well with buttons. /// </summary> private void RegistrationsTabAddDynamicControls() { var registrantsField = gRegistrations.ColumnsOfType <RockTemplateField>().FirstOrDefault(a => a.HeaderText == "Registrants"); int registrantsFieldIndex = gRegistrations.Columns.IndexOf(registrantsField); // Remove all columns to the right of Registrants for (int i = registrantsFieldIndex + 2; i < gRegistrations.Columns.Count; i++) { gRegistrations.Columns.RemoveAt(i); } // Add Attribute columns if necessary if (AvailableRegistrationAttributeIdsForGrid != null) { foreach (var attributeCache in AvailableRegistrationAttributeIdsForGrid.Select(a => AttributeCache.Get(a))) { bool columnExists = gRegistrations.Columns.OfType <AttributeField>().FirstOrDefault(a => a.AttributeId == attributeCache.Id) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = attributeCache.Key; boundField.AttributeId = attributeCache.Id; boundField.HeaderText = attributeCache.Name; boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; gRegistrations.Columns.Add(boundField); } } } // Add the rest of the columns var dtWhen = new DateTimeField { DataField = "CreatedDateTime", HeaderText = "When", SortExpression = "CreatedDateTime" }; dtWhen.HeaderStyle.HorizontalAlign = HorizontalAlign.Left; dtWhen.ItemStyle.HorizontalAlign = HorizontalAlign.Left; gRegistrations.Columns.Add(dtWhen); var lDiscount = new RockLiteralField { ID = "lDiscount", HeaderText = "Discount Code", SortExpression = "DiscountCode", Visible = false }; lDiscount.HeaderStyle.HorizontalAlign = HorizontalAlign.Left; lDiscount.ItemStyle.HorizontalAlign = HorizontalAlign.Left; gRegistrations.Columns.Add(lDiscount); var lRegistrationCost = new RockLiteralField { ID = "lRegistrationCost", HeaderText = "Total Cost", SortExpression = "TotalCost" }; lRegistrationCost.HeaderStyle.HorizontalAlign = HorizontalAlign.Right; lRegistrationCost.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gRegistrations.Columns.Add(lRegistrationCost); var lBalance = new RockLiteralField { ID = "lBalance", HeaderText = "Balance Due", SortExpression = "BalanceDue" }; lBalance.HeaderStyle.HorizontalAlign = HorizontalAlign.Right; lBalance.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gRegistrations.Columns.Add(lBalance); DeleteField deleteField = new DeleteField(); deleteField.Click += gRegistrations_Delete; gRegistrations.Columns.Add(deleteField); }
static void Main(string[] args) { //string inputShapeFile = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik\ns_lev05.shp"; //string inputShapeFile = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik2\smallish dataset\polygons.shp"; //string inputShapeFile = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik2\TEUI_5__Test_data\state_boundaries_us_100k.shp"; //string inputShapeFile = @"D:\Ashis_Work\GDAL Utilities\sample-data\UtahGrid\Counties.shp"; string inputShapeFile = @"D:\Ashis_Work\GDAL Utilities\sample-data\Geodatabase\EsriZonalOutputs.gdb\Counties"; AttributeField attributeField = new AttributeField(); attributeField.AddAttributeField(inputShapeFile); string infieldName = "FIPS_STR"; //string infieldName = "STATE_FIPS"; //string infieldName = "Id"; //string infieldName = "OBJECTID"; //int outRasterCellSize =30; double outRasterCellSize = 94.40415951; string outZonalCsvGDAL = "gdalZonalStat.csv"; string outZonalCsvESRI = "esriZonalStat.csv"; //string inValueRaster = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik2\smallish dataset\teuitest_NED_30m_30_R1C1.img"; //string inValueRaster = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik\Whetstone_20080229SoilEnh.img"; //string inValueRaster = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik\Whetstone_20080229eDOQQMos.tif"; //string inValueRaster = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik2\TEUI_5__Test_data\slope_90m"; string inValueRaster = @"D:\Ashis_Work\GDAL Utilities\sample-data\UtahGrid\dem90_utm83"; Console.WriteLine("GDAL working..."); DateTime gdalStart1 = DateTime.Now; ComputeStatistics.ComputeZonalStatistics(inValueRaster, inputShapeFile, infieldName, outRasterCellSize, outZonalCsvGDAL); DateTime gdalEnd1 = DateTime.Now; string gdbPath = @"D:\Ashis_Work\GDAL Utilities\sample-data\Geodatabase\EsriZonalOutputs.gdb"; DateTime gdalStart2 = DateTime.Now; ComputeStatistics.ComputeZonalStatisticsUsingFeatureGdb(gdbPath, "Counties", inValueRaster, infieldName, outRasterCellSize, outZonalCsvGDAL); DateTime gdalEnd2 = DateTime.Now; TimeSpan gdalTimeSpan1 = gdalEnd1 - gdalStart1; TimeSpan gdalTimeSpan2 = gdalEnd2 - gdalStart2; Console.WriteLine("Total time GDAL: outside gdb- {0} inside gdb- {1}", gdalTimeSpan1, gdalTimeSpan2); Console.WriteLine("Esri working ..."); DateTime esriStart = DateTime.Now; //string folder =@"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik"; //string folder = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik2\smallish dataset"; //string folder = @"D:\Ashis_Work\GDAL Utilities\sample-data\FromErik2\TEUI_5__Test_data"; string folder = @"D:\Ashis_Work\GDAL Utilities\sample-data\UtahGrid"; //string fileName = "teuitest_NED_30m_30_R1C1.img"; //string fileName = "Whetstone_20080229SoilEnh.img"; //string fileName = "slope_90m"; string fileName = "dem90_utm83"; //string fileName = "Whetstone_20080229eDOQQMos.tif"; ZonalStatisticsEsri.OpenFileRasterDataset(folder, fileName, inputShapeFile, infieldName, outRasterCellSize, outZonalCsvESRI); DateTime esriEnd = DateTime.Now; TimeSpan esriTimeSpan = esriEnd - esriStart; Console.WriteLine("Total time ESRI: {0}", esriTimeSpan); Console.WriteLine("\n \n"); Console.WriteLine(" Input shp: {0}", inputShapeFile); Console.WriteLine(" Output Cell: {0}", outRasterCellSize); Console.WriteLine("Done"); }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // Clear the filter controls phAttributeFilters.Controls.Clear(); // Remove attribute columns foreach (var column in gWorkflows.Columns.OfType <AttributeField>().ToList()) { gWorkflows.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false, Rock.Reporting.FilterMode.SimpleFilter); if (control != null) { if (control is IRockControl) { var rockControl = ( IRockControl )control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } } string dataFieldExpression = attribute.Key; bool columnExists = gWorkflows.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; boundField.Condensed = false; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gWorkflows.Columns.Add(boundField); } } } var dateField = new DateTimeField(); gWorkflows.Columns.Add(dateField); dateField.DataField = "CreatedDateTime"; dateField.SortExpression = "CreatedDateTime"; dateField.HeaderText = "Created"; dateField.FormatAsElapsedTime = true; var statusField = new BoundField(); gWorkflows.Columns.Add(statusField); statusField.DataField = "Status"; statusField.SortExpression = "Status"; statusField.HeaderText = "Status"; statusField.DataFormatString = "<span class='label label-info'>{0}</span>"; statusField.HtmlEncode = false; var stateField = new CallbackField(); gWorkflows.Columns.Add(stateField); stateField.DataField = "IsCompleted"; stateField.SortExpression = "CompletedDateTime"; stateField.HeaderText = "State"; stateField.HtmlEncode = false; stateField.OnFormatDataValue += (sender, e) => { if (( bool )e.DataValue) { e.FormattedValue = "<span class='label label-default'>Completed</span>"; } else { e.FormattedValue = "<span class='label label-success'>Active</span>"; } }; }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // Clear the filter controls phAttributeFilters.Controls.Clear(); // Remove attribute columns foreach (var column in gGroupMembers.Columns.OfType <AttributeField>().ToList()) { gGroupMembers.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false); if (control != null) { if (control is IRockControl) { var rockControl = (IRockControl)control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } string savedValue = rFilter.GetUserPreference(MakeKeyUniqueToGroup(attribute.Key)); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { } } } string dataFieldExpression = attribute.Key; bool columnExists = gGroupMembers.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = attribute.Name; boundField.SortExpression = string.Empty; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gGroupMembers.Columns.Add(boundField); } } } // Add Link to Profile Page Column if (!string.IsNullOrEmpty(GetAttributeValue("PersonProfilePage"))) { AddPersonProfileLinkColumn(); } // Add delete column var deleteField = new DeleteField(); gGroupMembers.Columns.Add(deleteField); deleteField.Click += DeleteGroupMember_Click; }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // Clear the filter controls phAttributeFilters.Controls.Clear(); // Remove attribute columns foreach (var column in gWorkflows.Columns.OfType <AttributeField>().ToList()) { gWorkflows.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false); if (control is IRockControl) { var rockControl = (IRockControl)control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } string savedValue = gfWorkflows.GetUserPreference(MakeKeyUniqueToType(attribute.Key)); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { } } string dataFieldExpression = attribute.Key; bool columnExists = gWorkflows.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = attribute.Name; boundField.SortExpression = string.Empty; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gWorkflows.Columns.Add(boundField); } } } var dateField = new DateTimeField(); gWorkflows.Columns.Add(dateField); dateField.DataField = "CreatedDateTime"; dateField.SortExpression = "CreatedDateTime"; dateField.HeaderText = "Created"; dateField.FormatAsElapsedTime = true; var statusField = new BoundField(); gWorkflows.Columns.Add(statusField); statusField.DataField = "Status"; statusField.SortExpression = "Status"; statusField.HeaderText = "Status"; statusField.HtmlEncode = false; var stateField = new BoundField(); gWorkflows.Columns.Add(stateField); stateField.DataField = "State"; stateField.SortExpression = "CompletedDateTime"; stateField.HeaderText = "State"; stateField.HtmlEncode = false; var manageField = new EditField(); gWorkflows.Columns.Add(manageField); manageField.IconCssClass = "fa fa-edit"; manageField.Click += gWorkflows_Manage; var deleteField = new DeleteField(); gWorkflows.Columns.Add(deleteField); deleteField.Click += gWorkflows_Delete; }
/// <summary> /// Binds the grid. /// </summary> private void BindGrid() { WorkflowService workflowService = new WorkflowService(); SortProperty sortProperty = gWorkflows.SortProperty; var qry = workflowService.Queryable(); WorkflowType workflowType = this.ContextEntity <WorkflowType>(); if (workflowType == null) { pnlWorkflowList.Visible = false; return; } // if this isn't currently a persisted workflow type, and there are no records, hide the panel if (!workflowType.IsPersisted) { if (qry.Count() == 0) { pnlWorkflowList.Visible = false; return; } } if (!string.IsNullOrWhiteSpace(workflowType.WorkTerm)) { gWorkflows.RowItemText = workflowType.WorkTerm; lGridTitle.Text = workflowType.WorkTerm.Pluralize(); } AttributeService attributeService = new AttributeService(); // add attributes with IsGridColumn to grid string qualifierValue = workflowType.Id.ToString(); var qryWorkflowTypeAttributes = attributeService.GetByEntityTypeId(new Workflow().TypeId).AsQueryable() .Where(a => a.EntityTypeQualifierColumn.Equals("WorkflowTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(qualifierValue)); qryWorkflowTypeAttributes = qryWorkflowTypeAttributes.Where(a => a.IsGridColumn); List <Attribute> gridItems = qryWorkflowTypeAttributes.ToList(); foreach (var item in gWorkflows.Columns.OfType <AttributeField>().ToList()) { gWorkflows.Columns.Remove(item); } foreach (var item in gridItems.OrderBy(a => a.Order).ThenBy(a => a.Name)) { string dataFieldExpression = item.Key; bool columnExists = gWorkflows.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = item.Name; boundField.SortExpression = string.Empty; int insertPos = gWorkflows.Columns.IndexOf(gWorkflows.Columns.OfType <DeleteField>().First()); gWorkflows.Columns.Insert(insertPos, boundField); } } pnlWorkflowList.Visible = true; qry = qry.Where(a => a.WorkflowTypeId.Equals(workflowType.Id)); if (sortProperty != null) { gWorkflows.DataSource = qry.Sort(sortProperty).ToList(); } else { gWorkflows.DataSource = qry.OrderBy(s => s.Name).ToList(); } gWorkflows.DataBind(); }
/// <summary> /// Binds the group members grid. /// </summary> protected void BindGroupMembersGrid() { if (_group != null) { pnlGroupMembers.Visible = true; using (new UnitOfWorkScope()) { lHeading.Text = string.Format("{0} {1}", _group.GroupType.GroupTerm, _group.GroupType.GroupMemberTerm.Pluralize()); if (_group.GroupType.Roles.Any()) { nbRoleWarning.Visible = false; rFilter.Visible = true; gGroupMembers.Visible = true; // Remove attribute columns foreach (var column in gGroupMembers.Columns.OfType <AttributeField>().ToList()) { gGroupMembers.Columns.Remove(column); } // Add attribute columns int entityTypeId = new GroupMember().TypeId; string groupQualifier = _group.Id.ToString(); string groupTypeQualifier = _group.GroupTypeId.ToString(); foreach (var attribute in new AttributeService().Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn && (a.EntityTypeQualifierColumn.Equals("GroupId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(groupQualifier) || a.EntityTypeQualifierColumn.Equals("GroupTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(groupTypeQualifier)) ) .OrderBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gGroupMembers.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = attribute.Name; boundField.SortExpression = string.Empty; int insertPos = gGroupMembers.Columns.IndexOf(gGroupMembers.Columns.OfType <DeleteField>().First()); gGroupMembers.Columns.Insert(insertPos, boundField); } } GroupMemberService groupMemberService = new GroupMemberService(); var qry = groupMemberService.Queryable("Person,GroupRole") .Where(m => m.GroupId == _group.Id); // Filter by First Name string firstName = rFilter.GetUserPreference("First Name"); if (!string.IsNullOrWhiteSpace(firstName)) { qry = qry.Where(m => m.Person.FirstName.StartsWith(firstName)); } // Filter by Last Name string lastName = rFilter.GetUserPreference("Last Name"); if (!string.IsNullOrWhiteSpace(lastName)) { qry = qry.Where(m => m.Person.LastName.StartsWith(lastName)); } // Filter by role var roles = new List <int>(); foreach (string role in rFilter.GetUserPreference("Role").Split(';')) { if (!string.IsNullOrWhiteSpace(role)) { int roleId = int.MinValue; if (int.TryParse(role, out roleId)) { roles.Add(roleId); } } } if (roles.Any()) { qry = qry.Where(m => roles.Contains(m.GroupRoleId)); } // Filter by Sttus var statuses = new List <GroupMemberStatus>(); foreach (string status in rFilter.GetUserPreference("Status").Split(';')) { if (!string.IsNullOrWhiteSpace(status)) { statuses.Add(status.ConvertToEnum <GroupMemberStatus>()); } } if (statuses.Any()) { qry = qry.Where(m => statuses.Contains(m.GroupMemberStatus)); } SortProperty sortProperty = gGroupMembers.SortProperty; if (sortProperty != null) { gGroupMembers.DataSource = qry.Sort(sortProperty).ToList(); } else { gGroupMembers.DataSource = qry.OrderBy(a => a.Person.LastName).ThenBy(a => a.Person.FirstName).ToList(); } gGroupMembers.DataBind(); } else { nbRoleWarning.Text = string.Format("{0} cannot be added to this {1} because the '{2}' group type does not have any roles defined.", _group.GroupType.GroupMemberTerm.Pluralize(), _group.GroupType.GroupTerm, _group.GroupType.Name); nbRoleWarning.Visible = true; rFilter.Visible = false; gGroupMembers.Visible = false; } } } else { pnlGroupMembers.Visible = false; } }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // Clear the filter controls phAttributeFilters.Controls.Clear(); // Remove attribute columns foreach (var column in gWorkflows.Columns.OfType <AttributeField>().ToList()) { gWorkflows.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false, Rock.Reporting.FilterMode.SimpleFilter); if (control != null) { if (control is IRockControl) { var rockControl = (IRockControl)control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } } string savedValue = gfWorkflows.GetUserPreference(MakeKeyUniqueToType(attribute.Key)); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { } } string dataFieldExpression = attribute.Key; bool columnExists = gWorkflows.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; boundField.Condensed = false; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gWorkflows.Columns.Add(boundField); } } } var dateField = new DateTimeField(); gWorkflows.Columns.Add(dateField); dateField.DataField = "CreatedDateTime"; dateField.SortExpression = "CreatedDateTime"; dateField.HeaderText = "Created"; dateField.FormatAsElapsedTime = true; var statusField = new BoundField(); gWorkflows.Columns.Add(statusField); statusField.DataField = "Status"; statusField.SortExpression = "Status"; statusField.HeaderText = "Status"; statusField.DataFormatString = "<span class='label label-info'>{0}</span>"; statusField.HtmlEncode = false; var stateField = new CallbackField(); gWorkflows.Columns.Add(stateField); stateField.DataField = "IsCompleted"; stateField.SortExpression = "CompletedDateTime"; stateField.HeaderText = "State"; stateField.HtmlEncode = false; stateField.OnFormatDataValue += (sender, e) => { if ((bool)e.DataValue) { e.FormattedValue = "<span class='label label-default'>Completed</span>"; } else { e.FormattedValue = "<span class='label label-success'>Active</span>"; } }; if (_canView) { var manageField = new LinkButtonField(); gWorkflows.Columns.Add(manageField); manageField.CssClass = "btn btn-default btn-sm fa fa-file-text-o"; manageField.Click += gWorkflows_Manage; } if (_canEdit) { var deleteField = new DeleteField(); gWorkflows.Columns.Add(deleteField); deleteField.Click += gWorkflows_Delete; } }
void UpdateAttributePoints() { AttributeField.GetComponent <Text> ().text = AttributePoints + ""; }
protected void AddColumns(ContentChannel channel) { // Remove all columns gContentChannelItems.Columns.Clear(); if (channel != null) { // Add Title column var titleField = new BoundField(); titleField.DataField = "Title"; titleField.HeaderText = "Title"; titleField.SortExpression = "Title"; gContentChannelItems.Columns.Add(titleField); // Add Attribute columns int entityTypeId = EntityTypeCache.Read(typeof(Rock.Model.ContentChannelItem)).Id; string channelId = channel.Id.ToString(); string channelTypeId = channel.ContentChannelTypeId.ToString(); foreach (var attribute in new AttributeService(new RockContext()).Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn && (( a.EntityTypeQualifierColumn.Equals("ContentChannelTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(channelTypeId) ) || ( a.EntityTypeQualifierColumn.Equals("ContentChannelId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(channelId) ))) .OrderBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gContentChannelItems.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.HeaderText = attribute.Name; boundField.SortExpression = string.Empty; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gContentChannelItems.Columns.Add(boundField); } } // Add Start column var startField = new DateTimeField(); startField.DataField = "StartDateTime"; startField.HeaderText = channel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange ? "Start" : "Date"; startField.SortExpression = "StartDateTime"; gContentChannelItems.Columns.Add(startField); // Expire column if (channel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange) { var expireField = new DateTimeField(); expireField.DataField = "ExpireDateTime"; expireField.HeaderText = "Expire"; expireField.SortExpression = "ExpireDateTime"; gContentChannelItems.Columns.Add(expireField); } // Priority column var priorityField = new BoundField(); priorityField.DataField = "Priority"; priorityField.HeaderText = "Priority"; priorityField.SortExpression = "Priority"; priorityField.DataFormatString = "{0:N0}"; priorityField.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gContentChannelItems.Columns.Add(priorityField); // Status column if (channel.RequiresApproval) { var statusField = new BoundField(); gContentChannelItems.Columns.Add(statusField); statusField.DataField = "Status"; statusField.HeaderText = "Status"; statusField.SortExpression = "Status"; statusField.HtmlEncode = false; } bool canEditChannel = channel.IsAuthorized(Rock.Security.Authorization.EDIT, CurrentPerson); gContentChannelItems.Actions.ShowAdd = canEditChannel; gContentChannelItems.IsDeleteEnabled = canEditChannel; if (canEditChannel) { var deleteField = new DeleteField(); gContentChannelItems.Columns.Add(deleteField); deleteField.Click += gContentChannelItems_Delete; } } }
private void CreateGrids(RockContext rockContext) { if (ContentChannels.Any()) { this.Visible = true; phContentChannelGrids.Controls.Clear(); foreach (var contentChannel in ContentChannels) { bool canEdit = UserCanEdit || contentChannel.IsAuthorized(Authorization.EDIT, CurrentPerson); string iconClass = "fa fa-bullhorn"; if (!string.IsNullOrWhiteSpace(contentChannel.IconCssClass)) { iconClass = contentChannel.IconCssClass; } var pwItems = new PanelWidget(); phContentChannelGrids.Controls.Add(pwItems); pwItems.ID = string.Format("pwItems_{0}", contentChannel.Id); pwItems.Title = string.Format("<i class='{0}'></i> {1}", iconClass, contentChannel.Name); pwItems.Expanded = ExpandedPanels.Contains(contentChannel.Id); var divItems = new HtmlGenericControl("div"); pwItems.Controls.Add(divItems); divItems.ID = string.Format("divItems_{0}", contentChannel.Id); divItems.AddCssClass("grid"); divItems.AddCssClass("grid-panel"); Grid gItems = new Grid(); divItems.Controls.Add(gItems); gItems.ID = string.Format("gItems_{0}", contentChannel.Id); gItems.DataKeyNames = new string[] { "Id" }; gItems.EmptyDataText = "No Items Found"; gItems.RowItemText = "Item"; gItems.AllowSorting = true; gItems.Actions.ShowAdd = canEdit; gItems.IsDeleteEnabled = canEdit; gItems.Actions.AddClick += gItems_Add; gItems.RowSelected += gItems_Edit; gItems.GridRebind += gItems_GridRebind; // // Add the "Link Existing Item" button. // if (OccurrenceId.HasValue) { var lbtnLinkExisting = new LinkButton(); lbtnLinkExisting.Attributes.Add("title", "Link Existing Item"); lbtnLinkExisting.CommandArgument = contentChannel.Id.ToString(); lbtnLinkExisting.CssClass = "btn btn-default btn-sm"; lbtnLinkExisting.Click += lbtnLinkExisting_Click; lbtnLinkExisting.Text = "<i class='fa fa-link'></i>"; gItems.Actions.AddCustomActionControl(lbtnLinkExisting); } gItems.Columns.Add(new RockBoundField { DataField = "Title", HeaderText = "Title", SortExpression = "Title" }); if (contentChannel.ContentChannelType.DateRangeType != ContentChannelDateType.NoDates) { RockBoundField startDateTimeField; RockBoundField expireDateTimeField; if (contentChannel.ContentChannelType.IncludeTime) { startDateTimeField = new DateTimeField(); expireDateTimeField = new DateTimeField(); } else { startDateTimeField = new DateField(); expireDateTimeField = new DateField(); } startDateTimeField.DataField = "StartDateTime"; startDateTimeField.HeaderText = contentChannel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange ? "Start" : "Active"; startDateTimeField.SortExpression = "StartDateTime"; gItems.Columns.Add(startDateTimeField); expireDateTimeField.DataField = "ExpireDateTime"; expireDateTimeField.HeaderText = "Expire"; expireDateTimeField.SortExpression = "ExpireDateTime"; if (contentChannel.ContentChannelType.DateRangeType == ContentChannelDateType.DateRange) { gItems.Columns.Add(expireDateTimeField); } } if (!contentChannel.ContentChannelType.DisablePriority) { var priorityField = new RockBoundField { DataField = "Priority", HeaderText = "Priority", SortExpression = "Priority", DataFormatString = "{0:N0}", }; priorityField.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gItems.Columns.Add(priorityField); } // Add attribute columns int entityTypeId = EntityTypeCache.Read(typeof(Rock.Model.ContentChannelItem)).Id; string qualifier = contentChannel.ContentChannelTypeId.ToString(); foreach (var attribute in new AttributeService(rockContext).Queryable() .Where(a => a.EntityTypeId == entityTypeId && a.IsGridColumn && a.EntityTypeQualifierColumn.Equals("ContentChannelTypeId", StringComparison.OrdinalIgnoreCase) && a.EntityTypeQualifierValue.Equals(qualifier)) .OrderBy(a => a.Order) .ThenBy(a => a.Name)) { string dataFieldExpression = attribute.Key; bool columnExists = gItems.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gItems.Columns.Add(boundField); } } if (contentChannel.RequiresApproval && !contentChannel.ContentChannelType.DisableStatus) { var statusField = new BoundField(); gItems.Columns.Add(statusField); statusField.DataField = "Status"; statusField.HeaderText = "Status"; statusField.SortExpression = "Status"; statusField.HtmlEncode = false; } var deleteField = new DeleteField(); gItems.Columns.Add(deleteField); deleteField.Click += gItems_Delete; } } else { this.Visible = false; } }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // remove Family Campus columns foreach (var column in pnlGroupMembers.Columns .OfType <RockLiteralField>() .ToList()) { pnlGroupMembers.Columns.Remove(column); } // remove Group member attribute columns foreach (var column in pnlGroupMembers.Columns .OfType <AttributeField>().ToList()) { pnlGroupMembers.Columns.Remove(column); } // remove Group member assignment columns foreach (var column in pnlGroupMembers.Columns .OfType <LinkButtonField>().ToList()) { pnlGroupMembers.Columns.Remove(column); } // remove the edit field foreach (var column in pnlGroupMembers.Columns .OfType <EditField>().ToList()) { pnlGroupMembers.Columns.Remove(column); } // Remove the delete field foreach (var column in pnlGroupMembers.Columns .OfType <DeleteField>() .ToList()) { pnlGroupMembers.Columns.Remove(column); } // Set up group member attribute columns var rockContext = new RockContext(); var attributeValueService = new AttributeValueService(rockContext); foreach (var attribute in GetGroupAttributes()) { // add the attribute data column var attributeColumn = pnlGroupMembers.Columns.OfType <AttributeField>().FirstOrDefault(a => a.AttributeId == attribute.Id); if (attributeColumn == null) { var boundField = new AttributeField { DataField = attribute.Id + attribute.Key, AttributeId = attribute.Id, HeaderText = attribute.Name, SortExpression = string.Format("attribute:{0}", attribute.Id), }; boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Center; decimal needsFilled = 0; if (attribute.FieldType != null) { var groupMemberIds = _group.Members.Select(m => m.Id).ToList(); var attributeValues = attributeValueService.GetByAttributeId(attribute.Id) .Where(v => groupMemberIds.Contains((int)v.EntityId) && !(v.Value == null || v.Value.Trim() == string.Empty)) .Select(v => v.Value).ToList(); // if the values are numeric, sum a number value if (attribute.FieldType.Guid.Equals(Rock.SystemGuid.FieldType.INTEGER.AsGuid()) || attribute.FieldType.Guid.Equals(Rock.SystemGuid.FieldType.DECIMAL.AsGuid())) { needsFilled = attributeValues.Sum(v => v.AsDecimal()); } else if (attribute.FieldType.Guid.Equals(Rock.SystemGuid.FieldType.MULTI_SELECT.AsGuid())) { // handles checkboxes and non-empty strings needsFilled = attributeValues.Count(v => !string.IsNullOrWhiteSpace(v)); } else { // handles single select and boolean needsFilled = attributeValues.Count(v => v.AsBoolean()); } } if (needsFilled > 0) { pnlGroupMembers.ShowFooter = true; boundField.FooterText = needsFilled.ToString(); } pnlGroupMembers.Columns.Add(boundField); } if (pnlGroupMembers.ShowFooter) { pnlGroupMembers.Columns[1].FooterText = "Total"; pnlGroupMembers.Columns[1].FooterStyle.HorizontalAlign = HorizontalAlign.Left; } } // Add dynamic assignment columns for volunteer groups if (_resources != null && _group.GroupType.GroupTypePurposeValue != null && _group.GroupType.GroupTypePurposeValue.Value == "Serving Area") { foreach (var groupType in _resourceTypes.Where(gt => gt.GetAttributeValue("AllowVolunteerAssignment").AsBoolean(true))) { if (_resources.ContainsKey(groupType.Name)) { var resourceGroupGuid = _resources[groupType.Name]; if (resourceGroupGuid != null && !string.IsNullOrWhiteSpace(resourceGroupGuid.Value)) { var parentGroup = new GroupService(rockContext).Get(resourceGroupGuid.Value.AsGuid()); if (parentGroup != null && parentGroup.GroupTypeId != _group.GroupTypeId) { var groupAssignment = new LinkButtonField(); groupAssignment.ItemStyle.HorizontalAlign = HorizontalAlign.Center; groupAssignment.ExcelExportBehavior = ExcelExportBehavior.NeverInclude; groupAssignment.HeaderText = parentGroup.Name; groupAssignment.HeaderStyle.CssClass = ""; pnlGroupMembers.Columns.Add(groupAssignment); var assignmentExport = new RockLiteralField(); assignmentExport.ID = string.Format("lAssignments_{0}", groupType.Id); assignmentExport.ItemStyle.HorizontalAlign = HorizontalAlign.Center; assignmentExport.ExcelExportBehavior = ExcelExportBehavior.AlwaysInclude; assignmentExport.HeaderStyle.CssClass = ""; assignmentExport.HeaderText = parentGroup.Name; assignmentExport.Visible = false; pnlGroupMembers.Columns.Add(assignmentExport); } } } } } // Add edit column var editField = new EditField(); pnlGroupMembers.Columns.Add(editField); editField.Click += pnlGroupMembers_EditClick; // Add delete column var deleteField = new DeleteField(); pnlGroupMembers.Columns.Add(deleteField); deleteField.Click += pnlGroupMembers_DeleteClick; }
private void AddDynamicControls() { if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false, Rock.Reporting.FilterMode.SimpleFilter); if (control != null) { if (control is IRockControl) { var rockControl = ( IRockControl )control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } string savedValue = rFilter.GetUserPreference(attribute.Key); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { // intentionally ignore } } } bool columnExists = gList.Columns.OfType <AttributeField>().FirstOrDefault(a => a.AttributeId == attribute.Id) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = attribute.Key; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Get(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gList.Columns.Add(boundField); } } } if (CanAddEditDelete) { var deleteField = new DeleteField(); deleteField.HeaderText = " "; deleteField.Visible = true; gList.Columns.Add(deleteField); deleteField.Click += gGrid_DeleteClick; } }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // Clear the filter controls phAttributeFilters.Controls.Clear(); // Remove attribute columns foreach (var column in gConnectionOpportunities.Columns.OfType <AttributeField>().ToList()) { gConnectionOpportunities.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false, Rock.Reporting.FilterMode.SimpleFilter); if (control != null) { if (control is IRockControl) { var rockControl = (IRockControl)control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } string savedValue = rFilter.GetUserPreference(MakeKeyUniqueToConnectionType(attribute.Key)); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { } } } string dataFieldExpression = attribute.Key; bool columnExists = gConnectionOpportunities.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gConnectionOpportunities.Columns.Add(boundField); } } } }
/// <summary> /// Adds the attribute columns. /// </summary> private void AddDynamicControls() { // Clear the filter controls phAttributeFilters.Controls.Clear(); // Remove attribute columns foreach (var column in gEventCalendarItems.Columns.OfType <AttributeField>().ToList()) { gEventCalendarItems.Columns.Remove(column); } // Remove status columns foreach (var column in gEventCalendarItems.Columns.OfType <BoundField>() .Where(c => c.DataField == "Instances" || c.DataField == "Status" || c.DataField == "ApprovalStatus") .ToList()) { gEventCalendarItems.Columns.Remove(column); } // Remove Delete column foreach (var column in gEventCalendarItems.Columns.OfType <DeleteField>().ToList()) { gEventCalendarItems.Columns.Remove(column); } if (AvailableAttributes != null) { foreach (var attribute in AvailableAttributes) { var control = attribute.FieldType.Field.FilterControl(attribute.QualifierValues, "filter_" + attribute.Id.ToString(), false, Rock.Reporting.FilterMode.SimpleFilter); if (control != null) { if (control is IRockControl) { var rockControl = (IRockControl)control; rockControl.Label = attribute.Name; rockControl.Help = attribute.Description; phAttributeFilters.Controls.Add(control); } else { var wrapper = new RockControlWrapper(); wrapper.ID = control.ID + "_wrapper"; wrapper.Label = attribute.Name; wrapper.Controls.Add(control); phAttributeFilters.Controls.Add(wrapper); } string savedValue = rFilter.GetUserPreference(MakeKeyUniqueToEventCalendar(attribute.Key)); if (!string.IsNullOrWhiteSpace(savedValue)) { try { var values = JsonConvert.DeserializeObject <List <string> >(savedValue); attribute.FieldType.Field.SetFilterValues(control, attribute.QualifierValues, values); } catch { } } } string dataFieldExpression = attribute.Key; bool columnExists = gEventCalendarItems.Columns.OfType <AttributeField>().FirstOrDefault(a => a.DataField.Equals(dataFieldExpression)) != null; if (!columnExists) { AttributeField boundField = new AttributeField(); boundField.DataField = dataFieldExpression; boundField.AttributeId = attribute.Id; boundField.HeaderText = attribute.Name; var attributeCache = Rock.Web.Cache.AttributeCache.Read(attribute.Id); if (attributeCache != null) { boundField.ItemStyle.HorizontalAlign = attributeCache.FieldType.Field.AlignValue; } gEventCalendarItems.Columns.Add(boundField); } } } // Add occurrences Count column var occurrencesField = new BadgeField(); occurrencesField.DangerMin = int.MaxValue; occurrencesField.WarningMin = 0; occurrencesField.WarningMax = 0; occurrencesField.InfoMin = 1; occurrencesField.InfoMax = int.MaxValue; occurrencesField.DataField = "Occurrences"; occurrencesField.HeaderText = "Occurrences"; occurrencesField.HtmlEncode = false; gEventCalendarItems.Columns.Add(occurrencesField); // Add Status column var statusField = new BoundField(); statusField.DataField = "Status"; statusField.SortExpression = "EventItem.IsActive"; statusField.HeaderText = "Status"; statusField.HtmlEncode = false; gEventCalendarItems.Columns.Add(statusField); // Add Approval Status column var approvalStatusField = new BoundField(); approvalStatusField.DataField = "ApprovalStatus"; approvalStatusField.SortExpression = "EventItem.IsApproved"; approvalStatusField.HeaderText = "Approval Status"; approvalStatusField.HtmlEncode = false; gEventCalendarItems.Columns.Add(approvalStatusField); // Add delete column if (_canEdit) { var deleteField = new DeleteField(); gEventCalendarItems.Columns.Add(deleteField); deleteField.Click += DeleteEventCalendarItem_Click; } }
public float GetFloatByAttribute(AttributeField field, string key) { return(GetFloatByAttribute(field.ToString(), key)); }