Exemple #1
0
 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);
 }
Exemple #2
0
        //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");
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #5
0
        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");
        }
Exemple #6
0
        ///// <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");
        }