/// <summary>
        /// 計算する
        /// </summary>
        /// <param name="first">左側の値</param>
        /// <param name="second">右側の値</param>
        /// <param name="ope">操作(演算子)</param>
        /// <returns></returns>
        private string Calclate(long first, long second, EnumOperate ope)
        {
            long result = 0;

            switch (ope)
            {
            case EnumOperate.Addition:
                result = first + second;
                break;

            case EnumOperate.Subtraction:
                result = first - second;
                break;

            case EnumOperate.Multiplication:
                result = first * second;
                break;

            case EnumOperate.Division:
                if (second == 0)
                {
                    DisplayFontSize = ERROR_DISP_FONT_SIZE;
                    mode            = EnumInputMode.Error;
                    ButtonEnabled   = false;
                    return("0では割り算できません");
                }
                result = first / second;
                break;
            }
            return(result.ToString());
        }
 private void Clear()
 {
     leftString      = string.Empty;
     rightString     = string.Empty;
     Display         = "0";
     operate         = EnumOperate.None;
     DisplayFontSize = NORMAL_DISP_FONT_SIZE;
     prevMode        = EnumInputMode.None;
     mode            = EnumInputMode.First;
     ButtonEnabled   = true;
 }
Esempio n. 3
0
        /// <summary>
        /// 设置默认值
        /// 添加人:周 鹏
        /// 添加时间:2015-01-27
        /// </summary>
        /// <param name="entity"></param>
        private void SetDefaultData(ComNoticeEntity entity)
        {
            //通知类别
            var typeId = EnumOperate.ConvertEnumToListItems(typeof(NoticeType), entity.AType.ToString(CultureInfo.InvariantCulture));

            ViewData["Types"] = typeId;

            //是否置顶
            var top = EnumOperate.ConvertEnumToListItems(typeof(NoticeTop), entity.IsTop.ToString(CultureInfo.InvariantCulture));

            ViewData["NoticeTop"] = top;
        }
        private string GetSymbolStringFromOperationSymbol(EnumOperate ope)
        {
            switch (ope)
            {
            case EnumOperate.Addition:
                return("+");

            case EnumOperate.Subtraction:
                return("-");

            case EnumOperate.Multiplication:
                return("×");

            case EnumOperate.Division:
                return("÷");

            default:
                return(string.Empty);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 加载默认值
        /// 添加人:周 鹏
        /// 添加时间:2014-03-28
        /// </summary>
        /// <history>
        /// 修改描述:时间+作者+描述
        /// </history>
        /// <param name="comMenu">ComMenu实体</param>
        private void SetDefaultData(ComMenuEntity comMenu)
        {
            //父级菜单
            var menus = new ComMenuBll().GetAllMenu(comMenu.MenuLevel - 1, 1);

            menus.Insert(0, new ComMenuEntity {
                Id = "", MenuName = "请选择父级菜单"
            });
            ViewData["ParentMenuList"] = new SelectList(menus, "Id", "MenuName", comMenu.ParentMenuId);
            //菜单级别
            var menuLevellist = EnumOperate.ConvertEnumToListItems(typeof(MenuLevel), comMenu.MenuLevel.ToString(CultureInfo.InvariantCulture));

            ViewData["MenuLevelList"] = menuLevellist;
            //打开方式
            var opTypelist = EnumOperate.ConvertEnumToListItems(typeof(OpenType), comMenu.OpenType.ToString(CultureInfo.InvariantCulture));

            ViewData["OpenTypeList"] = opTypelist;
            //来源
            var sourcelist = EnumOperate.ConvertEnumToListItems(typeof(Source), comMenu.Source.ToString(CultureInfo.InvariantCulture));

            ViewData["SourceList"] = sourcelist;
        }
Esempio n. 6
0
        public IList <Pro_PSDetail> GetPSDetailBySchedulingLineId(Pro_PS psModel, Pro_SchedulingLine fristLine, DateTime SDate)
        {
            IList <Pro_PSDetail> psDetail = new List <Pro_PSDetail>();
            //产线对应的产品信息
            IList <Pro_SchedulingGoods> schedulingGoods = new Pro_SchedulingGoodsDao().GetListBySchedulingLineId(Util.QueryCondition.Instance.AddEqual("Id", fristLine.Id.ToString())
                                                                                                                 .AddEqual("SDate", SDate.ToString("yyyy-MM-dd")));

            int classNum = 0;

            //计算班次
            if (psModel.FinalEveningNum != null)
            {
                classNum++;
            }
            if (psModel.FinalMiddleNum != null)
            {
                classNum++;
            }
            if (psModel.FinalMorningNum > 0)
            {
                classNum++;
            }

            //每天开始时间为8:00  修改成 7:30
            //1班次 8:00~08:00
            //2班次 8:00~ 12:45  12:45~08:00
            //3班次 8:00 ~ 16:00  16:00~00:00 00:00~08:00
            DateTime time = Convert.ToDateTime(SDate.ToString("yyyy-MM-dd") + " 07:30:00");
            int      i    = 1;

            foreach (var good in schedulingGoods)
            {
                Pro_PSDetail model = new Pro_PSDetail
                {
                    GoodNo        = good.GoodNo,
                    GoodName      = good.GoodName,
                    ShipTo        = good.ShipTo,
                    ShipToName    = good.ShipToName,
                    PackNum       = good.PackNum,
                    Qty           = good.SNum,
                    ProOrderIndex = i,
                    SType         = good.SType,
                    STypeString   = EnumOperate.GetEnumDesc((VisualSmart.Util.Menus.ClassType)good.SType)
                };

                //产能 根据早中晚判断产能基本参数
                decimal channeng = 0;
                if (model.SType == 2 && good.MorningNum != null)
                {
                    channeng       = good.MorningNum > 0 ? (Convert.ToDecimal(good.SNum) / good.MorningNum.Value) : 0;
                    model.ChanNeng = good.MorningNum.Value;
                }
                else if (model.SType == 3 && good.MiddleNum != null)
                {
                    channeng       = good.MiddleNum > 0 ? (Convert.ToDecimal(good.SNum) / good.MiddleNum.Value) : 0;
                    model.ChanNeng = good.MiddleNum.Value;
                }
                else if (model.SType == 4 && good.EveningNum != null)
                {
                    channeng       = good.EveningNum > 0 ? (Convert.ToDecimal(good.SNum) / good.EveningNum.Value) : 0;
                    model.ChanNeng = good.EveningNum.Value;
                }
                channeng = channeng * 60 * 60;

                //1班次 8:00~08:00
                model.StartTime = time;
                time            = time.AddSeconds(Convert.ToDouble(channeng));
                model.EndTime   = time;

                //if (classNum == 1)
                //{
                //    //1班次 8:00~08:00
                //    model.StartTime = time;
                //    time = time.AddSeconds(channeng);
                //    model.EndTime = time;
                //}
                //else if (classNum == 2)
                //{
                //    //2班次 8:00~ 12:45  12:45~08:00
                //    if (model.SType > 2)
                //    {

                //    }
                //    else
                //    {
                //        model.StartTime = time;
                //        time = time.AddSeconds(channeng);
                //        model.EndTime = time;
                //    }
                //}
                //else if (classNum == 3)
                //{
                //    //3班次 8:00 ~ 16:00  16:00~00:00 00:00~08:00
                //    model.StartTime = time;
                //    time = time.AddSeconds(channeng);
                //    model.EndTime = time;
                //}
                psDetail.Add(model);
                i++;
            }

            return(psDetail);
        }
 /// <summary>
 /// 枚举转字符串
 /// </summary>
 /// <param name="en">枚举</param>
 /// <returns>返回枚举的描述</returns>
 public static string CF_ToString(this Enum en)
 {
     return(EnumOperate.CF_ToString(en));
 }
 /// <summary>
 /// 枚举转数值
 /// </summary>
 /// <param name="en">枚举</param>
 /// <returns>返回枚举的描述</returns>
 public static int CF_ToNumber(this Enum en)
 {
     return(EnumOperate.CF_ToNumber(en));
 }
 /// <summary>
 /// 获取枚举的描述
 /// </summary>
 /// <param name="en">枚举</param>
 /// <returns>返回枚举的描述</returns>
 public static string CF_GetDescription(this Enum en)
 {
     return(EnumOperate.CF_GetDescription(en));
 }
Esempio n. 10
0
        /// <summary>
        /// 网络订单列表-导出
        /// </summary>
        /// <param name="detailList"></param>
        /// <param name="sceneryName"></param>
        public string ExportOrderDetailExcel(IList <Pro_PSDetail> detailList, string title)
        {
            var columns = new List <string>
            {
                "日期",
                "零件号",
                "零件名称",
                "生产线",
                "班次",
                "客户(ship-to)",
                "Qty",
                "开始生产时间",
                "结束生产时间"
            };

            IWorkbook workbook = new XSSFWorkbook();
            var       dsi      = PropertySetFactory.CreateDocumentSummaryInformation();

            dsi.Company = "NPOI Team";
            var si = PropertySetFactory.CreateSummaryInformation();

            si.Subject = "NPOI SDK Example";
            var sheetName = title;

            var sheet = workbook.CreateSheet(sheetName);

            //表头样式 加粗 浅灰色
            var headerStyle = workbook.CreateCellStyle();

            SetExcelBoderStyle(headerStyle);
            var headerFont = workbook.CreateFont();

            //headerFont.Boldweight = (short)FontBoldWeight.BOLD;
            headerStyle.SetFont(headerFont);
            //数据样式
            var allStyle = workbook.CreateCellStyle();

            //allStyle.BorderTop = BorderStyle.THIN;
            //allStyle.BorderBottom = BorderStyle.THIN;
            //allStyle.BorderLeft = BorderStyle.THIN;
            //allStyle.BorderRight = BorderStyle.THIN;
            //allStyle.TopBorderColor = IndexedColors.BLACK.Index;
            //allStyle.BottomBorderColor = IndexedColors.BLACK.Index;
            //allStyle.LeftBorderColor = IndexedColors.BLACK.Index;
            //allStyle.RightBorderColor = IndexedColors.BLACK.Index;

            sheet.CreateRow(0);

            for (var i = 0; i < columns.Count; i++)
            {
                sheet.GetRow(0).CreateCell(i).SetCellValue(columns[i]);
            }

            if (detailList != null && detailList.Count > 0)
            {
                for (var i = 0; i < detailList.Count; i++)
                {
                    sheet.CreateRow(1 + i);
                    var item = detailList[i];
                    sheet.GetRow(1 + i).CreateCell(0).SetCellValue(item.StartTime.ToString("yyyy/MM/dd"));

                    sheet.GetRow(1 + i).CreateCell(1).SetCellValue(item.GoodNo);
                    sheet.GetRow(1 + i).CreateCell(2).SetCellValue(item.GoodName);
                    sheet.GetRow(1 + i).CreateCell(3).SetCellValue(item.ProLineNo);
                    sheet.GetRow(1 + i)
                    .CreateCell(4)
                    .SetCellValue(EnumOperate.GetEnumDesc((ClassType)item.SType));
                    sheet.GetRow(1 + i)
                    .CreateCell(5)
                    .SetCellValue(item.ShipTo);
                    sheet.GetRow(1 + i)
                    .CreateCell(6)
                    .SetCellValue(item.Qty);
                    sheet.GetRow(1 + i).CreateCell(7).SetCellValue(item.StartTime.ToString("HH:mm:ss"));
                    sheet.GetRow(1 + i).CreateCell(8).SetCellValue(item.EndTime.ToString("HH:mm:ss"));
                }
            }
            //设置列宽
            sheet.SetColumnWidth(0, 4600);
            sheet.SetColumnWidth(1, 4600);
            sheet.SetColumnWidth(2, 6200);
            sheet.SetColumnWidth(3, 2600);
            sheet.SetColumnWidth(4, 3600);
            sheet.SetColumnWidth(5, 3600);
            sheet.SetColumnWidth(6, 2600); //设置列宽
            sheet.SetColumnWidth(7, 2600);
            sheet.SetColumnWidth(8, 4600);
            sheet.SetColumnWidth(9, 4600);

            sheet.ForceFormulaRecalculation = true;
            return(CommonMethod.WriteToFileAndGetFileUrl(workbook, sheetName));
        }
Esempio n. 11
0
        /// <summary>
        /// 网络订单列表-导出
        /// </summary>
        /// <param name="detailList"></param>
        /// <param name="sceneryName"></param>
        public string ExportOrderDetailExcel(IList <Pro_PSDetail> detailList, Pro_PS model, string title)
        {
            var columns = new List <string>
            {
                "序号",
                "零件号",
                "零件名称",
                "班次",
                "客户(ship-to)",
                "整箱包装数",
                "产能",
                "数量",
                "开始时间",
                "结束时间",
            };

            IWorkbook workbook = new XSSFWorkbook();
            var       dsi      = PropertySetFactory.CreateDocumentSummaryInformation();

            dsi.Company = "NPOI Team";
            var si = PropertySetFactory.CreateSummaryInformation();

            si.Subject = "NPOI SDK Example";
            var sheetName = "PS详细";

            if (string.IsNullOrEmpty(title))
            {
                sheetName = title + "--" + sheetName;
            }
            else
            {
                sheetName = title + "--" + sheetName;
            }

            var sheet = workbook.CreateSheet(sheetName);

            //表头样式 加粗 浅灰色
            var headerStyle = workbook.CreateCellStyle();

            SetExcelBoderStyle(headerStyle);
            var headerFont = workbook.CreateFont();

            //headerFont.Boldweight = (short)FontBoldWeight.BOLD;
            headerStyle.SetFont(headerFont);
            //数据样式
            var allStyle = workbook.CreateCellStyle();

            //allStyle.BorderTop = BorderStyle.THIN;
            //allStyle.BorderBottom = BorderStyle.THIN;
            //allStyle.BorderLeft = BorderStyle.THIN;
            //allStyle.BorderRight = BorderStyle.THIN;
            //allStyle.TopBorderColor = IndexedColors.BLACK.Index;
            //allStyle.BottomBorderColor = IndexedColors.BLACK.Index;
            //allStyle.LeftBorderColor = IndexedColors.BLACK.Index;
            //allStyle.RightBorderColor = IndexedColors.BLACK.Index;

            sheet.CreateRow(0);
            sheet.CreateRow(1);
            sheet.CreateRow(2);
            sheet.CreateRow(3);
            sheet.CreateRow(4);


            //AddRow(0, 0, 0, 10, "生产日期:    " + model.ProDate.ToString("yyyy-MM-dd"), workbook, sheet, 13, HorizontalAlignment.LEFT);
            //AddRow(1, 1, 0, 10, "生  产  线:    " + model.ProLineNo, workbook, sheet, 13, NPOI.SS.UserModel.HorizontalAlignment.LEFT);
            //AddRow(2, 2, 0, 10, "早班人数:    " + (model.FinalMorningNum ?? 0).ToString(), workbook, sheet, 13, NPOI.SS.UserModel.HorizontalAlignment.LEFT);
            //AddRow(3, 3, 0, 10, "中班人数:    " + (model.FinalMiddleNum ?? 0).ToString(), workbook, sheet, 13, NPOI.SS.UserModel.HorizontalAlignment.LEFT);
            //AddRow(4, 4, 0, 10, "晚班人数:    " + (model.FinalEveningNum ?? 0).ToString(), workbook, sheet, 13, NPOI.SS.UserModel.HorizontalAlignment.LEFT);

            sheet.CreateRow(5);
            for (var i = 0; i < columns.Count; i++)
            {
                sheet.GetRow(5).CreateCell(i).SetCellValue(columns[i]);
                sheet.GetRow(5).GetCell(i).CellStyle = headerStyle;
            }
            sheet.GetRow(5).HeightInPoints = 18;
            if (detailList != null && detailList.Count > 0)
            {
                for (var i = 5; i < (detailList.Count + 5); i++)
                {
                    sheet.CreateRow(1 + i);
                    var item = detailList[i - 5];
                    sheet.GetRow(1 + i).CreateCell(0).SetCellValue(item.ProOrderIndex.ToString());
                    sheet.GetRow(1 + i).CreateCell(1).SetCellValue(item.GoodNo);
                    sheet.GetRow(1 + i).CreateCell(2).SetCellValue(item.GoodName);
                    sheet.GetRow(1 + i)
                    .CreateCell(3)
                    .SetCellValue(EnumOperate.GetEnumDesc((ClassType)item.SType));
                    sheet.GetRow(1 + i)
                    .CreateCell(4)
                    .SetCellValue(item.ShipTo);
                    sheet.GetRow(1 + i).CreateCell(5).SetCellValue(item.PackNum.ToString());
                    sheet.GetRow(1 + i).CreateCell(6).SetCellValue(item.ChanNeng.ToString());
                    sheet.GetRow(1 + i)
                    .CreateCell(7)
                    .SetCellValue(item.Qty.ToString());
                    sheet.GetRow(1 + i).CreateCell(8).SetCellValue(item.StartTime.ToString("yyyy-MM-dd HH:mm:ss"));
                    sheet.GetRow(1 + i).CreateCell(9).SetCellValue(item.EndTime.ToString("yyyy-MM-dd HH:mm:ss"));

                    for (var j = 0; j < columns.Count; j++)
                    {
                        sheet.GetRow(1 + i).GetCell(j).CellStyle = allStyle;
                    }
                }
            }
            //设置列宽
            sheet.SetColumnWidth(0, 1200);
            sheet.SetColumnWidth(1, 4600);
            sheet.SetColumnWidth(2, 5600);
            sheet.SetColumnWidth(3, 2600);
            sheet.SetColumnWidth(4, 3600);
            sheet.SetColumnWidth(5, 3600);
            sheet.SetColumnWidth(6, 2600); //设置列宽
            sheet.SetColumnWidth(7, 2600);
            sheet.SetColumnWidth(8, 4600);
            sheet.SetColumnWidth(9, 4600);

            sheet.ForceFormulaRecalculation = true;
            return(CommonMethod.WriteToFileAndGetFileUrl(workbook, sheetName));
        }
        /// <summary>
        /// ボタンの種類を判断する
        /// </summary>
        /// <param name="material">ボタンが押されたときのパラメーターを指定</param>
        /// <returns></returns>
        private EnumButtonKind JudgeButtonKind(string material)
        {
            EnumButtonKind kind = EnumButtonKind.None;

            switch (material)
            {
            case "0":
                if (bugMan.conf.NotZeroButtonClick == false)
                {
                    kind = EnumButtonKind.Number;
                }
                break;

            case "1":
            case "2":
            case "3":
            case "4":
            case "5":
            case "6":
            case "7":
            case "8":
            case "9":
                kind = EnumButtonKind.Number;
                break;

            case "+":
                operate = EnumOperate.Addition;
                kind    = EnumButtonKind.Mark;
                break;

            case "-":
                operate = bugMan.conf.InvalidSymbol ? EnumOperate.Division : EnumOperate.Subtraction;
                kind    = EnumButtonKind.Mark;
                break;

            case "×":
                operate = EnumOperate.Multiplication;
                kind    = EnumButtonKind.Mark;
                break;

            case "÷":
                operate = bugMan.conf.InvalidSymbol ? EnumOperate.Subtraction : EnumOperate.Division;
                kind    = EnumButtonKind.Mark;
                break;

            case "=":
                operate = EnumOperate.Calclation;
                kind    = EnumButtonKind.Func;
                // ランダムで遅らせる
                // TODO: コマンドを分ければ?DelayExecute とか?
                if (bugMan.conf.WaitEqualButton)
                {
                    DelayRandom(0, 700);                            // 本来ここに書きたくないが、イコールボタンを押した時はラグが発生するようにする
                }
                break;

            case "C":
                operate = EnumOperate.Clear;
                kind    = EnumButtonKind.Func;
                break;
            }
            return(kind);
        }
        public void ButtonClick(string param)
        {
            // Enable になっているボタンを押されたときは他ボタンも Enable にする。
            ButtonEnabled = true;

            // 負荷アップ
            if (bugMan.conf.InvalidCPUUse)
            {
                Burden();
            }

            // 押されたボタンの種類を調べる
            var kind = JudgeButtonKind(param);

            if (kind == EnumButtonKind.None)
            {
                return;
            }

            if (prevMode == EnumInputMode.Result)
            {
                if (kind == EnumButtonKind.Number)
                {
                    Display = string.Empty;
                }
            }

            // クリア処理
            if (operate == EnumOperate.Clear)
            {
                Clear();
                return;
            }

            // モードを判断
            if (kind == EnumButtonKind.Number)
            {
                if (prevMode == EnumInputMode.Symbol ||
                    prevMode == EnumInputMode.Second)
                {
                    mode = EnumInputMode.Second;
                }
                else
                {
                    mode = EnumInputMode.First;
                }

                if (Display.Equals("0"))
                {
                    // 「01」のような表示になることを防ぐ。
                    Display = string.Empty;
                }
            }
            else if (kind == EnumButtonKind.Mark)
            {
                if (prevMode == EnumInputMode.Second)
                {
                    mode = EnumInputMode.SymbolCalc;
                }
                else
                {
                    mode = EnumInputMode.Symbol;
                }
            }
            else if (kind == EnumButtonKind.Func)
            {
                if (operate == EnumOperate.Calclation)
                {
                    if (prevMode == EnumInputMode.First)
                    {
                        return;
                    }
                    mode = EnumInputMode.Calc;
                }
                else if (operate == EnumOperate.Clear)
                {
                    mode = EnumInputMode.First;
                }
            }

            // 2回続けて計算記号を押したとき
            if (prevMode == EnumInputMode.Symbol)
            {
                if (mode == EnumInputMode.Symbol)
                {
                    // 演算子のマークを変更して終了(計算はしない)
                    Display         = Display.Remove(Display.Length - 1);
                    Display        += param;
                    operationSymbol = operate;
                    return;
                }
            }

            if (mode == EnumInputMode.Symbol)
            {
                leftString      = Display;
                operationSymbol = operate;
            }

            // 実行するタイプでなければ表示文字の右側に追加
            if (mode != EnumInputMode.Calc && mode != EnumInputMode.SymbolCalc)
            {
                Display += param;
            }

            // 計算処理
            if (mode == EnumInputMode.Calc || mode == EnumInputMode.SymbolCalc)
            {
                if (prevMode != EnumInputMode.Result)
                {
                    // 結果表示時の場合、以前の値を使うので、このチェックは行なわない
                    if (leftString.Length == 0 || Display.Equals(leftString))
                    {
                        return;
                    }
                }
                if (prevMode == EnumInputMode.Symbol)
                {
                    // 1+=のパターン
                    rightString = leftString;
                }
                else if (prevMode == EnumInputMode.Result)
                {
                    // rightString は前回のままの値を使う
                }
                else
                {
                    rightString = Display.Remove(0, leftString.Length + 1);
                }
                if (rightString.Length == 0)
                {
                    return;
                }

                Display = Calclate(long.Parse(leftString), long.Parse(rightString), operationSymbol);
                if (mode == EnumInputMode.Error)
                {
                    return;
                }

                leftString = Display;
                //rightString = string.Empty;

                if (mode == EnumInputMode.SymbolCalc)
                {
                    Display        += GetSymbolStringFromOperationSymbol(operate);
                    mode            = EnumInputMode.Symbol;
                    operationSymbol = operate;
                }
                else
                {
                    mode    = EnumInputMode.Result;
                    operate = EnumOperate.None;
                }
                // TODO:エラー表示の Enable/Disable 切り替えは Converter を利用する方がスマート
            }

            prevMode = mode;

            // 桁オーバーエラー
            if (CheckDigitError() == false)
            {
                DigitError();
            }
        }
        /// <summary>
        /// 转换实体
        /// </summary>
        /// <param name="row">数据行</param>
        /// <returns></returns>
        public DataColumnInfo DataRowToModel(DataRow row)
        {
            var model = new DataColumnInfo();

            if (row != null)
            {
                if (!row["Id"].IsNullOrEmpty())
                {
                    model.Id = row["Id"].ToInt32();
                }
                if (!row["Name"].IsNullOrEmpty())
                {
                    model.Name = row["Name"].ToStringValue();
                }
                if (!row["IsIdentity"].IsNullOrEmpty())
                {
                    model.IsIdentity     = row["IsIdentity"].ToInt32();
                    model.IsIdentityDesc = EnumOperate.GetEnumDesc((IsIdentity)model.IsIdentity);
                }
                if (!row["IdentSeed"].IsNullOrEmpty())
                {
                    model.IdentSeed = row["IdentSeed"].ToInt32();
                }
                if (!row["IdentIncr"].IsNullOrEmpty())
                {
                    model.IdentIncr = row["IdentIncr"].ToInt32();
                }
                if (!row["IsKey"].IsNullOrEmpty())
                {
                    model.IsKey     = row["IsKey"].ToInt32();
                    model.IsKeyDesc = EnumOperate.GetEnumDesc((IsKey)model.IsKey);
                }
                if (!row["Type"].IsNullOrEmpty())
                {
                    model.Type = row["Type"].ToStringValue();
                }
                if (!row["Bytes"].IsNullOrEmpty())
                {
                    model.Bytes = row["Bytes"].ToInt32();
                }
                if (!row["Length"].IsNullOrEmpty())
                {
                    model.Length = row["Length"].ToInt32();
                }
                if (!row["Scale"].IsNullOrEmpty())
                {
                    model.Scale = row["Scale"].ToInt32();
                }
                if (!row["IsNullable"].IsNullOrEmpty())
                {
                    model.IsNullable     = row["IsNullable"].ToInt32();
                    model.IsNullableDesc = EnumOperate.GetEnumDesc((IsNullable)model.IsNullable);
                }
                if (!row["DefaultValue"].IsNullOrEmpty())
                {
                    model.DefaultValue = row["DefaultValue"].ToStringValue();
                }
                if (!row["Description"].IsNullOrEmpty())
                {
                    model.Description = row["Description"].ToStringValue();
                }
            }
            return(model);
        }