Exemplo n.º 1
0
 private void ShowQueryResult(_工号记录详细信息 data)
 {
     InvokeMainForm((obj) =>
     {
         lb人员名称.Text = data._员工姓名;
         lb人员代号.Text = data._工号;
     }, null);
 }
Exemplo n.º 2
0
        private void btn缓存工号记录_Click(object sender, EventArgs e)
        {
            btn缓存工号记录.Enabled = false;
            ShowMsg("---");
            var strError     = string.Empty;
            var list工号记录详细信息 = new List <_工号记录详细信息>();
            var list工号记录     = new List <_工号记录表>();

            //目前发现linqtoexcel的一个问题,column的列类型根据最后一行判断,不是自己设定的mapping类,所以需要在csv后尾自己拼接一行字符串
            //但为了不改动原csv需要自己复制一份
            #region 读取数据
            var strTmpCsvFile = Path.Combine(_CacheFolder, Guid.NewGuid().ToString() + ".csv");
            File.Copy(txt工号记录.Text, strTmpCsvFile);

            ShowMsg("开始读取工号记录数据");
            using (var writer = new StreamWriter(strTmpCsvFile, true))
            {
                writer.WriteLine("end row");
            }

            FormHelper.ReadCSVFile(strTmpCsvFile, ref list工号记录, ref strError);
            for (int idx = 0, len = list工号记录.Count - 1; idx < len; idx += 2)
            {
                if (list工号记录[idx]._工号记录 != "end row")
                {
                    var model = new _工号记录详细信息();
                    model._入库单号 = list工号记录[idx]._工号记录;
                    model._工号   = list工号记录[idx + 1]._工号记录;

                    if (model._工号.Length >= 5)
                    {
                        MessageBox.Show(string.Format("检测到工号记录有错行,在第{0}行附近,请先排除后在上传.", idx), "数据异常");
                        ShowMsg("---");
                        return;
                    }

                    model._操作日期 = DateTime.Now;
                    list工号记录详细信息.Add(model);
                }
                else
                {
                    break;
                }
            }
            if (File.Exists(strTmpCsvFile))
            {
                File.Delete(strTmpCsvFile);
            }
            #endregion

            ShowMsg("开始存储工号记录数据,请稍后");
            #region 记录点货历史信息
            {
                _List当月历史点货记录.AddRange(list工号记录详细信息);

                if (!Directory.Exists(_CacheFolder))
                {
                    Directory.CreateDirectory(_CacheFolder);
                }

                using (var writer = new StreamWriter(_当月历史点货记录信息Path, false))
                {
                    var str = JsonConvert.SerializeObject(_List当月历史点货记录);
                    writer.Write(str);
                }
            }
            #endregion

            ShowMsg("---");
            MessageBox.Show("工号记录存储完毕", "温馨提示");
            btn缓存工号记录.Enabled = true;
            txt工号记录.Text      = string.Empty;
        }