public override void Delete() { if (this.ParentGroup != null) { //update ordering numbers //er komt gat in lijst: alles wat hoger is 1 plek naar beneden zetten string sql = String.Format("UPDATE DataItem SET OrderNumber = OrderNumber - 1 WHERE OrderNumber > {0} AND FK_Parent_Group = '{1}'", this.OrderNumber, this.ParentGroup.ID); DataBase.Get().Execute(sql); } else { //update ordering numbers //er komt gat in lijst: alles wat hoger is 1 plek naar beneden zetten string sql = String.Format("UPDATE DataItem SET OrderNumber = OrderNumber - 1 WHERE OrderNumber > {0} AND FK_Parent_Group IS NULL AND FK_Datacollection='{1}'", this.OrderNumber, this.DataCollection.ID); DataBase.Get().Execute(sql); } base.Delete(); UnpublishedItem.Set(this, "DataItem", ChangeStatusEnum.Deleted); }
//public void MoveItemsAndGroups(BaseDataObject dataObj, string oldParentId, string newParentId, int oldOrderingNumber, int newOrderingNumber) //{ // if (oldParentId != newParentId) // { // //versleping van ene groep naar andere // //in oude groep ontstaat een gat // //alle items met hoger volgnummer dan oude volgnummer, moeten 1 plek naar boven (volgnummer--)om dit gat op te vullen // if (oldParentId == "treeRoot") // { // //this.MoveRootItemsAndGroupsDown(oldOrderingNumber, null); // } // else // { // //dataObj.ParentGroup.MoveItemsAndGroupsDown(oldOrderingNumber, null); // } // //EN in nieuwe groep moet plaats worden gemaakt voor nieuwe item // //dus alle items met hoger volgnummer dan nieuwe volgnummer, moeten 1 plek naar beneden om gat te maken // if (newParentId == "treeRoot") // { // this.MoveRootItemsAndGroupsUp(newOrderingNumber, null); // dataObj.ParentGroup = null; // dataObj.OrderingNumber = newOrderingNumber.ToString("0000"); // } // else // { // DataGroup newParentGroup = BaseObject.GetById<DataGroup>(new Guid(newParentId)); // dataObj.ParentGroup = newParentGroup; // //newParentGroup.MoveItemsAndGroupsUp(newOrderingNumber, null); // dataObj.OrderingNumber = newParentGroup.OrderingNumber + "." + newOrderingNumber.ToString("0000"); // } // dataObj.Save(); // if (dataObj.GetType() == typeof(DataGroup)) // { // dataObj.UpdateSubOrderingNumbers(dataObj.OrderingNumber); // } // } // else if (oldParentId == newParentId && // oldOrderingNumber != newOrderingNumber) // { // //verslepen binnen dezelfde groep // if (newOrderingNumber > oldOrderingNumber) // { // //omlaag slepen (nieuwe nummer > oude nummer): er onstaat gat in lijst bij oude nummer (lager in lijst) // //en er moet plek worden gemaakt bij nieuwe nummer (hoger in lijst) // //Dus alle items die hoger zijn tot aan oude nummer moeten 1 plek omlaag om dit gat op te vullen // if (newParentId == "treeRoot") // { // //this.MoveRootItemsAndGroupsDown(oldOrderingNumber, newOrderingNumber); // dataObj.OrderingNumber = newOrderingNumber.ToString("0000"); // } // else // { // //dataObj.ParentGroup.MoveItemsAndGroupsDown(oldOrderingNumber, newOrderingNumber); // dataObj.OrderingNumber = dataObj.ParentGroup.OrderingNumber + "." + newOrderingNumber.ToString("0000"); // } // } // else // { // //omhoog slepen (nieuwe nummer < oude nummer): er moet plaats worden gemaakt in de lijst bij nieuwe nummer // //en gat = hoger in lijst // //Dus alle items die groter zijn dan nieuwe nummer tot aan oude nummer moeten 1 plek omhoog om plek te maken // if (newParentId == "treeRoot") // { // //this.MoveRootItemsAndGroupsUp(newOrderingNumber, oldOrderingNumber); // dataObj.OrderingNumber = newOrderingNumber.ToString("0000"); // } // else // { // //dataObj.ParentGroup.MoveItemsAndGroupsUp(newOrderingNumber, oldOrderingNumber); // dataObj.OrderingNumber = dataObj.ParentGroup.OrderingNumber + "." + newOrderingNumber.ToString("0000"); // } // } // dataObj.Save(); // if (dataObj.GetType() == typeof(DataGroup)) // { // dataObj.UpdateSubOrderingNumbers(dataObj.OrderingNumber); // } // } //} public override void Save() { if (IsNew && WebSessionHelper.CurrentLicense != null && WebSessionHelper.CurrentLicense.HasMaxNumberExceeded("DataCollection")) { throw new Exception("Kan niet opslaan: licentie heeft maximale aantal datacollecties (" + WebSessionHelper.CurrentLicense.MaxNumberOfDataCollections + ") overschreden."); } bool isNew = this.IsNew; if (LanguageCode == "none") { LanguageCode = ""; } base.Save(); if (isNew) { //automatisch mappings maken voor Fields foreach (DataField field in DataGroupFields) { //if (field.IsNew) //{ field.DataCollection = this; field.Save(); //field.MappingColumn = GetNewGroupMappingColumn(field); //} } foreach (DataField field in DataItemFields) { //if (field.IsNew) //{ field.DataCollection = this; field.Save(); //} //if (field.MappingColumn == null || field.MappingColumn == "") //{ // field.MappingColumn = GetNewItemMappingColumn(field); //} } } UnpublishedItem.Set(this, "DataCollection"); }
public override void Save() { base.ValidateGroupPath(); if (!IsNew) { //kijk of item naar andere groep is verhuisd DataGroup groupFromDB = DataGroup.GetById <DataGroup>(this.ID); Guid parentGroupIDFromDB = groupFromDB.ParentGroup != null ? groupFromDB.ParentGroup.ID : Guid.Empty; Guid parentGroupIDFromWebForm = this.ParentGroup != null ? this.ParentGroup.ID : Guid.Empty; if (parentGroupIDFromDB != parentGroupIDFromWebForm) { //verhuisd naar andere groep --> volgnummers updaten. group komt onderaan: if (this.ParentGroup != null) { this.OrderNumber = this.ParentGroup.GetMaxGroupOrderNumber() + 1; } else { //root this.OrderNumber = this.DataCollection.GetMaxGroupOrderNumber() + 1; } //er komt gat in lijst waar die vandaan kwam: alles wat hoger is 1 plek naar beneden zetten if (groupFromDB.ParentGroup != null) { string sql = String.Format("UPDATE DataGroup SET OrderNumber = OrderNumber - 1 WHERE OrderNumber > {0} AND FK_Parent_Group = '{1}'", groupFromDB.OrderNumber, groupFromDB.ParentGroup.ID); DataBase.Get().Execute(sql); } else { string sql = String.Format("UPDATE DataGroup SET OrderNumber = OrderNumber - 1 WHERE OrderNumber > {0} AND FK_Parent_Group IS NULL AND FK_Datacollection='{1}'", groupFromDB.OrderNumber, groupFromDB.DataCollection.ID); DataBase.Get().Execute(sql); } } } base.Save(); UnpublishedItem.Set(this, "DataGroup"); //Save(true); }
private static void PublishDependentPages(BaseModule module) { if (module.IsVisibleOnAllPages) { foreach (CmsPage page in SessionObject.CurrentSite.Pages) { UnpublishedItem.Set(page, "Page"); page.Publish(false); } } else if (module.IsVisibleOnAllPagesInLayout) { foreach (CmsPage page in module.Template.GetPages()) { UnpublishedItem.Set(page, "Page"); page.Publish(false); } } else { if (module.Page != null) { if (!module.Page.IsLoaded) { module.Page.Load(); } module.Page.Publish(false); } if (module.Newsletter != null) { if (!module.Newsletter.IsLoaded) { module.Newsletter.Load(); } module.Newsletter.Publish(false); } } }
public override void Save() { if (!IsNew) { //kijk of item naar andere groep is verhuisd DataItem itemFromDB = DataItem.GetById <DataItem>(this.ID); Guid parentGroupIDFromDB = itemFromDB.ParentGroup != null ? itemFromDB.ParentGroup.ID : Guid.Empty; Guid parentGroupIDFromWebForm = this.ParentGroup != null ? this.ParentGroup.ID : Guid.Empty; if (parentGroupIDFromDB != parentGroupIDFromWebForm) { //verhuisd naar andere groep --> volgnummers updaten. Item komt onderaan: if (this.ParentGroup != null) { this.OrderNumber = this.ParentGroup.GetMaxItemOrderNumber() + 1; } else { //root this.OrderNumber = this.DataCollection.GetMaxItemOrderNumber() + 1; } //er komt gat in lijst waar die vandaan kwam: alles wat hoger is 1 plek naar beneden zetten if (itemFromDB.ParentGroup != null) { string sql = String.Format("UPDATE DataItem SET OrderNumber = OrderNumber - 1 WHERE OrderNumber > {0} AND FK_Parent_Group = '{1}'", itemFromDB.OrderNumber, itemFromDB.ParentGroup.ID); DataBase.Get().Execute(sql); } else { string sql = String.Format("UPDATE DataItem SET OrderNumber = OrderNumber - 1 WHERE OrderNumber > {0} AND FK_Parent_Group IS NULL AND FK_Datacollection='{1}'", itemFromDB.OrderNumber, itemFromDB.DataCollection.ID); DataBase.Get().Execute(sql); } } } if (this.DataItemLanguages != null) { foreach (DataItemLanguage lang in this.DataItemLanguages) { if (lang.Image1 != null) { lang.Image1 = lang.Image1.Replace(Site.DomainName + "/", ""); } if (lang.Image2 != null) { lang.Image2 = lang.Image2.Replace(Site.DomainName + "/", ""); } if (lang.Image3 != null) { lang.Image3 = lang.Image3.Replace(Site.DomainName + "/", ""); } if (lang.Image4 != null) { lang.Image4 = lang.Image4.Replace(Site.DomainName + "/", ""); } if (lang.Image5 != null) { lang.Image5 = lang.Image5.Replace(Site.DomainName + "/", ""); } } } if (this.DataCollection.Type == DataCollectionTypeEnum.GoogleMaps) { string googleMapsKey = Site.GoogleMapsKey; //Utils.GPoint point = Utils.GoogleGeocoder.GetLatLng(this.Address, this.PostalCode, this.Place, this.Country, googleMapsKey); Utils.GPoint point = Utils.GoogleGeocoder.GetLatLng(this.Text1, this.Text2, this.Text3, this.Text4, googleMapsKey); this.Latitude = point.Lat; this.Longitude = point.Long; } base.Save(); UnpublishedItem.Set(this, "DataItem"); }
///// <summary> ///// Voor in de datamodules ///// Tag wordt vervangen door stukje html ///// Dit is afhankelijk van het type ///// </summary> //public string GetHtmlReplaceTag(ModeEnum mode, bool DataCollectionValue = false, bool fromParent = false) //{ // string html = ""; // string dataField = (fromParent) ? "ParentGroup." + this.MappingColumn : this.MappingColumn; // if (!DataCollectionValue) // { // html = "<div data-field='" + dataField + "' ></div>"; // if (this.FieldType == FieldTypeEnum.Image) // { // if (mode == ModeEnum.Edit) // { // html = "<img src='" + Site.DomainName + "/[data-field]' data-field='" + dataField + "' />"; // } // else // { // html = "<img src='null' data-field='" + dataField + "' />"; // } // } // else if (this.FieldType == FieldTypeEnum.Html) // { // html = "<div data-field='" + dataField + "' ></div>"; // } // else if (this.FieldType == FieldTypeEnum.DropDown) // { // html = String.Format("<span data-field='{0}.Name'></span>", dataField); // } // else if (this.FieldType == FieldTypeEnum.ImageList) // { // html = "<div class=\"ImageList\" data-control-type=\"list\">{CollectionList}</div>"; // } // } // else // { // html = dataField; // } // //TODO andere types // return html; //} ///// <summary> ///// Voor in de datamodules ///// Tag wordt vervangen door stukje html ///// Dit is afhankelijk van het type ///// </summary> //public string GetHtmlInputReplaceTag() //{ // string InputHtml = ""; // switch (this.FieldType) // { // case FieldTypeEnum.Text: // InputHtml = "<input type=\"text\" name=\"" + this.Name + "\" data-field=\"" + this.MappingColumn + "\" />"; // break; // case FieldTypeEnum.Numeric: // InputHtml = "<input data-validation=\"number\" type=\"text\" name=\"" + this.Name + "\" data-field=\"" + this.MappingColumn + "\" />"; // break; // case FieldTypeEnum.YesNo: // InputHtml = "<input type=\"checkbox\" name=\"" + this.Name + "\" data-field=\"" + this.MappingColumn + "\" />"; // break; // case FieldTypeEnum.LongText: // InputHtml = "<textarea name=\"" + this.Name + "\" data-field=\"" + this.MappingColumn + "\" ></textarea>"; // break; // default: // InputHtml = "<input type=\"text\" name=\"" + this.Name + "\" data-field=\"" + this.MappingColumn + "\" />"; // break; // } // return InputHtml; //} public override void Save() { if (this.Type == "group") { if (IsNew) { if (!IsSystemField) { this.MappingColumn = this.DataCollection.GetNewGroupMappingColumn(this.FieldType); } } else { //kijk of type is gewijzigd DataField fieldFromDB = BaseObject.GetById <DataField>(this.ID); if (fieldFromDB.FieldType != this.FieldType) { //Controleer datafield types. ValidateNewFieldType(fieldFromDB); //zoja dataupdaten string newMappingColumn = this.DataCollection.GetNewGroupMappingColumn(this.FieldType); string sql = string.Format("UPDATE DataGroup SET {0} = {1}, {1} = NULL WHERE FK_DATACOLLECTION = '{2}'", newMappingColumn, fieldFromDB.MappingColumn, this.DataCollection.ID); DataBase.Get().Execute(sql); this.MappingColumn = newMappingColumn; } } } else { if (IsNew) { if (!IsSystemField) { this.MappingColumn = this.DataCollection.GetNewItemMappingColumn(this.FieldType); } } else { //kijk of type is gewijzigd DataField fieldFromDB = BaseObject.GetById <DataField>(this.ID); if (fieldFromDB.FieldType != this.FieldType) { //if (fieldFromDB.FieldType == FieldTypeEnum.ImageList || //fieldFromDB.FieldType == FieldTypeEnum.FileList || //this.FieldType == FieldTypeEnum.ImageList || //this.FieldType == FieldTypeEnum.FileList) //{ // throw new Exception("Kan veldtypes niet wijzigen van en naar afbeelingenlijsten of bestandenlijsten."); //} //Controleer datafield types. ValidateNewFieldType(fieldFromDB); //zoja dataupdaten string newMappingColumn = this.DataCollection.GetNewItemMappingColumn(this.FieldType); string sql = string.Format("UPDATE DataItem SET {0} = {1}, {1} = NULL WHERE FK_DATACOLLECTION = '{2}'", newMappingColumn, fieldFromDB.MappingColumn, this.DataCollection.ID); DataBase.Get().Execute(sql); this.MappingColumn = newMappingColumn; } } } base.Save(); UnpublishedItem.Set(this.DataCollection, "DataCollection"); }