public void setColumnName(AutomaticSourcingColumn col, String name)
        {
            if (col == null)
            {
                return;
            }
            int index = this.getAutomaticSourcingColumnIndex(col.columnIndex);

            this.automaticSourcingColumnListChangeHandler.Items[index].Name = name;
        }
        /// <summary>
        /// This method is used to modify(Update and set) AutomaticSourcingColumn properties.
        ///Update/Set ParameterType
        ///Update/Set PeriodType
        ///Update/Set TargetType
        ///Update/Set Measure value
        ///Update/Set Attribute
        ///Update/Set CellPropertyAllocationData
        ///Update/Set group
        ///Update/Set ColumnTargetItem
        ///Update/Set dateFormat
        ///Update/Set TagName
        ///finally put the column in the convenient Persistent List.
        /// </summary>
        /// <param name="col">The given column</param>
        /// <param name="param">The property we want to modify</param>
        public void updateColumnParam(AutomaticSourcingColumn col, object param, object targetOperator = null, bool isDateFormat = false)
        {
            if (col == null)
            {
                return;
            }
            int index = this.getAutomaticSourcingColumnIndex(col.columnIndex);

            if (index == -1 && !col.toNew)
            {
                return;
            }

            //Update/Set ParameterType
            if (param is Kernel.Application.ParameterType)
            {
                if ((Kernel.Application.ParameterType)param == Application.ParameterType.NULL)
                {
                    this.automaticSourcingColumnListChangeHandler.Items[index].RestoreDefault();
                }
                else
                {
                    this.automaticSourcingColumnListChangeHandler.Items[index].parameterType = (Kernel.Application.ParameterType)param;
                }
            }

            //Update/Set TargetType
            else if (param is Kernel.Application.TargetType && param != null)
            {
                this.automaticSourcingColumnListChangeHandler.Items[index].targetType = (Kernel.Application.TargetType)param;
            }

            //Update/Set Measure value
            else if (param is Kernel.Domain.Measure && this.automaticSourcingColumnListChangeHandler.Items[index].parameterType == Application.ParameterType.MEASURE)
            {
                this.automaticSourcingColumnListChangeHandler.Items[index].measure = (Kernel.Domain.Measure)param;
            }

            //Update/Set Attribute
            else if (param != null && param is Kernel.Domain.Attribute && this.automaticSourcingColumnListChangeHandler.Items[index].parameterType == Application.ParameterType.SCOPE)
            {
                this.automaticSourcingColumnListChangeHandler.Items[index].attribute = (Kernel.Domain.Attribute)param;
            }

            ///Update/Set CellPropertyAllocationData
            else if (param is CellPropertyAllocationData)
            {
                this.automaticSourcingColumnListChangeHandler.Items[index].allocationData = (CellPropertyAllocationData)param;
            }

            ///Update/Set group
            else if (param is BGroup && param != null)
            {
                this.automaticSourcingColumnListChangeHandler.Items[index].targetGroup = (BGroup)param;
            }

            ///Update/Set ColumnTargetItem
            else if (param != null && param is ColumnTargetItem && this.automaticSourcingColumnListChangeHandler.Items[index].parameterType == Application.ParameterType.TARGET)
            {
                ColumnTargetItem colTargetItem = param as ColumnTargetItem;
                if (targetOperator != null)
                {
                    colTargetItem.targetOperator = TargetItem.getOperatorByStringValue(targetOperator.ToString());
                }
                if (colTargetItem.oid.HasValue)
                {
                    if (colTargetItem.toUpdate)
                    {
                        this.automaticSourcingColumnListChangeHandler.Items[index].UpdateColumnTargetItem(colTargetItem);
                    }
                    else if (colTargetItem.toDelete)
                    {
                        this.automaticSourcingColumnListChangeHandler.Items[index].RemoveColumnTargetItem(colTargetItem);
                    }
                }
                else
                {
                    if (colTargetItem.toNew)
                    {
                        this.automaticSourcingColumnListChangeHandler.Items[index].ForgetColumnTargetItem(colTargetItem);
                        this.automaticSourcingColumnListChangeHandler.Items[index].AddColumnTargetItem(colTargetItem);
                    }
                    else if (colTargetItem.toForget)
                    {
                        this.automaticSourcingColumnListChangeHandler.Items[index].ForgetColumnTargetItem(colTargetItem);
                    }
                }
            }
            ///Update/Set dateFormat and TagName
            else if (param is string)
            {
                if (this.automaticSourcingColumnListChangeHandler.Items[index].parameterType == Application.ParameterType.PERIOD)
                {
                    if (isDateFormat)
                    {
                        this.automaticSourcingColumnListChangeHandler.Items[index].dateFormat = param.ToString();
                    }
                    else
                    {
                        this.automaticSourcingColumnListChangeHandler.Items[index].periodName = param.ToString();
                    }
                }
                if (this.automaticSourcingColumnListChangeHandler.Items[index].parameterType == Application.ParameterType.TAG)
                {
                    this.automaticSourcingColumnListChangeHandler.Items[index].tagName = param.ToString();
                }
            }

            ///Putting the column in the convenient Persistent List.
            if (col.toUpdate)
            {
                this.UpdateColumn(col);
            }
            else if (col.toDelete)
            {
                this.RemoveColumn(col);
            }
            else if (col.toNew)
            {
                this.AddColumn(col);
            }
            else if (col.toForget)
            {
                this.ForgetColumn(col);
            }
        }
 /// <summary>
 /// Oublier un Sheet
 /// </summary>
 /// <param name="cell"></param>
 public void ForgetColumn(AutomaticSourcingColumn column)
 {
     automaticSourcingColumnListChangeHandler.forget(column);
     OnPropertyChanged("automaticSourcingColumnListChangeHandler.Items");
 }
 /// <summary>
 /// Retire un Sheet
 /// </summary>
 /// <param name="cell"></param>
 public void RemoveColumn(AutomaticSourcingColumn column)
 {
     automaticSourcingColumnListChangeHandler.AddDeleted(column);
     OnPropertyChanged("automaticSourcingColumnListChangeHandler.Items");
 }
 /// <summary>
 /// Rajoute un Sheet
 /// </summary>
 /// <param name="cell"></param>
 public void AddColumn(AutomaticSourcingColumn column)
 {
     column.parent = this;
     automaticSourcingColumnListChangeHandler.AddNew(column);
     OnPropertyChanged("automaticSourcingColumnListChangeHandler.Items");
 }