Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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}");
        }