コード例 #1
0
        private bool ImportExcel()
        {
            //bool result;
            System.Data.DataTable dt;
            var openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "Excel (*.XLS)|*.xls";

            if (!(bool)(openFileDialog.ShowDialog()))
            {
                return(false);
            }
            else
            {
                string excelName = openFileDialog.FileName;
                dt = _excelHelper.LoadExcel(excelName);
            }

            if (dt == null)
            {
                return(false);
            }
            else
            {
                var tradeNo = openFileDialog.SafeFileName.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries)[0];
                LvTradeInfo.Add(new T_Trade_Sta_Ext()
                {
                    Trade_No = tradeNo, Sort = LvTradeInfo.Count()
                });
                dt.Rows.RemoveAt(0);
                dt.Columns.RemoveAt(9);
                ld.Add(dt);
                return(true);
            }
        }
コード例 #2
0
        //确定
        private void Okay()
        {
            bool result = true;
            //sql语句列表
            var    SqlList = new Dictionary <List <string>, string>();
            string guid;

            guid = Guid.NewGuid().ToString("N").ToUpper();

            SqlList.Add(new List <string> {
                guid, QuestionName, Difficulty, "1"
            }, SQL.AddQuestions);


            //添加操作题标准答案交易
            for (int i = 0; i < LvTradeInfo.Count(); i++)
            {
                string tradeGuid = Guid.NewGuid().ToString("N").ToUpper();
                SqlList.Add(new List <string>
                {
                    tradeGuid,
                    guid,
                    LvTradeInfo[i].Trade_No,
                    LvTradeInfo[i].Proportion.ToString(),
                    LvTradeInfo[i].Sort.ToString()
                }, SQL.ADDTRADESTAANSWER);
                foreach (DataRow item in ld[i].Rows)
                {
                    string answerGuid = Guid.NewGuid().ToString("N").ToUpper();
                    SqlList.Add(new List <string>
                    {
                        answerGuid,
                        tradeGuid,
                        item["F_VALUE_TYPE"].ToString(),
                        item["F_DOMAIN"].ToString(),
                        item["F_DOMAIN_VALUE"].ToString(),
                        item["F_IS_WRITE"].ToString(),
                        item["F_PROPORTION"].ToString(),
                        item["F_SORT"].ToString()
                    }, SQL.ADDTRADEVALSTAANSWER);
                }
            }
            //执行事务处理
            result = ExamHandle.TryExecute(SqlList.Values.ToArray(), SqlList.Keys.Select(c => c.ToArray()).ToArray());
            if (result)
            {
                Messenger.Default.Send("提交成功!");
                Close();
            }
            else
            {
                Messenger.Default.Send("提交失败!");
            }
        }
コード例 #3
0
        //确定
        private void Okay()
        {
            if (LvTradeInfo.Sum(x => Convert.ToSingle(x.Proportion)) != 100f)
            {
                Messenger.Default.Send("采分点权重之和必须为100%!");
                return;
            }
            //事务提交sql结果
            bool result = true;
            //sql语句列表
            var SqlList = new Dictionary <List <string>, string>();
            //题目key
            string guid;

            //修改
            if (ModifyOrAdd == ModifyState.Modify)
            {
                guid = Question_Collection.Key;

                //删除Fld_Sta信息
                SqlList.Add(new List <string> {
                    guid
                }, "DELETE FROM T_FLD_STA WHERE F_TRADESTA_KEY in (SELECT F_KEY FROM t_trade_sta WHERE f_question_key = ?)");

                //修改交易名称信息
                SqlList.Add(new List <string> {
                    QuestionName, Difficulty, guid
                },
                            @"UPDATE t_question_collection SET f_question=?,f_level=? WHERE F_KEY=?");

                //修改操作题交易
                foreach (T_Trade_Sta_Ext trade in LvTradeInfo)
                {
                    if (ExamHandle.TryGetData(@"SELECT * FROM T_TRADE_STA WHERE F_KEY = ?", trade.Key).Rows.Count > 0)
                    {
                        var arrayParam = new List <string> {
                            trade.Menu_No, trade.Trade_No, trade.Proportion.ToString(), trade.Sort.ToString(), trade.Key
                        };
                        var sql = @"UPDATE
                                    T_TRADE_STA
                                SET
                                    F_MENU_NO =  ?,
                                    F_TRADE_NO =  ?,
                                    F_PROPORTION = ?,
                                    F_SORT =  ?
                                WHERE
                                    F_KEY = ?";
                        SqlList.Add(arrayParam, sql);
                    }
                    else
                    {
                        var arrayParam = new List <string>
                        {
                            trade.Key,
                            guid,
                            trade.Menu_No,
                            trade.Trade_No,
                            trade.Proportion.ToString(),
                            trade.Sort.ToString()
                        };
                        var sql = @"INSERT
                                INTO
                                    T_TRADE_STA
                                    (
                                        F_KEY,
                                        F_QUESTION_KEY,
                                        F_MENU_NO,
                                        F_TRADE_NO,
                                        F_PROPORTION,
                                        F_SORT
                                    )
                                    VALUES
                                    (
                                        ?,
                                        ?,
                                        ?,
                                        ?,
                                        ?,
                                        ?
                                    )";
                        SqlList.Add(arrayParam, sql);
                    }
                }
            }
            else if (ModifyOrAdd == ModifyState.Add)
            {
                guid = Guid.NewGuid().ToString("N").ToUpper();

                SqlList.Add(new List <string> {
                    guid, QuestionName, Difficulty, "1"
                }, SQL.AddQuestions);


                //添加操作题标准答案交易
                foreach (T_Trade_Sta_Ext trade in LvTradeInfo)
                {
                    SqlList.Add(new List <string>
                    {
                        trade.Key,
                        guid,
                        trade.Menu_No,
                        trade.Trade_No,
                        trade.Proportion.ToString(),
                        trade.Sort.ToString()
                    }, SQL.ADDTRADESTAANSWER);
                }
            }
            string InsFldStaSql = @"INSERT INTO T_FLD_STA (F_KEY, F_TRADESTA_KEY, F_LOCATION, F_CHANNEL, F_IOFLAG,F_OBJCODE, F_FLDCODE, F_FLDDES, F_FLDVALUE, F_ISCREATE, F_PROPORTION, F_SORT) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

            //添加操作题标准答案值
            foreach (T_Trade_Sta_Ext trade in LvTradeInfo)
            {
                string keyInfo      = trade.KeyInfo;
                var    arrayKeyInfo = keyInfo.Split(new string[] { "#*#" }, StringSplitOptions.RemoveEmptyEntries);
                if (arrayKeyInfo != null && arrayKeyInfo.Length > 0)
                {
                    foreach (var ele in arrayKeyInfo)
                    {
                        var arrayFileds = ele.Split(new string[] { "|*|" }, StringSplitOptions.None);
                        if (arrayFileds != null && arrayFileds.Length == 12)
                        {
                            SqlList.Add(new List <string>

                            {
                                arrayFileds[0],
                                arrayFileds[1],
                                arrayFileds[2],
                                arrayFileds[3],
                                arrayFileds[4],
                                arrayFileds[5],
                                arrayFileds[6],
                                arrayFileds[7],
                                arrayFileds[8],
                                arrayFileds[9],
                                arrayFileds[10],
                                arrayFileds[11]
                            }, InsFldStaSql);
                        }
                        ;
                    }
                }
            }
            //执行事务处理
            result = ExamHandle.TryExecute(SqlList.Values.ToArray(), SqlList.Keys.Select(c => c.ToArray()).ToArray());
            if (result)
            {
                Messenger.Default.Send("提交成功!");
                Close();
            }
            else
            {
                Messenger.Default.Send("提交失败!");
            }
        }
コード例 #4
0
        //初始化
        public override void Loaded()
        {
            //如果上页面有传过来参数
            if ((int)ModifyOrAdd == 1)
            {
                //题目名称
                QuestionName = Question_Collection.Question;

                //题目难度
                Difficulty = Question_Collection.Level.ToString();
                try
                {
                    //通过传过来的题目的KEY查询出所有符合的交易信息
                    List <T_Trade_Sta> tradeinfo =
                        ExamHandle.TryGetData <T_Trade_Sta>(
                            @"SELECT F_KEY,F_QUESTION_KEY,F_MENU_NO,F_TRADE_NO,F_PROPORTION,F_SORT FROM T_TRADE_STA WHERE F_QUESTION_KEY = ?",
                            Question_Collection.Key);
                    foreach (var ele in tradeinfo)
                    {
                        List <T_Fld_Sta> listFldSta = ExamHandle.TryGetData <T_Fld_Sta>(
                            @"SELECT
                                    F_KEY,
                                    F_TRADESTA_KEY,
                                    F_LOCATION,
                                    F_CHANNEL,
                                    F_IOFLAG,
                                    F_OBJCODE,
                                    F_FLDCODE,
                                    F_FLDDES,
                                    F_FLDVALUE,
                                    F_ISCREATE,
                                    F_PROPORTION,
                                    F_SORT
                                FROM
                                    T_FLD_STA WHERE F_TRADESTA_KEY=?",
                            ele.Key);
                        string keyinfos = string.Empty;
                        foreach (var item in listFldSta)
                        {
                            keyinfos += item.F_KEY + "|*|"
                                        + item.F_TRADESTA_KEY + "|*|"
                                        + item.F_LOCATION + "|*|"
                                        + item.F_CHANNEL + "|*|"
                                        + item.F_IOFLAG + "|*|"
                                        + item.F_OBJCODE + "|*|"
                                        + item.F_FLDCODE + "|*|"
                                        + item.F_FLDDES + "|*|"
                                        + item.F_FLDVALUE + "|*|"
                                        + item.F_ISCREATE + "|*|"
                                        + item.F_PROPORTION + "|*|"
                                        + item.F_SORT + "#*#";
                        }


                        LvTradeInfo.Add(new T_Trade_Sta_Ext
                        {
                            Key          = ele.Key,
                            Question_Key = ele.Question_Key,
                            Menu_No      = ele.Menu_No,
                            Trade_No     = ele.Trade_No,
                            Proportion   = ele.Proportion,
                            KeyInfo      = keyinfos,
                            Sort         = ele.Sort
                        });
                    }



                    //var temp = new List<T_Trade_Sta>(tradeinfo);

                    ////将查询出来的交易信息转一次格式,变成需要的的类型T_Trade_Sta_Ext

                    //foreach (var item in listPtAnswer)
                    //{
                    //    keyinfos += item.F_KEY + "|*|"
                    //    + item.F_TRADESTA_KEY + "|*|"
                    //    + item.F_LOCATION + "|*|"
                    //    + item.F_CHANNEL + "|*|"
                    //    + item.F_IOFLAG + "|*|"
                    //    + item.F_OBJCODE + "|*|"
                    //    + item.F_FLDCODE + "|*|"
                    //    + item.F_FLDDES + "|*|"
                    //    + item.F_FLDVALUE + "|*|"
                    //    + item.F_ISCREATE + "|*|"
                    //    + item.F_PROPORTION + "|*|"
                    //    + item.F_SORT + "#*#";
                    //}
                    //List<T_Trade_Sta_Ext> ListLvTradeInfo = temp.Select(c => new T_Trade_Sta_Ext
                    //{
                    //    Key = c.Key,
                    //    Question_Key = c.Question_Key,
                    //    Menu_No = c.Menu_No,
                    //    Trade_No = c.Trade_No,
                    //    Proportion = c.Proportion,
                    //    KeyInfo = "",
                    //    Sort = c.Sort
                    //}).ToList();

                    ////将转后的交易信息负给前台listview的数据源
                    //LvTradeInfo = new ObservableCollection<T_Trade_Sta_Ext>(ListLvTradeInfo);

                    ////通过传过来的交易的KEY查询出所有符合的答案信息
                    //for (int i = 0; i < LvTradeInfo.Count(); i++)
                    //{
                    //    List<T_Trade_Value_Sta> answerinfo =
                    //        ExamHandle.TryGetData<T_Trade_Value_Sta>(
                    //            @"SELECT F_KEY,F_TRADE_STA_KEY,F_VALUE_TYPE,F_DOMAIN,F_DOMAIN_VALUE,F_IS_WRITE,F_PROPORTION ,F_SORT FROM T_TRADE_VALUE_STA WHERE F_TRADE_STA_KEY = ?",
                    //            LvTradeInfo[i].Key);
                    //    var tempanswerinfo = new List<T_Trade_Value_Sta>(answerinfo);
                    //    string keyinfos = string.Empty;

                    //    //将答案信息拼成交易展示需要的一个字段:KeyInfo
                    //    foreach (T_Trade_Value_Sta x in tempanswerinfo)
                    //    {
                    //        string f = string.Empty;
                    //        if (x.Value_Type == 0 || x.Value_Type == 1)
                    //            f = "Fd";
                    //        keyinfos += f + x.Domain + "=" + x.Domain_Value + "(" + x.Proportion + "%)" +
                    //                    (x.Is_Write.ToString() != "0" ? "(接收数据)" : "不接收数据");
                    //        if (tempanswerinfo.IndexOf(x) != tempanswerinfo.Count() - 1)
                    //        {
                    //            keyinfos += " | ";
                    //        }
                    //    }

                    //    //将该拼好的KeyInfo负值给绑定源
                    //    LvTradeInfo[i].KeyInfo = keyinfos;
                    //}
                }
                catch (Exception)
                {
                }
            }
            else
            {
                Difficulty = "1";
            }
        }
コード例 #5
0
        //新增
        private void AddAnswer()
        {
            Messenger.Default.Send(
                new WindowMessage
            {
                WindowName      = "TradeFieldPage",
                Operation       = WindowOperation.ShowDialog,
                ProcessCallback = (obj) =>
                {
                    if (obj == null)
                    {
                        return;
                    }

                    var data = obj as T_Trade_Sta_Ext;
                    if (data == null)
                    {
                        return;
                    }
                    data.Sort = LvTradeInfo.Count;
                    //下层页面传过来的值
                    LvTradeInfo.Add(data);

                    //listPtAnswer = data[0] as List<T_Fld_Sta>;
                    //string TradeStaKey = data[1] as string;
                    //string MenuNo = data[2] as string;
                    //string TradeWeight = data[3] as string;
                    //string keyinfos = string.Empty;
                    //foreach (var item in listPtAnswer)
                    //{
                    //    keyinfos += item.F_KEY + "|*|"
                    //    + item.F_TRADESTA_KEY + "|*|"
                    //    + item.F_LOCATION + "|*|"
                    //    + item.F_CHANNEL + "|*|"
                    //    + item.F_IOFLAG + "|*|"
                    //    + item.F_OBJCODE + "|*|"
                    //    + item.F_FLDCODE + "|*|"
                    //    + item.F_FLDDES + "|*|"
                    //    + item.F_FLDVALUE + "|*|"
                    //    + item.F_ISCREATE + "|*|"
                    //    + item.F_PROPORTION + "|*|"
                    //    + item.F_SORT + "#*#";
                    //}


                    ////遍历从下层页面传过来的第一个参数listPtAnswer,1,将其按条加到la集合中;2,将信息分割拼成一个 trade 用来显示的字符串keyinfos
                    //la.AddRange(listPtAnswer);

                    ////给tradeinfo 负值
                    //var tradeinfo = new T_Trade_Sta_Ext()
                    //{
                    //    Key = TradeStaKey,
                    //    Menu_No = MenuNo,
                    //    Trade_No = "",
                    //    Proportion = Convert.ToSingle(TradeWeight),
                    //    KeyInfo = keyinfos,
                    //    Sort = LvTradeInfo.Count()
                    //};

                    ////将tradeinfo按条加到数据源中
                    //LvTradeInfo.Add(tradeinfo);
                }
            });
        }