private void ShowEdit(bool setValues) { pnlMenu.Controls.Clear(); pnlContent.Style["box-shadow"] = "0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)"; pnlContent.CssClass = "col-md-9 widgityDestination"; RegisterDragDropScript(); validationSummary = new ValidationSummary { HeaderText = "Please correct the following", CssClass = "alert alert-validation", ID = this.ID + "_validation", ValidationGroup = this.ID + "ValidationGroup" }; pnlMenu.Controls.Add(validationSummary); var currentEditWidgity = Widgities.Where(w => w.Guid == CurrentEditWidgity).FirstOrDefault(); if (currentEditWidgity != null) //Build Widigty { ShowWidigtyEdit(setValues); } else { ShowWidgityTypes(); } }
private void BtnDeleteWidgity_Click(object sender, EventArgs e) { var widgity = Widgities.Where(w => w.Guid == CurrentEditWidgity).FirstOrDefault(); Widgities.Remove(widgity); SaveState(); CurrentEditWidgity = null; ShowWidgities(true); }
private void MoveWidgity(Guid widgityGuid, int order) { var widgity = Widgities.Where(w => w.Guid == widgityGuid).FirstOrDefault(); if (widgity != null) { Widgities.Remove(widgity); Widgities.Insert(order, widgity); } SaveState(); ShowWidgities(true); }
private void DeleteWidgityItem(Guid widgityItemGuid) { var widgity = Widgities.Where(w => w.Guid == CurrentEditWidgity.Value).FirstOrDefault(); var widgityItems = WidgityItems[CurrentEditWidgity.Value]; var widgityItem = widgityItems.Where(w => w.Guid == widgityItemGuid).FirstOrDefault(); widgityItems.Remove(widgityItem); Rock.Attribute.Helper.GetEditValues(phAttributesEdit, widgity); UpdateWidgityItemAttributes(widgity); SaveState(); GetExpandedPanels(); ShowWidgities(true); }
private void MoveWidgityItem(Guid widgityItemGuid, int order) { var widgity = Widgities.Where(w => w.Guid == CurrentEditWidgity.Value).FirstOrDefault(); var widgityItems = WidgityItems[CurrentEditWidgity.Value]; var widgityItem = widgityItems.Where(w => w.Guid == widgityItemGuid).FirstOrDefault(); if (widgityItems != null) { widgityItems.Remove(widgityItem); widgityItems.Insert(order, widgityItem); } UpdateWidgityItemAttributes(widgity); SaveState(); GetExpandedPanels(); ShowWidgities(true); }
private void EditWidgity(Guid widgityGuid) { if (CurrentEditWidgity.HasValue) { return; } var widgity = Widgities.Where(w => w.Guid == widgityGuid).FirstOrDefault(); if (widgity == null) { return; } CurrentEditWidgity = widgityGuid; CurrentWidgityItems = WidgityItems[widgityGuid]; //Store value for undoing later ShowWidgities(true); }
private void BtnEditSave_Click(object sender, EventArgs e) { var widgityGuid = CurrentEditWidgity.Value; var widgity = Widgities.Where(w => w.Guid == widgityGuid).FirstOrDefault(); if (widgity == null) { return; } Rock.Attribute.Helper.GetEditValues(phAttributesEdit, widgity); UpdateWidgityItemAttributes(widgity); SaveState(); CurrentEditWidgity = null; CurrentWidgityItems = null; ShowWidgities(true); }
private void BtnAddButton_Click(object sender, EventArgs e) { var widgity = Widgities.Where(w => w.Guid == CurrentEditWidgity).FirstOrDefault(); Rock.Attribute.Helper.GetEditValues(phAttributesEdit, widgity); var widgityItem = new WidgityItem { Guid = Guid.NewGuid(), WidgityId = widgity.Id, WidgityTypeId = widgity.WidgityTypeId }; widgityItem.LoadAttributes(); var widgityItems = WidgityItems[widgity.Guid]; widgityItems.Add(widgityItem); UpdateWidgityItemAttributes(widgity); SaveState(); GetExpandedPanels(); ExpandedPanels.Add(widgityItem.Guid); ShowWidgities(true); }
private void AddWidgity(int widgityTypeId, int order) { RockContext rockContext = new RockContext(); WidgityTypeService widgityTypeService = new WidgityTypeService(rockContext); var widgityType = widgityTypeService.Get(widgityTypeId); if (widgityType != null) { var widgity = new Widgity { WidgityTypeId = widgityTypeId, Guid = Guid.NewGuid(), EntityGuid = EntityGuid, EntityTypeId = EntityTypeId }; WidgityItems[widgity.Guid] = new List <WidgityItem>(); widgity.LoadAttributes(); Widgities.Insert(order, widgity); SaveState(); EditWidgity(widgity.Guid); } }
public void Publish() { if (Page.IsValid) { var widgityRefs = Widgities; var widgityRefIds = widgityRefs.Select(w => w.Id).ToList(); RockContext rockContext = new RockContext(); rockContext.WrapTransaction(() => { WidgityService widgityService = new WidgityService(rockContext); var toRemove = widgityService.Queryable("WidgityType") .Where(w => w.EntityGuid == EntityGuid && w.EntityTypeId == EntityTypeId) .Where(w => !widgityRefIds.Contains(w.Id)) .ToList(); widgityService.DeleteRange(toRemove); List <Widgity> widgities = new List <Widgity>(); foreach (var widgityRef in widgityRefs) { Widgity widgity = widgityService.Get(widgityRef.Id); if (widgity == null) { widgity = widgityRef; widgity.EntityTypeId = EntityTypeId; widgity.EntityGuid = EntityGuid; widgityService.Add(widgity); rockContext.SaveChanges(); } else { widgity.LoadAttributes(); } widgities.Add(widgity); widgity.AttributeValues = widgityRef.AttributeValues; widgity.Order = widgities.IndexOf(widgity); } rockContext.SaveChanges(); foreach (var widgity in widgities) { widgity.SaveAttributeValues(); } //WidgityItems WidgityItemService widgityItemService = new WidgityItemService(rockContext); foreach (var widgity in widgities) { var storedWidgityItems = WidgityItems[widgity.Guid]; var storedWidgityItemGuids = storedWidgityItems.Select(wi => wi.Guid).ToList(); var databaseWidgityItems = widgityItemService.Queryable().Where(wi => wi.WidgityId == widgity.Id).ToList(); //Remove deleted items var itemsToRemove = databaseWidgityItems.Where(wi => !storedWidgityItemGuids.Contains(wi.Guid)).ToList(); widgityItemService.DeleteRange(itemsToRemove); foreach (var item in storedWidgityItems) { if (item.Id == 0) // new { item.Order = storedWidgityItems.IndexOf(item); item.WidgityId = widgity.Id; item.WidgityTypeId = widgity.WidgityTypeId; widgityItemService.Add(item); rockContext.SaveChanges(); item.SaveAttributeValues(); } else // update { var databaseItem = databaseWidgityItems.Where(wi => wi.Guid == item.Guid).FirstOrDefault(); databaseItem.Order = storedWidgityItems.IndexOf(item); databaseItem.LoadAttributes(); databaseItem.AttributeValues = item.AttributeValues; databaseItem.SaveAttributeValues(); rockContext.SaveChanges(); } } } }); } WidgityCache.Clear(); WidgityItemCache.Clear(); HideSettings(); EventHandler <WidgityPubArgs> handler = WidgityPublished; var args = new WidgityPubArgs(); args.WidgityIds = Widgities.Select(w => w.Id).ToList(); handler?.Invoke(this, args); }
private void ShowWidigtyEdit(bool setValues) { var widgityGuid = CurrentEditWidgity.Value; var widgity = Widgities.Where(w => w.Guid == widgityGuid).FirstOrDefault(); var widgityType = WidgityTypeCache.Get(widgity.WidgityTypeId); Literal ltName = new Literal { Text = string.Format("<h3>{0}</h3>", widgityType.Name) }; pnlMenu.Controls.Add(ltName); phAttributesEdit = new PlaceHolder { ID = this.ID + "_phAttributesEdit" }; pnlMenu.Controls.Add(phAttributesEdit); Rock.Attribute.Helper.AddEditControls(widgity, phAttributesEdit, setValues, this.ID + "ValidationGroup"); if (widgityType.HasItems) { BuildWidigityItemAttibutes(widgity, setValues); } HtmlGenericContainer hr = new HtmlGenericContainer("hr"); pnlMenu.Controls.Add(hr); BootstrapButton btnEditSave = new BootstrapButton { CssClass = "btn btn-primary", Text = "Save", ID = this.ID + "_btnEditSave", ValidationGroup = this.ID + "ValidationGroup" }; pnlMenu.Controls.Add(btnEditSave); btnEditSave.Click += BtnEditSave_Click; LinkButton btnEditCancel = new LinkButton { ID = this.ID + "_btnEditCancel", Text = "Cancel", CssClass = "btn btn-link", CausesValidation = false }; pnlMenu.Controls.Add(btnEditCancel); btnEditCancel.Click += BtnEditCancel_Click; LinkButton btnDeleteWidgity = new LinkButton { ID = this.ID + "_btnDeleteWidgity", Text = "Delete", CssClass = "btn btn-delete pull-right", CausesValidation = false }; pnlMenu.Controls.Add(btnDeleteWidgity); btnDeleteWidgity.Click += BtnDeleteWidgity_Click; }