예제 #1
0
        public static void CheckWarning(DataListUpdateRowDev entity)
        {
            entity.Warning.Clear();
            if (entity.TargetWindow == EnumTargetWindow.Current)
            {
                if (entity.HostFormEntity.Elements.Contains(entity.DataList) == false)
                {
                    entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataListNotExist);
                }
                else
                {
                    foreach (DataListUpdateRowDev.DataItem data in entity.Data)
                    {
                        if (entity.HostFormEntity.Elements.Contains(data.DataColumn) == false)
                        {
                            entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataColumnNotExist);
                        }
                    }
                }
            }
            else if (entity.TargetWindow == EnumTargetWindow.Caller)
            {
                if (_windowComponentService.CheckElementExistByCode(
                        entity.DataList, FormElementEntityDevTypes.Instance.GetProvideAttribute(typeof(UIElementDataListEntity))) == false)
                {
                    entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataListNotExist);
                }
                else
                {
                    foreach (DataListUpdateRowDev.DataItem data in entity.Data)
                    {
                        if (_windowComponentService.CheckDataColumnExistByCode(entity.DataList, data.DataColumn) == false)
                        {
                            entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataColumnNotExist);
                        }
                    }
                }
            }
            DataSourceProvideArgs args = new DataSourceProvideArgs()
            {
                WindowEntity = entity.HostFormEntity
            };

            foreach (DataListUpdateRowDev.DataItem data in entity.Data)
            {
                if (_dataSourceProvideFactory.Validate(data.Source, args) == false)
                {
                    entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_FormElementNotExist);
                }
            }
        }
        public override void SetParameter(EventBase even)
        {
            DataListUpdateRowDev _event = even as DataListUpdateRowDev;

            this.DataListId   = _event.DataList;
            this.TargetWindow = _event.TargetWindow;
            this._datas       = new BindingList <DataListUpdateRowEvent.DataItem>(_event.Data);
            this._warningTable.Clear();
            bool warningRow            = false;
            DataSourceProvideArgs args = new DataSourceProvideArgs()
            {
                WindowEntity = this.HostAdapter.HostFormEntity
            };

            foreach (DataListUpdateRowEvent.DataItem data in _datas)
            {
                data.SourceName = DataSourceProvideFactory.Instance.GetDisplayString(data.Source, args);
                if (String.IsNullOrEmpty(data.SourceName))
                {
                    warningRow = true;
                }
                if (this.TargetWindow == EnumTargetWindow.Current)
                {
                    UIElement formElementDataList = this.HostAdapter.HostFormEntity.FindFormElementById(_event.DataList);
                    if (formElementDataList == null)
                    {
                        warningRow = true;
                    }
                    else
                    {
                        UIElementDataListEntity dataList = (UIElementDataListEntity)formElementDataList;
                        UIElementDataListColumnEntityAbstract dataColumn = dataList.GetDataColumn(data.DataColumn);
                        if (dataColumn == null)
                        {
                            warningRow = true;
                        }
                        else
                        {
                            data.DataColumnName = dataColumn.Name;
                        }
                    }
                }
                else if (this.TargetWindow == EnumTargetWindow.Caller)
                {
                    data.DataColumnName = data.DataColumn;
                }
                _warningTable.Add(data, warningRow);
            }
            this.dataGridViewDataSet.DataSource = this._datas;
        }