コード例 #1
0
        public void SetMultiLanguageBizEntity(MultiLanguageBizEntity entity)
        {
            CustomDataCommand cmd        = DataCommandManager.CreateCustomDataCommandFromConfig("SetMultiLanguageTemplate");
            string            tableName  = entity.MappingTable;
            string            pkcriteria = string.Format(" SysNo={0} AND LanguageCode='{1}'", entity.SysNo, entity.LanguageCode.Replace("'", "''"));

            string insertColumns = string.Empty;
            string insertValues  = string.Empty;
            string updateColumns = string.Empty;

            insertColumns = " LanguageCode,SysNo,";
            insertValues  = " @LanguageCode,@SysNo,";
            cmd.AddInputParameter("@LanguageCode", System.Data.DbType.AnsiStringFixedLength);
            cmd.SetParameterValue("@LanguageCode", entity.LanguageCode);
            cmd.AddInputParameter("@SysNo", System.Data.DbType.AnsiStringFixedLength);
            cmd.SetParameterValue("@SysNo", entity.SysNo);

            foreach (PropertyItem propItem in entity.PropertyItemList)
            {
                insertColumns += " " + propItem.Field + ",";
                insertValues  += " @" + propItem.Field + ",";
                updateColumns += string.Format(" {0}=@{0},", propItem.Field);
                cmd.AddInputParameter("@" + propItem.Field, System.Data.DbType.AnsiStringFixedLength);
                cmd.SetParameterValue("@" + propItem.Field, propItem.Value);
            }

            insertColumns   = insertColumns.TrimEnd(',');
            insertValues    = insertValues.TrimEnd(',');
            updateColumns   = updateColumns.TrimEnd(',');
            cmd.CommandText = cmd.CommandText.Replace("#tableName", tableName).Replace("#pkcriteria", pkcriteria).Replace("#insertColumns", insertColumns).Replace("#insertValues", insertValues).Replace("#updateColumns", updateColumns);

            cmd.ExecuteNonQuery();
        }
コード例 #2
0
        public void SetMultiLanguageBizEntity(MultiLanguageBizEntity entity)
        {
            if (entity == null)
            {
                throw new BizException("请输入有效的业务对象!");
            }
            if (string.IsNullOrWhiteSpace(entity.LanguageCode) || string.IsNullOrWhiteSpace(entity.MappingTable) ||
                entity.SysNo == 0 || string.IsNullOrWhiteSpace(entity.BizEntityType))
            {
                throw new BizException("业务对象的语言编码,系统编号,业务类型,映射表名不能为空!");
            }
            if (entity.PropertyItemList == null || entity.PropertyItemList.Count == 0)
            {
                throw new BizException(string.Format("请为{0}配置正确的属性!", entity.BizEntityType));
            }

            m_DataAccess.SetMultiLanguageBizEntity(entity);
        }
コード例 #3
0
        public List <MultiLanguageBizEntity> GetMultiLanguageBizEntityList(MultiLanguageBizEntity entity)
        {
            CustomDataCommand cmd        = DataCommandManager.CreateCustomDataCommandFromConfig("GetMultiLanguageTemplate");
            string            columns    = "SysNo,LanguageCode";
            string            tableName  = entity.MappingTable;
            string            pkcriteria = string.Format(" SysNo={0}", entity.SysNo);

            foreach (PropertyItem propItem in entity.PropertyItemList)
            {
                columns += string.Format(",{0}", propItem.Field.Trim());
            }
            cmd.CommandText = cmd.CommandText.Replace("#tableName", tableName).Replace("#pkcriteria", pkcriteria).Replace("#columns", columns);
            DataTable dt = cmd.ExecuteDataTable();
            List <MultiLanguageBizEntity> list = new List <MultiLanguageBizEntity>();

            if (dt == null || dt.Rows.Count == 0)
            {
                return(list);
            }

            foreach (DataRow row in dt.Rows)
            {
                MultiLanguageBizEntity rowEntity = new MultiLanguageBizEntity();
                rowEntity.BizEntityType    = entity.BizEntityType;
                rowEntity.LanguageCode     = row["LanguageCode"].ToString().Trim();
                rowEntity.SysNo            = entity.SysNo;
                rowEntity.MappingTable     = entity.MappingTable;
                rowEntity.PropertyItemList = new List <PropertyItem>();
                foreach (PropertyItem propItem in entity.PropertyItemList)
                {
                    PropertyItem newPropItem = new PropertyItem();
                    newPropItem.Field      = propItem.Field;
                    newPropItem.InputType  = propItem.InputType;
                    newPropItem.Label      = propItem.Label;
                    newPropItem.MaxLength  = propItem.MaxLength;
                    newPropItem.IsRequired = propItem.IsRequired;
                    newPropItem.Value      = row[propItem.Field] == null ? string.Empty : row[propItem.Field].ToString().Trim();
                    rowEntity.PropertyItemList.Add(newPropItem);
                }
                list.Add(rowEntity);
            }

            return(list);
        }
コード例 #4
0
        public List <MultiLanguageBizEntity> GetMultiLanguageBizEntityList(MultiLanguageDataContract dataContract)
        {
            if (dataContract == null || string.IsNullOrWhiteSpace(dataContract.BizEntityType) || dataContract.SysNo == 0)
            {
                throw new BizException("请输入有效的业务对象类型和系统编号!");
            }
            List <MultiLanguageBizEntity> resourceList = MultiLanguageResourceManager.LoadResouce();

            MultiLanguageBizEntity curEntityTemplate = resourceList.Find(f => f.BizEntityType.Trim().ToUpper() == dataContract.BizEntityType.Trim().ToUpper());

            if (curEntityTemplate == null || curEntityTemplate.PropertyItemList == null || curEntityTemplate.PropertyItemList.Count == 0)
            {
                throw new BizException(string.Format("请为{0}配置正确的属性!", dataContract.BizEntityType));
            }
            curEntityTemplate.BizEntityType = dataContract.BizEntityType.Trim();
            curEntityTemplate.SysNo         = dataContract.SysNo;

            List <MultiLanguageBizEntity> list = m_DataAccess.GetMultiLanguageBizEntityList(curEntityTemplate);

            List <Language> languageList = m_DataAccess.GetAllLanguageList();

            languageList.RemoveAll(f => f.IsDefault == 1);

            List <MultiLanguageBizEntity> result = new List <MultiLanguageBizEntity>();

            foreach (Language lang in languageList)
            {
                MultiLanguageBizEntity curEntity = list.Find(f => f.LanguageCode.Trim().ToUpper() == lang.LanguageCode.Trim().ToUpper());
                if (curEntity == null)
                {
                    MultiLanguageBizEntity entityRes = curEntityTemplate.DeepCopy();
                    entityRes.PropertyItemList.ForEach(item => item.Value = null);
                    entityRes.LanguageCode = lang.LanguageCode;
                    entityRes.LanguageName = lang.LanguageName;
                    result.Add(entityRes);
                }
                else
                {
                    curEntity.LanguageName = lang.LanguageName;
                    result.Add(curEntity);
                }
            }
            return(result);
        }
コード例 #5
0
        /// <summary>
        /// 将自定义的语言控件转化成多语言实体类MultiLanguageBizEntity
        /// </summary>
        /// <returns></returns>
        private MultiLanguageBizEntity ConverLanguageExpanderToMultiLanguageBizEntity()
        {
            MultiLanguageBizEntity m = new MultiLanguageBizEntity();

            m.PropertyItemList = new List <PropertyItem>();
            m.SysNo            = languageBizEntity.SysNo;
            m.BizEntityType    = languageBizEntity.BizEntityType;
            m.MappingTable     = languageBizEntity.MappingTable;
            m.LanguageCode     = languageBizEntity.LanguageCode;
            for (int i = 0; i < rowCount; i++)
            {
                PropertyItem item = new PropertyItem();
                item.Label     = TbLabelsList[i].Text;
                item.Value     = TxtValueList[i].Text;
                item.Field     = TxtValueList[i].Tag.ToString().Trim();
                item.InputType = TxtValueList[i].TextWrapping == TextWrapping.Wrap ? "M" : "S";
                m.PropertyItemList.Add(item);
            }
            return(m);
        }
コード例 #6
0
        public LanguageExpander(MultiLanguageBizEntity entity, int index, MultiLanguageMaintainFacade _facade)
        {
            TbLabelsList = new List <TextBlock>();
            TxtValueList = new List <TextBox>();

            TextBlock tbLabel;
            TextBox   txtValue;

            languageBizEntity = entity;
            this.facade       = _facade;
            this.IsExpanded   = true;
            this.Header       = entity.LanguageName;
            Grid.SetRow(this, index);

            rootGrid = new Grid();
            rootGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            rootGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            rootGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(560)
            });
            rootGrid.Margin = new Thickness(20, 5, 20, 5);

            #region 根据属性创建TextBlock+TextBox
            for (int i = 0; i < entity.PropertyItemList.Count; i++)
            {
                rootGrid.RowDefinitions.Add(new RowDefinition()
                {
                    Height = GridLength.Auto
                });

                var item = entity.PropertyItemList[i];

                if (item.InputType.Equals("S"))
                {
                    txtValue = new TextBox()
                    {
                        Tag       = item.Field,
                        MaxLength = item.MaxLength
                    };
                }
                else
                {
                    txtValue = new TextBox()
                    {
                        AcceptsReturn = true,
                        VerticalScrollBarVisibility = ScrollBarVisibility.Visible,
                        TextWrapping        = TextWrapping.Wrap,
                        Tag                 = item.Field,
                        HorizontalAlignment = HorizontalAlignment.Stretch,
                        MaxLength           = item.MaxLength,
                        Height              = 80
                    };
                }
                if (String.IsNullOrWhiteSpace(item.Value))
                {
                    txtValue.Text = String.Empty;
                }
                else
                {
                    txtValue.Text = item.Value;
                }

                tbLabel = new TextBlock()
                {
                    Text = item.Label,
                    HorizontalAlignment = HorizontalAlignment.Right,
                    Tag    = item.IsRequired,
                    Height = 20
                };

                if (item.IsRequired.Equals("Y"))
                {
                    tbLabel.Text = "*" + tbLabel.Text;
                }

                Grid.SetRow(tbLabel, i);
                Grid.SetRow(txtValue, i);

                Grid.SetColumn(tbLabel, 0);
                Grid.SetColumn(txtValue, 2);

                rootGrid.Children.Add(tbLabel);
                TbLabelsList.Add(tbLabel);
                rootGrid.Children.Add(txtValue);
                TxtValueList.Add(txtValue);
                rowCount++;
            }

            #endregion

            #region 创建保存按钮
            rootGrid.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            Button saveButton = new Button();
            saveButton.Click += new RoutedEventHandler(btnSave_Click);
            saveButton.HorizontalAlignment = HorizontalAlignment.Right;
            saveButton.VerticalAlignment   = VerticalAlignment.Top;
            saveButton.Height  = 20;
            saveButton.Width   = 60;
            saveButton.Content = "保存";
            Grid.SetRow(saveButton, rowCount);
            Grid.SetColumn(saveButton, 3);
            rootGrid.Children.Add(saveButton);
            #endregion

            this.Content = rootGrid;
        }
コード例 #7
0
 public virtual void SetMultiLanguageBizEntity(MultiLanguageBizEntity entity)
 {
     ObjectFactory <MultiLanguageAppService> .Instance.SetMultiLanguageBizEntity(entity);
 }
コード例 #8
0
        public void SetMultiLanguageBizEntity(MultiLanguageBizEntity entity, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            string relativeUrl = "/CommonService/MultiLanguage/SetMultiLanguageBizEntity";

            restClient.Update(relativeUrl, entity, callback);
        }
コード例 #9
0
 /// <summary>
 /// 写入多语言
 /// </summary>
 /// <returns></returns>
 public static void SetMultiLanguageBizEntity(MultiLanguageBizEntity entity)
 {
     ObjectFactory <ICommonBizInteract> .Instance.SetMultiLanguageBizEntity(entity);
 }
コード例 #10
0
 public void SetMultiLanguageBizEntity(MultiLanguageBizEntity entity)
 {
     ObjectFactory <MultiLanguageProcessor> .Instance.SetMultiLanguageBizEntity(entity);
 }