private void button_add_Click(object sender, EventArgs e) { //数据合法性 if (textBox_name.Text == "" || dateTimePicker_start.Value > dateTimePicker_end.Value) { return; } //写到表里 var o = new Dos.Model.oa() { name = textBox_name.Text, date = dateTimePicker_start.Value.Date, start = dateTimePicker_start.Value, end = dateTimePicker_end.Value.AddMinutes(1), reason = _curReason, subreason = "" }; DB.Context.Insert(o); }
/// <summary> /// /// </summary> /// <param name="m">原因</param> /// <param name="namearg"></param> /// <param name="startarg"></param> /// <param name="endarg"></param> /// <param name="timearg">提交时间,用于合法性过滤</param> /// <param name="subreasonarg"></param> private static void readjson(string m, int namearg, int startarg, int endarg, int timearg, int subreasonarg = -1) { login(); var d = getoaData("JsonData\\" + m + ".txt"); if (d == null) { return; } var trans = DB.Context.BeginTransaction(); var count = 0; foreach (JsonData jrow in d) { var sqrj = DateTime.Parse(jrow["field00" + timearg.ToString("00")].ToString()); if (sqrj.Date < _dateTime.Date)//数据合法时间 { continue; } var jargDate = DateTime.Parse(jrow["field00" + startarg.ToString("00")].ToString()).Date; var jargStart = DateTime.Parse(jrow["field00" + startarg.ToString("00")].ToString()); var jargEnd = DateTime.Parse(jrow["field00" + endarg.ToString("00")].ToString()); //查看时间有没有跨月. if (jargEnd.Month - jargStart.Month == 1) { var lastdayofmonth = jargEnd.AddDays(-jargEnd.Day); var firstdayofmonth = lastdayofmonth.AddDays(1); //切时间 var o1 = new Dos.Model.oa() { name = jrow["field00" + namearg.ToString("00")].ToString(), date = jargStart.Date, start = jargStart, end = lastdayofmonth,//改成这个月的最后一天. reason = m, subreason = subreasonarg != -1?jrow["field00" + subreasonarg.ToString("00")].ToString():"" }; var o2 = new Dos.Model.oa() { name = jrow["field00" + namearg.ToString("00")].ToString(), date = firstdayofmonth.Date, start = firstdayofmonth, end = jargEnd, reason = m, subreason = subreasonarg != -1 ? jrow["field00" + subreasonarg.ToString("00")].ToString() : "" }; DB.Context.Insert(trans, o1); DB.Context.Insert(trans, o2); log._logger.Info("出现分割日期"); } else { var o = new Dos.Model.oa() { name = jrow["field00" + namearg.ToString("00")].ToString(), date = jargDate, start = jargStart, end = jargEnd, reason = m, subreason = subreasonarg != -1 ? jrow["field00" + subreasonarg.ToString("00")].ToString() : "" }; //加入oa表中 DB.Context.Insert(trans, o); } count++; } trans.Commit(); log._logger.Info($"读取{m}完成,得到{d.Count}条记录,合法{count}条,合法时间{_dateTime}"); }