private void Button_Click(object sender, RoutedEventArgs e) { if (!pf_input_valid()) { return; } //--------------- 验证完成后, 需要把日期格式统一转成约定格式 //快照 输入字段 DateTime?pd_dt = pdDate.SelectedDate.Value.Date; DateTime?plan_dt = planDate.SelectedDate.Value.Date; //--------------- using (jhbEntities ctx = new jhbEntities()) { var en_wt = (from g in ctx.WTs where g.问题编号 == _Id select g).Single(); //唯一记录., 记录编号检索 var enty_wt = ctx.Entry(en_wt).Entity; enty_wt.lastEdit = myFuc.getNowDateHashcode(); enty_wt.受理单位 = pdUnit.Text; enty_wt.整改方案 = PlanFix.Text; enty_wt.OpTrack = "PF"; enty_wt.rev1 = pd_dt.Value.ToString("yyyy年M月d日"); //记录最后一次派发日期. //--------------- 生成派发表. 同一天, 同站名, 同设备问题, 同受理单位 视为更新! g.派发日期.Value - pd_dt.Value) var en_pf = from g in ctx.PFs where g.站名 == _Zn && g.问题编号 == _Id && g.派发日期 == pd_dt select g; switch (en_pf.Count()) { case 0: //新生 PF nPf = new PF(); nPf.lastEdit = myFuc.getNowDateHashcode(); nPf.存在问题 = _wt.存在问题; nPf.计划时间 = plan_dt; //planDate.Text.ToString("yyyy-M-d") nPf.派发日期 = pd_dt; // this.pdDate.Text; nPf.设备名称 = _wt.设备名称; nPf.受理单位 = pdUnit.Text; nPf.天窗需求 = _wt.天窗需求; nPf.问题编号 = _Id; nPf.站名 = _Zn; nPf.保留2 = PlanFix.Text; ctx.PFs.Add(nPf); // int x = await ctx.SaveChangesAsync(); //ctx.SaveChanges(); break; case 1: // 更新 var pf_entry_row = en_pf.Single(); //实体 var entry = ctx.Entry(pf_entry_row).Entity; // 入口 entry.lastEdit = myFuc.getNowDateHashcode(); entry.存在问题 = _wt.存在问题; entry.计划时间 = plan_dt; //planDate.Text.ToString("yyyy-M-d") entry.设备名称 = _wt.设备名称; entry.受理单位 = pdUnit.Text; entry.天窗需求 = _wt.天窗需求; entry.保留2 = PlanFix.Text; //ctx.SaveChanges(); break; } //---------- 生成通知单表 -- 根据日期,站名,受理单位三个记录条件找到记录, 更新记录字段.. var en_tzd = from g in ctx.TZDs where g.派单日期 == pd_dt && g.站名 == _Zn && g.受理单位 == pdUnit.Text select g; switch (en_tzd.Count()) { case 0: // 插入新通知单 TZD new_tzd = new TZD(); new_tzd.派单日期 = pd_dt; new_tzd.记录 = "\n" + "^" + _wt.设备名称 + ": " + _wt.存在问题 + " (" + plan_dt.Value.ToString("M月d日") + ")"; new_tzd.lastEdit = myFuc.getNowDateHashcode(); new_tzd.受理单位 = pdUnit.Text; new_tzd.站名 = _Zn; ctx.TZDs.Add(new_tzd); //ctx.SaveChanges(); break; case 1: //更新通知单 var tzd_enty_row = en_tzd.Single(); string oldRec = tzd_enty_row.记录; if (oldRec.Contains(_wt.设备名称 + ": " + _wt.存在问题) == false) { ctx.Entry(tzd_enty_row).Entity.记录 = oldRec + "\n" + "^" + _wt.设备名称 + ": " + _wt.存在问题; ctx.Entry(tzd_enty_row).Entity.lastEdit = myFuc.getNowDateHashcode(); ctx.SaveChangesAsync(); } break; default: Console.WriteLine("跑飞了...."); break; } ctx.SaveChangesAsync(); //ctx.SaveChanges(); g_var.g_chg_wt = enty_wt; } g_var.g_pf_flag = true; this.Close(); }
public detail_show(Int64 indx) { InitializeComponent(); _indx = indx; _pf = new PF(); }