public void AfterCreate() { if (!ItemsState.Any()) { ItemsState.Add(new SimpleSummaryItemState { Order = 1 }); ItemsState.Add(new SimpleSummaryItemState { Order = 2 }); } }
internal async Task LoadPostsAsync() { this.PostsState = ItemsState.Loading; this.PostsState = await PresenterExtensions.RefreshItemsAsync <PostPresenter, PostModel>(this.Posts, this.host.RunQueryAsync(new ThreadPostsQuery(this.Model.Id)), m => new PostPresenter(this.host) { Model = m }); this.CurrentPost = this.Posts.FirstOrDefault(); }
//linkList private void Add2ShowListFrom(ItemsState state, GameObject go) { if (state == ItemsState.Tail) { showItemGoLinkList.AddLast(go); } else if (state == ItemsState.Head) { showItemGoLinkList.AddFirst(go); } //Debug.LogError(showItemGoLinkList.Count); }
internal async Task LoadThreadsAsync() { var threadId = this.CurrentThread?.Model.Id; this.ThreadsState = ItemsState.Loading; this.ThreadsState = await PresenterExtensions.RefreshItemsAsync( this.Threads, this.host.RunQueryAsync(GetThreadsQuery()), m => new ThreadPresenter(this.host) { Model = m }); this.CurrentThread = this.Threads.FirstOrDefault(thread => thread.Model.Id == threadId) ?? this.Threads.FirstOrDefault(thread => thread.IsNew) ?? this.Threads.FirstOrDefault(); }
private void RemoveShowListFrom(ItemsState state) { if (showItemGoLinkList.Count <= 0) { return; } GameObject go = null; if (state == ItemsState.Tail) { go = showItemGoLinkList.Last.Value; showItemGoLinkList.RemoveLast(); } else if (state == ItemsState.Head) { go = showItemGoLinkList.First.Value; showItemGoLinkList.RemoveFirst(); } AddToResPool(go); //Debug.LogError(showItemGoLinkList.Count); }
/// <summary> /// Shows the item attributes. /// </summary> private void ShowItemAttributes() { var eventCalendarList = new List <int> { (_calendarId ?? 0) }; eventCalendarList.AddRange(cblCalendars.SelectedValuesAsInt); wpAttributes.Visible = false; phAttributes.Controls.Clear(); using (var rockContext = new RockContext()) { var eventCalendarService = new EventCalendarService(rockContext); foreach (int eventCalendarId in eventCalendarList.Distinct()) { EventCalendarItem eventCalendarItem = ItemsState.FirstOrDefault(i => i.EventCalendarId == eventCalendarId); if (eventCalendarItem == null) { eventCalendarItem = new EventCalendarItem(); eventCalendarItem.EventCalendarId = eventCalendarId; ItemsState.Add(eventCalendarItem); } eventCalendarItem.LoadAttributes(); if (eventCalendarItem.Attributes.Count > 0) { wpAttributes.Visible = true; phAttributes.Controls.Add(new LiteralControl(string.Format("<h3>{0}</h3>", eventCalendarService.Get(eventCalendarId).Name))); PlaceHolder phcalAttributes = new PlaceHolder(); Rock.Attribute.Helper.AddEditControls(eventCalendarItem, phAttributes, true, BlockValidationGroup); } } } }
public static void SetItemsState(DependencyObject obj, ItemsState value) { obj.SetValue(ItemsStateProperty, value); }
/// <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) { EventItem eventItem = null; using (var rockContext = new RockContext()) { var validationMessages = new List <string>(); var eventItemService = new EventItemService(rockContext); var eventCalendarItemService = new EventCalendarItemService(rockContext); var eventItemAudienceService = new EventItemAudienceService(rockContext); int eventItemId = hfEventItemId.ValueAsInt(); if (eventItemId != 0) { eventItem = eventItemService .Queryable("EventItemAudiences,EventItemOccurrences.Linkages,EventItemOccurrences") .Where(i => i.Id == eventItemId) .FirstOrDefault(); } if (eventItem == null) { eventItem = new EventItem(); eventItemService.Add(eventItem); } eventItem.Name = tbName.Text; eventItem.IsActive = cbIsActive.Checked; if (!eventItem.IsApproved && cbIsApproved.Checked) { eventItem.ApprovedByPersonAliasId = CurrentPersonAliasId; eventItem.ApprovedOnDateTime = RockDateTime.Now; } eventItem.IsApproved = cbIsApproved.Checked; if (!eventItem.IsApproved) { eventItem.ApprovedByPersonAliasId = null; eventItem.ApprovedByPersonAlias = null; eventItem.ApprovedOnDateTime = null; } eventItem.Description = htmlDescription.Text; eventItem.Summary = tbSummary.Text; eventItem.DetailsUrl = tbDetailUrl.Text; int?orphanedImageId = null; if (eventItem.PhotoId != imgupPhoto.BinaryFileId) { orphanedImageId = eventItem.PhotoId; eventItem.PhotoId = imgupPhoto.BinaryFileId; } // Remove any audiences that were removed in the UI foreach (var eventItemAudience in eventItem.EventItemAudiences.Where(r => !AudiencesState.Contains(r.DefinedValueId)).ToList()) { eventItem.EventItemAudiences.Remove(eventItemAudience); eventItemAudienceService.Delete(eventItemAudience); } // Add or Update audiences from the UI foreach (int audienceId in AudiencesState) { EventItemAudience eventItemAudience = eventItem.EventItemAudiences.Where(a => a.DefinedValueId == audienceId).FirstOrDefault(); if (eventItemAudience == null) { eventItemAudience = new EventItemAudience(); eventItemAudience.DefinedValueId = audienceId; eventItem.EventItemAudiences.Add(eventItemAudience); } } // remove any calendar items that removed in the UI var calendarIds = new List <int>(); calendarIds.AddRange(cblCalendars.SelectedValuesAsInt); var uiCalendarGuids = ItemsState.Where(i => calendarIds.Contains(i.EventCalendarId)).Select(a => a.Guid); foreach (var eventCalendarItem in eventItem.EventCalendarItems.Where(a => !uiCalendarGuids.Contains(a.Guid)).ToList()) { // Make sure user is authorized to remove calendar (they may not have seen every calendar due to security) if (UserCanEdit || eventCalendarItem.EventCalendar.IsAuthorized(Authorization.EDIT, CurrentPerson)) { eventItem.EventCalendarItems.Remove(eventCalendarItem); eventCalendarItemService.Delete(eventCalendarItem); } } // Add or Update calendar items from the UI foreach (var calendar in ItemsState.Where(i => calendarIds.Contains(i.EventCalendarId))) { var eventCalendarItem = eventItem.EventCalendarItems.Where(a => a.Guid == calendar.Guid).FirstOrDefault(); if (eventCalendarItem == null) { eventCalendarItem = new EventCalendarItem(); eventItem.EventCalendarItems.Add(eventCalendarItem); } eventCalendarItem.CopyPropertiesFrom(calendar); } if (!eventItem.EventCalendarItems.Any()) { validationMessages.Add("At least one calendar is required."); } if (!Page.IsValid) { return; } if (!eventItem.IsValid) { // Controls will render the error messages return; } if (validationMessages.Any()) { nbValidation.Text = "Please correct the following:<ul><li>" + validationMessages.AsDelimited("</li><li>") + "</li></ul>"; nbValidation.Visible = true; return; } // use WrapTransaction since SaveAttributeValues does it's own RockContext.SaveChanges() rockContext.WrapTransaction(() => { rockContext.SaveChanges(); foreach (EventCalendarItem eventCalendarItem in eventItem.EventCalendarItems) { eventCalendarItem.LoadAttributes(); Rock.Attribute.Helper.GetEditValues(phAttributes, eventCalendarItem); eventCalendarItem.SaveAttributeValues(); } SaveAttributes(new EventItemOccurrence().TypeId, "EventItemId", eventItem.Id.ToString(), EventOccurrenceAttributesState, rockContext); if (orphanedImageId.HasValue) { BinaryFileService binaryFileService = new BinaryFileService(rockContext); var binaryFile = binaryFileService.Get(orphanedImageId.Value); if (binaryFile != null) { // marked the old images as IsTemporary so they will get cleaned up later binaryFile.IsTemporary = true; rockContext.SaveChanges(); } } }); // Redirect back to same page so that item grid will show any attributes that were selected to show on grid var qryParams = new Dictionary <string, string>(); if (_calendarId.HasValue) { qryParams["EventCalendarId"] = _calendarId.Value.ToString(); } qryParams["EventItemId"] = eventItem.Id.ToString(); NavigateToPage(RockPage.Guid, qryParams); } }
protected override void Deserialize(XmlNode node) { base.Deserialize(node); PresentationDate = DateTime.MinValue; FlightDatesStart = DateTime.MinValue; FlightDatesEnd = DateTime.MinValue; foreach (XmlNode childNode in node.ChildNodes) { bool tempBool = false; DateTime tempDateTime; decimal tempDecimal = 0; switch (childNode.Name) { case "ShowAdvertiser": if (bool.TryParse(childNode.InnerText, out tempBool)) { ShowAdvertiser = tempBool; } break; case "ShowDecisionMaker": if (bool.TryParse(childNode.InnerText, out tempBool)) { ShowDecisionMaker = tempBool; } break; case "ShowPresentationDate": if (bool.TryParse(childNode.InnerText, out tempBool)) { ShowPresentationDate = tempBool; } break; case "ShowFlightDates": if (bool.TryParse(childNode.InnerText, out tempBool)) { ShowFlightDates = tempBool; } break; case "ShowMonthly": if (bool.TryParse(childNode.InnerText, out tempBool)) { ShowMonthly = tempBool; } break; case "ShowTotal": if (bool.TryParse(childNode.InnerText, out tempBool)) { ShowTotal = tempBool; } break; case "TableOutput": if (bool.TryParse(childNode.InnerText, out tempBool)) { TableOutput = tempBool; } break; case "SlideHeader": SlideHeader = childNode.InnerText; break; case "Advertiser": Advertiser = childNode.InnerText; break; case "DecisionMaker": DecisionMaker = childNode.InnerText; break; case "PresentationDate": if (DateTime.TryParse(childNode.InnerText, out tempDateTime)) { PresentationDate = tempDateTime; } break; case "FlightDatesStart": if (DateTime.TryParse(childNode.InnerText, out tempDateTime)) { FlightDatesStart = tempDateTime; } break; case "FlightDatesEnd": if (DateTime.TryParse(childNode.InnerText, out tempDateTime)) { FlightDatesEnd = tempDateTime; } break; case "MonthlyValue": if (Decimal.TryParse(childNode.InnerText, out tempDecimal)) { MonthlyValue = tempDecimal; } break; case "TotalValue": if (Decimal.TryParse(childNode.InnerText, out tempDecimal)) { TotalValue = tempDecimal; } break; case "Items": ItemsState.Clear(); foreach (XmlNode itemNode in childNode.ChildNodes) { var item = new SimpleSummaryItemState(); item.Deserialize(itemNode); ItemsState.Add(item); } ItemsState.Sort((x, y) => x.Order.CompareTo(y.Order)); break; case "ContractSettings": ContractSettings.Deserialize(childNode); break; } } }