private void wt_update() // 插入时候更新记录 { using (jhbEntities ctx = new jhbEntities()) { var x = (from g in ctx.WTs where g.问题编号 == Rec_info.问题编号 select g).First(); var enty = ctx.Entry(x).Entity; enty.备注 = Rec_info.备注; enty.存在问题 = Rec_info.存在问题.Trim(); enty.发现时间 = Rec_info.发现时间.Value.Date; if (Rec_info.检查人 != null) { enty.检查人 = Rec_info.检查人.Trim(); } if (Rec_info.受理单位 != null) { enty.受理单位 = Rec_info.受理单位.Trim(); } enty.天窗需求 = Rec_info.天窗需求; enty.销记 = Rec_info.销记; enty.严重程度 = Rec_info.严重程度; enty.lastEdit = TodayBincode; enty.OpTrack = "UP"; //Console.WriteLine("更新---"); ctx.SaveChangesAsync(); //ctx.SaveChanges(); } }
private void wt_insert_new() //插入新记录 { using (jhbEntities ctx = new jhbEntities()) { WT wt_in = new WT(); wt_in.站名 = Rec_info.站名.Trim(); wt_in.设备名称 = Rec_info.设备名称.Trim(); wt_in.存在问题 = Rec_info.存在问题; wt_in.发现时间 = Rec_info.发现时间.Value.Date; if (Rec_info.检查人 != null) { wt_in.检查人 = Rec_info.检查人.Trim(); } else { wt_in.检查人 = string.Empty; } wt_in.天窗需求 = Rec_info.天窗需求; wt_in.严重程度 = Rec_info.严重程度; if (Rec_info.受理单位 != null) { wt_in.受理单位 = Rec_info.受理单位.Trim(); } else { wt_in.设备名称 = string.Empty; } wt_in.备注 = Rec_info.备注; wt_in.销记 = false; wt_in.lastEdit = myFuc.getNowDateHashcode(); wt_in.OpTrack = "NE"; ctx.WTs.Add(wt_in); ctx.SaveChangesAsync(); //Console.WriteLine("----插入新记录"); //ctx.SaveChanges(); } }
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(); }