本文整理汇总了C#中Rock.Model.ScheduleService.Get方法的典型用法代码示例。如果您正苦于以下问题:C# ScheduleService.Get方法的具体用法?C# ScheduleService.Get怎么用?C# ScheduleService.Get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.ScheduleService
的用法示例。
在下文中一共展示了ScheduleService.Get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShowDetail
/// <summary>
/// Shows the detail.
/// </summary>
/// <param name="itemKey">The item key.</param>
/// <param name="itemKeyValue">The item key value.</param>
/// <param name="parentCategoryId">The parent category id.</param>
public void ShowDetail( string itemKey, int itemKeyValue, int? parentCategoryId )
{
pnlDetails.Visible = false;
if ( itemKey != "ScheduleId" )
{
return;
}
var scheduleService = new ScheduleService( new RockContext() );
Schedule schedule = null;
if ( !itemKeyValue.Equals( 0 ) )
{
schedule = scheduleService.Get( itemKeyValue );
}
else
{
schedule = new Schedule { Id = 0, CategoryId = parentCategoryId };
}
if ( schedule == null )
{
return;
}
pnlDetails.Visible = true;
hfScheduleId.Value = schedule.Id.ToString();
// render UI based on Authorized and IsSystem
bool readOnly = false;
nbEditModeMessage.Text = string.Empty;
if ( !IsUserAuthorized( Authorization.EDIT ) )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed( Schedule.FriendlyTypeName );
}
if ( readOnly )
{
btnEdit.Visible = false;
btnDelete.Visible = false;
ShowReadonlyDetails( schedule );
}
else
{
btnEdit.Visible = true;
string errorMessage = string.Empty;
btnDelete.Visible = scheduleService.CanDelete( schedule, out errorMessage );
if ( schedule.Id > 0 )
{
ShowReadonlyDetails( schedule );
}
else
{
ShowEditDetails( schedule );
}
}
}
示例2: ShowDetail
/// <summary>
/// Shows the detail.
/// </summary>
/// <param name="scheduleId">The schedule identifier.</param>
/// <param name="parentCategoryId">The parent category id.</param>
public void ShowDetail( int scheduleId, int? parentCategoryId )
{
pnlDetails.Visible = false;
var scheduleService = new ScheduleService( new RockContext() );
Schedule schedule = null;
if ( !scheduleId.Equals( 0 ) )
{
schedule = scheduleService.Get( scheduleId );
pdAuditDetails.SetEntity( schedule, ResolveRockUrl( "~" ) );
}
if ( schedule == null )
{
schedule = new Schedule { Id = 0, CategoryId = parentCategoryId };
// hide the panel drawer that show created and last modified dates
pdAuditDetails.Visible = false;
}
pnlDetails.Visible = true;
hfScheduleId.Value = schedule.Id.ToString();
// render UI based on Authorized and IsSystem
bool readOnly = false;
nbEditModeMessage.Text = string.Empty;
if ( !IsUserAuthorized( Authorization.EDIT ) )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed( Schedule.FriendlyTypeName );
}
if ( readOnly )
{
btnEdit.Visible = false;
btnDelete.Visible = false;
ShowReadonlyDetails( schedule );
}
else
{
btnEdit.Visible = true;
string errorMessage = string.Empty;
btnDelete.Visible = scheduleService.CanDelete( schedule, out errorMessage );
if ( schedule.Id > 0 )
{
ShowReadonlyDetails( schedule );
}
else
{
ShowEditDetails( schedule );
}
}
}
示例3: gSchedules_Delete
/// <summary>
/// Handles the Delete event of the gSchedules control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="RowEventArgs" /> instance containing the event data.</param>
protected void gSchedules_Delete( object sender, RowEventArgs e )
{
var rockContext = new RockContext();
ScheduleService scheduleService = new ScheduleService( rockContext );
Schedule schedule = scheduleService.Get( e.RowKeyId );
if ( schedule != null )
{
string errorMessage;
if ( !scheduleService.CanDelete( schedule, out errorMessage ) )
{
mdGridWarning.Show( errorMessage, ModalAlertType.Information );
return;
}
scheduleService.Delete( schedule );
rockContext.SaveChanges();
}
BindGrid();
}
示例4: btnSave_Click
/// <summary>
/// Handles the Click event of the btnSave control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnSave_Click( object sender, EventArgs e )
{
EventItemOccurrence eventItemOccurrence = null;
using ( var rockContext = new RockContext() )
{
bool newItem = false;
var eventItemOccurrenceService = new EventItemOccurrenceService( rockContext );
var eventItemOccurrenceGroupMapService = new EventItemOccurrenceGroupMapService( rockContext );
var registrationInstanceService = new RegistrationInstanceService( rockContext );
var scheduleService = new ScheduleService( rockContext );
int eventItemOccurrenceId = hfEventItemOccurrenceId.ValueAsInt();
if ( eventItemOccurrenceId != 0 )
{
eventItemOccurrence = eventItemOccurrenceService
.Queryable( "Linkages" )
.Where( i => i.Id == eventItemOccurrenceId )
.FirstOrDefault();
}
if ( eventItemOccurrence == null )
{
newItem = true;
eventItemOccurrence = new EventItemOccurrence{ EventItemId = PageParameter("EventItemId").AsInteger() };
eventItemOccurrenceService.Add( eventItemOccurrence );
}
int? newCampusId = ddlCampus.SelectedValueAsInt();
if ( eventItemOccurrence.CampusId != newCampusId )
{
eventItemOccurrence.CampusId = newCampusId;
if ( newCampusId.HasValue )
{
var campus = new CampusService( rockContext ).Get( newCampusId.Value );
eventItemOccurrence.Campus = campus;
}
else
{
eventItemOccurrence.Campus = null;
}
}
eventItemOccurrence.Location = tbLocation.Text;
string iCalendarContent = sbSchedule.iCalendarContent;
var calEvent = ScheduleICalHelper.GetCalenderEvent( iCalendarContent );
if ( calEvent != null && calEvent.DTStart != null )
{
if ( eventItemOccurrence.Schedule == null )
{
eventItemOccurrence.Schedule = new Schedule();
}
eventItemOccurrence.Schedule.iCalendarContent = iCalendarContent;
}
else
{
if ( eventItemOccurrence.ScheduleId.HasValue )
{
var oldSchedule = scheduleService.Get( eventItemOccurrence.ScheduleId.Value );
if ( oldSchedule != null )
{
scheduleService.Delete( oldSchedule );
}
}
}
if ( !eventItemOccurrence.ContactPersonAliasId.Equals( ppContact.PersonAliasId ))
{
PersonAlias personAlias = null;
eventItemOccurrence.ContactPersonAliasId = ppContact.PersonAliasId;
if ( eventItemOccurrence.ContactPersonAliasId.HasValue )
{
personAlias = new PersonAliasService( rockContext ).Get( eventItemOccurrence.ContactPersonAliasId.Value );
}
if ( personAlias != null )
{
eventItemOccurrence.ContactPersonAlias = personAlias;
}
}
eventItemOccurrence.ContactPhone = PhoneNumber.FormattedNumber( PhoneNumber.DefaultCountryCode(), pnPhone.Number );
eventItemOccurrence.ContactEmail = tbEmail.Text;
eventItemOccurrence.Note = htmlOccurrenceNote.Text;
// Remove any linkage no longer in UI
Guid uiLinkageGuid = LinkageState != null ? LinkageState.Guid : Guid.Empty;
foreach( var linkage in eventItemOccurrence.Linkages.Where( l => !l.Guid.Equals(uiLinkageGuid)).ToList())
{
eventItemOccurrence.Linkages.Remove( linkage );
eventItemOccurrenceGroupMapService.Delete( linkage );
}
// Add/Update linkage in UI
//.........这里部分代码省略.........
示例5: btnSave_Click
/// <summary>
/// Handles the Click event of the btnSave control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
protected void btnSave_Click( object sender, EventArgs e )
{
Metric metric;
var rockContext = new RockContext();
MetricService metricService = new MetricService( rockContext );
MetricCategoryService metricCategoryService = new MetricCategoryService( rockContext );
MetricValueService metricValueService = new MetricValueService( rockContext );
bool deleteValuesOnSave = sender == btnDeleteValuesAndSave;
int metricId = hfMetricId.Value.AsInteger();
if ( metricId == 0 )
{
metric = new Metric();
}
else
{
metric = metricService.Get( metricId );
}
metric.Title = tbTitle.Text;
metric.Subtitle = tbSubtitle.Text;
metric.Description = tbDescription.Text;
metric.IconCssClass = tbIconCssClass.Text;
metric.SourceValueTypeId = ddlSourceType.SelectedValueAsId();
metric.XAxisLabel = tbXAxisLabel.Text;
metric.YAxisLabel = tbYAxisLabel.Text;
metric.IsCumulative = cbIsCumulative.Checked;
var origEntityType = metric.EntityTypeId.HasValue ? EntityTypeCache.Read( metric.EntityTypeId.Value ) : null;
var newEntityType = etpEntityType.SelectedEntityTypeId.HasValue ? EntityTypeCache.Read( etpEntityType.SelectedEntityTypeId.Value ) : null;
if ( origEntityType != null && !deleteValuesOnSave )
{
if ( newEntityType == null || newEntityType.Id != origEntityType.Id )
{
// if the EntityTypeId of this metric has changed to NULL or to another EntityType, warn about the EntityId values being wrong
bool hasEntityValues = metricValueService.Queryable().Any( a => a.MetricId == metric.Id && a.EntityId.HasValue );
if ( hasEntityValues )
{
nbEntityTypeChanged.Text = string.Format(
"Warning: You can't change the series partition to {0} when there are values associated with {1}. Do you want to delete existing values?",
newEntityType != null ? newEntityType.FriendlyName : "<none>",
origEntityType.FriendlyName );
mdEntityTypeChanged.Show();
nbEntityTypeChanged.Visible = true;
return;
}
}
}
metric.EntityTypeId = etpEntityType.SelectedEntityTypeId;
int sourceTypeDataView = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.METRIC_SOURCE_VALUE_TYPE_DATAVIEW.AsGuid() ).Id;
int sourceTypeSQL = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.METRIC_SOURCE_VALUE_TYPE_SQL.AsGuid() ).Id;
var personService = new PersonService( rockContext );
var metricChampionPerson = personService.Get( ppMetricChampionPerson.SelectedValue ?? 0 );
metric.MetricChampionPersonAliasId = metricChampionPerson != null ? metricChampionPerson.PrimaryAliasId : null;
var adminPerson = personService.Get( ppAdminPerson.SelectedValue ?? 0 );
metric.AdminPersonAliasId = adminPerson != null ? adminPerson.PrimaryAliasId : null;
if ( metric.SourceValueTypeId == sourceTypeSQL )
{
metric.SourceSql = ceSourceSql.Text;
}
else
{
metric.SourceSql = string.Empty;
}
if ( metric.SourceValueTypeId == sourceTypeDataView )
{
metric.DataViewId = ddlDataView.SelectedValueAsId();
}
else
{
metric.DataViewId = null;
}
var scheduleSelectionType = rblScheduleSelect.SelectedValueAsEnum<ScheduleSelectionType>();
if ( scheduleSelectionType == ScheduleSelectionType.NamedSchedule )
{
metric.ScheduleId = ddlSchedule.SelectedValueAsId();
}
else
{
metric.ScheduleId = hfUniqueScheduleId.ValueAsInt();
}
if ( !Page.IsValid )
{
return;
}
//.........这里部分代码省略.........
示例6: btnSave_Click
/// <summary>
/// Handles the Click event of the btnSave control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnSave_Click( object sender, EventArgs e )
{
using ( new UnitOfWorkScope() )
{
GroupLocationService groupLocationService = new GroupLocationService();
ScheduleService scheduleService = new ScheduleService();
RockTransactionScope.WrapTransaction( () =>
{
var gridViewRows = gGroupLocationSchedule.Rows;
foreach ( GridViewRow row in gridViewRows.OfType<GridViewRow>() )
{
int groupLocationId = int.Parse( gGroupLocationSchedule.DataKeys[row.RowIndex].Value as string );
GroupLocation groupLocation = groupLocationService.Get( groupLocationId );
if ( groupLocation != null )
{
foreach ( var fieldCell in row.Cells.OfType<DataControlFieldCell>() )
{
CheckBoxEditableField checkBoxTemplateField = fieldCell.ContainingField as CheckBoxEditableField;
if ( checkBoxTemplateField != null )
{
CheckBox checkBox = fieldCell.Controls[0] as CheckBox;
string dataField = ( fieldCell.ContainingField as CheckBoxEditableField ).DataField;
int scheduleId = int.Parse( dataField.Replace( "scheduleField_", string.Empty ) );
// update GroupLocationSchedule depending on if the Schedule is Checked or not
if ( checkBox.Checked )
{
// This schedule is selected, so if GroupLocationSchedule doesn't already have this schedule, add it
if ( !groupLocation.Schedules.Any( a => a.Id == scheduleId ) )
{
var schedule = scheduleService.Get( scheduleId );
groupLocation.Schedules.Add( schedule );
}
}
else
{
// This schedule is not selected, so if GroupLocationSchedule has this schedule, delete it
if ( groupLocation.Schedules.Any( a => a.Id == scheduleId ) )
{
groupLocation.Schedules.Remove( groupLocation.Schedules.FirstOrDefault( a => a.Id == scheduleId ) );
}
}
}
}
groupLocationService.Save( groupLocation, this.CurrentPersonId );
}
}
} );
}
NavigateToParentPage();
}
示例7: btnSave_Click
/// <summary>
/// Handles the Click event of the btnSave control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnSave_Click( object sender, EventArgs e )
{
Schedule schedule;
var rockContext = new RockContext();
ScheduleService scheduleService = new ScheduleService( rockContext );
int scheduleId = int.Parse( hfScheduleId.Value );
if ( scheduleId == 0 )
{
schedule = new Schedule();
scheduleService.Add( schedule );
}
else
{
schedule = scheduleService.Get( scheduleId );
}
schedule.Name = tbScheduleName.Text;
schedule.Description = tbScheduleDescription.Text;
schedule.iCalendarContent = sbSchedule.iCalendarContent;
schedule.CategoryId = cpCategory.SelectedValueAsInt();
int offsetMins = int.MinValue;
if ( int.TryParse( nbStartOffset.Text, out offsetMins ) )
{
schedule.CheckInStartOffsetMinutes = offsetMins;
}
else
{
schedule.CheckInStartOffsetMinutes = null;
}
offsetMins = int.MinValue;
if ( int.TryParse( nbEndOffset.Text, out offsetMins ) )
{
schedule.CheckInEndOffsetMinutes = offsetMins;
}
else
{
schedule.CheckInEndOffsetMinutes = null;
}
if ( !schedule.IsValid )
{
// Controls will render the error messages
return;
}
rockContext.SaveChanges();
var qryParams = new Dictionary<string, string>();
qryParams["ScheduleId"] = schedule.Id.ToString();
NavigateToPage( RockPage.Guid, qryParams );
}
示例8: AddGroups
/// <summary>
/// Handles adding groups from the given XML element snippet.
/// </summary>
/// <param name="elemGroups">The elem groups.</param>
/// <param name="rockContext">The rock context.</param>
/// <exception cref="System.NotSupportedException"></exception>
private void AddGroups( XElement elemGroups, RockContext rockContext )
{
// Add groups
if ( elemGroups == null )
{
return;
}
GroupService groupService = new GroupService( rockContext );
DefinedTypeCache smallGroupTopicType = DefinedTypeCache.Read( Rock.SystemGuid.DefinedType.SMALL_GROUP_TOPIC.AsGuid() );
// Next create the group along with its members.
foreach ( var elemGroup in elemGroups.Elements( "group" ) )
{
Guid guid = elemGroup.Attribute( "guid" ).Value.Trim().AsGuid();
string type = elemGroup.Attribute( "type" ).Value;
Group group = new Group()
{
Guid = guid,
Name = elemGroup.Attribute( "name" ).Value.Trim(),
IsActive = true,
IsPublic = true
};
// skip any where there is no group type given -- they are invalid entries.
if ( string.IsNullOrEmpty( elemGroup.Attribute( "type" ).Value.Trim() ) )
{
return;
}
int? roleId;
GroupTypeCache groupType;
switch ( elemGroup.Attribute( "type" ).Value.Trim() )
{
case "serving":
groupType = GroupTypeCache.Read( Rock.SystemGuid.GroupType.GROUPTYPE_SERVING_TEAM.AsGuid() );
group.GroupTypeId = groupType.Id;
roleId = groupType.DefaultGroupRoleId;
break;
case "smallgroup":
groupType = GroupTypeCache.Read( Rock.SystemGuid.GroupType.GROUPTYPE_SMALL_GROUP.AsGuid() );
group.GroupTypeId = groupType.Id;
roleId = groupType.DefaultGroupRoleId;
break;
default:
throw new NotSupportedException( string.Format( "unknown group type {0}", elemGroup.Attribute( "type" ).Value.Trim() ) );
}
if ( elemGroup.Attribute( "description" ) != null )
{
group.Description = elemGroup.Attribute( "description" ).Value;
}
if ( elemGroup.Attribute( "parentGroupGuid" ) != null )
{
var parentGroup = groupService.Get( elemGroup.Attribute( "parentGroupGuid" ).Value.AsGuid() );
if ( parentGroup != null )
{
group.ParentGroupId = parentGroup.Id;
}
}
// Set the group's meeting location
if ( elemGroup.Attribute( "meetsAtHomeOfFamily" ) != null )
{
int meetingLocationValueId = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.GROUP_LOCATION_TYPE_MEETING_LOCATION.AsGuid() ).Id;
var groupLocation = new GroupLocation()
{
IsMappedLocation = false,
IsMailingLocation = false,
GroupLocationTypeValueId = meetingLocationValueId,
LocationId = _familyLocationDictionary[elemGroup.Attribute( "meetsAtHomeOfFamily" ).Value.AsGuid()],
};
// Set the group location's GroupMemberPersonId if given (required?)
if ( elemGroup.Attribute( "meetsAtHomeOfPerson" ) != null )
{
groupLocation.GroupMemberPersonAliasId = _peopleAliasDictionary[elemGroup.Attribute( "meetsAtHomeOfPerson" ).Value.AsGuid()];
}
group.GroupLocations.Add( groupLocation );
}
group.LoadAttributes( rockContext );
// Set the study topic
if ( elemGroup.Attribute( "studyTopic" ) != null )
{
var topic = elemGroup.Attribute( "studyTopic" ).Value;
DefinedValue smallGroupTopicDefinedValue = _smallGroupTopicDefinedType.DefinedValues.FirstOrDefault( a => a.Value == topic );
// add it as new if we didn't find it.
if ( smallGroupTopicDefinedValue == null )
{
//.........这里部分代码省略.........
示例9: AddGroups
/// <summary>
/// Handles adding groups from the given XML element snippet.
/// </summary>
/// <param name="elemGroups">The elem groups.</param>
/// <param name="rockContext">The rock context.</param>
/// <exception cref="System.NotSupportedException"></exception>
private void AddGroups( XElement elemGroups, RockContext rockContext )
{
// Add groups
if ( elemGroups == null )
{
return;
}
GroupService groupService = new GroupService( rockContext );
// Next create the group along with its members.
foreach ( var elemGroup in elemGroups.Elements( "group" ) )
{
Guid guid = elemGroup.Attribute( "guid" ).Value.Trim().AsGuid();
string type = elemGroup.Attribute( "type" ).Value;
Group group = new Group()
{
Guid = guid,
Name = elemGroup.Attribute( "name" ).Value.Trim()
};
// skip any where there is no group type given -- they are invalid entries.
if ( string.IsNullOrEmpty( elemGroup.Attribute( "type" ).Value.Trim() ) )
{
return;
}
int? roleId;
GroupTypeCache groupType;
switch ( elemGroup.Attribute( "type" ).Value.Trim() )
{
case "serving":
groupType = GroupTypeCache.Read( Rock.SystemGuid.GroupType.GROUPTYPE_SERVING_TEAM.AsGuid() );
group.GroupTypeId = groupType.Id;
roleId = groupType.DefaultGroupRoleId;
break;
case "smallgroup":
groupType = GroupTypeCache.Read( Rock.SystemGuid.GroupType.GROUPTYPE_SMALL_GROUP.AsGuid() );
group.GroupTypeId = groupType.Id;
roleId = groupType.DefaultGroupRoleId;
break;
default:
throw new NotSupportedException( string.Format( "unknown group type {0}", elemGroup.Attribute( "type" ).Value.Trim() ) );
}
if ( elemGroup.Attribute( "description" ) != null )
{
group.Description = elemGroup.Attribute( "description" ).Value;
}
if ( elemGroup.Attribute( "parentGroupGuid" ) != null )
{
var parentGroup = groupService.Get( elemGroup.Attribute( "parentGroupGuid" ).Value.AsGuid() );
group.ParentGroupId = parentGroup.Id;
}
// Set the group's meeting location
if ( elemGroup.Attribute( "meetsAtHomeOfFamily" ) != null )
{
int meetingLocationValueId = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.GROUP_LOCATION_TYPE_MEETING_LOCATION.AsGuid() ).Id;
var groupLocation = new GroupLocation()
{
IsMappedLocation = false,
IsMailingLocation = false,
GroupLocationTypeValueId = meetingLocationValueId,
LocationId = _familyLocationDictionary[elemGroup.Attribute( "meetsAtHomeOfFamily" ).Value.AsGuid()],
};
// Set the group location's GroupMemberPersonId if given (required?)
if ( elemGroup.Attribute( "meetsAtHomeOfPerson" ) != null )
{
groupLocation.GroupMemberPersonId = _peopleDictionary[elemGroup.Attribute( "meetsAtHomeOfPerson" ).Value.AsGuid()];
}
group.GroupLocations.Add( groupLocation );
}
group.LoadAttributes( rockContext );
// Set the study topic
if ( elemGroup.Attribute( "studyTopic" ) != null )
{
group.SetAttributeValue( "StudyTopic", elemGroup.Attribute( "studyTopic" ).Value );
}
// Set the meeting time
if ( elemGroup.Attribute( "meetingTime" ) != null )
{
group.SetAttributeValue( "MeetingTime", elemGroup.Attribute( "meetingTime" ).Value );
}
// Add each person as a member
foreach ( var elemPerson in elemGroup.Elements( "person" ) )
{
//.........这里部分代码省略.........
示例10: btnEdit_Click
/// <summary>
/// Handles the Click event of the btnEdit control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnEdit_Click( object sender, EventArgs e )
{
var service = new ScheduleService( new RockContext() );
var item = service.Get( int.Parse( hfScheduleId.Value ) );
ShowEditDetails( item );
}
示例11: gGroupLocationSchedule_RowDataBound
/// <summary>
/// Handles the RowDataBound event of the gGroupLocationSchedule control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="GridViewRowEventArgs"/> instance containing the event data.</param>
protected void gGroupLocationSchedule_RowDataBound( object sender, GridViewRowEventArgs e )
{
// add tooltip to header columns
if ( e.Row.RowType == DataControlRowType.Header )
{
var scheduleService = new ScheduleService( new RockContext() );
foreach ( var cell in e.Row.Cells.OfType<DataControlFieldCell>() )
{
if ( cell.ContainingField is CheckBoxEditableField )
{
CheckBoxEditableField checkBoxEditableField = cell.ContainingField as CheckBoxEditableField;
int scheduleId = int.Parse( checkBoxEditableField.DataField.Replace( "scheduleField_", string.Empty ) );
var schedule = scheduleService.Get( scheduleId );
if ( schedule != null )
{
cell.Attributes["title"] = schedule.ToString();
}
}
}
}
}
示例12: btnCancel_Click
/// <summary>
/// Handles the Click event of the btnCancel control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnCancel_Click( object sender, EventArgs e )
{
if ( hfScheduleId.Value.Equals( "0" ) )
{
// Cancelling on Add. Return to tree view with parent category selected
var qryParams = new Dictionary<string, string>();
string parentCategoryId = PageParameter( "parentCategoryId" );
if ( !string.IsNullOrWhiteSpace( parentCategoryId ) )
{
qryParams["CategoryId"] = parentCategoryId;
}
NavigateToPage( RockPage.Guid, qryParams );
}
else
{
// Cancelling on Edit. Return to Details
var service = new ScheduleService();
var item = service.Get( int.Parse( hfScheduleId.Value ) );
ShowReadonlyDetails( item );
}
}
示例13: gSchedules_Delete
/// <summary>
/// Handles the Delete event of the gSchedules control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="RowEventArgs" /> instance containing the event data.</param>
protected void gSchedules_Delete( object sender, RowEventArgs e )
{
RockTransactionScope.WrapTransaction( () =>
{
ScheduleService scheduleService = new ScheduleService();
Schedule schedule = scheduleService.Get( (int)e.RowKeyValue );
if ( schedule != null )
{
string errorMessage;
if ( !scheduleService.CanDelete( schedule, out errorMessage ) )
{
mdGridWarning.Show( errorMessage, ModalAlertType.Information );
return;
}
scheduleService.Delete( schedule, CurrentPersonId );
scheduleService.Save( schedule, CurrentPersonId );
}
} );
BindGrid();
}
示例14: btnSave_Click
/// <summary>
/// Handles the Click event of the btnSave control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnSave_Click( object sender, EventArgs e )
{
Group group;
bool wasSecurityRole = false;
RockContext rockContext = new RockContext();
GroupService groupService = new GroupService( rockContext );
GroupLocationService groupLocationService = new GroupLocationService( rockContext );
ScheduleService scheduleService = new ScheduleService( rockContext );
AttributeService attributeService = new AttributeService( rockContext );
AttributeQualifierService attributeQualifierService = new AttributeQualifierService( rockContext );
CategoryService categoryService = new CategoryService( rockContext );
if ( ( ddlGroupType.SelectedValueAsInt() ?? 0 ) == 0 )
{
ddlGroupType.ShowErrorMessage( Rock.Constants.WarningMessage.CannotBeBlank( GroupType.FriendlyTypeName ) );
return;
}
int groupId = int.Parse( hfGroupId.Value );
if ( groupId == 0 )
{
group = new Group();
group.IsSystem = false;
group.Name = string.Empty;
}
else
{
group = groupService.Queryable( "Schedule,GroupLocations.Schedules" ).Where( g => g.Id == groupId ).FirstOrDefault();
wasSecurityRole = group.IsSecurityRole;
var selectedLocations = GroupLocationsState.Select( l => l.Guid );
foreach ( var groupLocation in group.GroupLocations.Where( l => !selectedLocations.Contains( l.Guid ) ).ToList() )
{
group.GroupLocations.Remove( groupLocation );
groupLocationService.Delete( groupLocation );
}
}
foreach ( var groupLocationState in GroupLocationsState )
{
GroupLocation groupLocation = group.GroupLocations.Where( l => l.Guid == groupLocationState.Guid ).FirstOrDefault();
if ( groupLocation == null )
{
groupLocation = new GroupLocation();
group.GroupLocations.Add( groupLocation );
}
else
{
groupLocationState.Id = groupLocation.Id;
groupLocationState.Guid = groupLocation.Guid;
var selectedSchedules = groupLocationState.Schedules.Select( s => s.Guid ).ToList();
foreach( var schedule in groupLocation.Schedules.Where( s => !selectedSchedules.Contains( s.Guid)).ToList())
{
groupLocation.Schedules.Remove( schedule );
}
}
groupLocation.CopyPropertiesFrom( groupLocationState );
var existingSchedules = groupLocation.Schedules.Select( s => s.Guid ).ToList();
foreach ( var scheduleState in groupLocationState.Schedules.Where( s => !existingSchedules.Contains( s.Guid )).ToList())
{
var schedule = scheduleService.Get( scheduleState.Guid );
if ( schedule != null )
{
groupLocation.Schedules.Add( schedule );
}
}
}
group.Name = tbName.Text;
group.Description = tbDescription.Text;
group.CampusId = ddlCampus.SelectedValue.Equals( None.IdValue ) ? (int?)null : int.Parse( ddlCampus.SelectedValue );
group.GroupTypeId = int.Parse( ddlGroupType.SelectedValue );
group.ParentGroupId = gpParentGroup.SelectedValue.Equals( None.IdValue ) ? (int?)null : int.Parse( gpParentGroup.SelectedValue );
group.IsSecurityRole = cbIsSecurityRole.Checked;
group.IsActive = cbIsActive.Checked;
string iCalendarContent = string.Empty;
// If unique schedule option was selected, but a schedule was not defined, set option to 'None'
var scheduleType = rblScheduleSelect.SelectedValueAsEnum<ScheduleType>( ScheduleType.None );
if ( scheduleType == ScheduleType.Custom )
{
iCalendarContent = sbSchedule.iCalendarContent;
var calEvent = ScheduleICalHelper.GetCalenderEvent( iCalendarContent );
if ( calEvent == null || calEvent.DTStart == null )
{
scheduleType = ScheduleType.None;
}
}
//.........这里部分代码省略.........
示例15: btnDelete_Click
/// <summary>
/// Handles the Click event of the btnDelete control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnDelete_Click( object sender, EventArgs e )
{
int? parentGroupId = null;
RockContext rockContext = new RockContext();
GroupService groupService = new GroupService( rockContext );
AuthService authService = new AuthService( rockContext );
Group group = groupService.Get( int.Parse( hfGroupId.Value ) );
if ( group != null )
{
if ( !group.IsAuthorized( Authorization.EDIT, this.CurrentPerson ) )
{
mdDeleteWarning.Show( "You are not authorized to delete this group.", ModalAlertType.Information );
return;
}
parentGroupId = group.ParentGroupId;
string errorMessage;
if ( !groupService.CanDelete( group, out errorMessage ) )
{
mdDeleteWarning.Show( errorMessage, ModalAlertType.Information );
return;
}
bool isSecurityRoleGroup = group.IsSecurityRole || group.GroupType.Guid.Equals( Rock.SystemGuid.GroupType.GROUPTYPE_SECURITY_ROLE.AsGuid() );
if ( isSecurityRoleGroup )
{
Rock.Security.Role.Flush( group.Id );
foreach ( var auth in authService.Queryable().Where( a => a.GroupId == group.Id ).ToList() )
{
authService.Delete( auth );
}
}
// If group has a non-named schedule, delete the schedule record.
if ( group.ScheduleId.HasValue )
{
var scheduleService = new ScheduleService( rockContext );
var schedule = scheduleService.Get( group.ScheduleId.Value );
if ( schedule != null && schedule.ScheduleType != ScheduleType.Named )
{
scheduleService.Delete(schedule);
}
}
groupService.Delete( group );
rockContext.SaveChanges();
if ( isSecurityRoleGroup )
{
Rock.Security.Authorization.Flush();
}
}
// reload page, selecting the deleted group's parent
var qryParams = new Dictionary<string, string>();
if ( parentGroupId != null )
{
qryParams["GroupId"] = parentGroupId.ToString();
}
qryParams["ExpandedIds"] = PageParameter( "ExpandedIds" );
NavigateToPage( RockPage.Guid, qryParams );
}