Esempio n. 1
0
 public void MetaData_BeforeFill()
 {
     if (EPM.esistonoScrittureCollegate())
     {
         Meta.CanCancel = false;
     }
 }
Esempio n. 2
0
        public Models.ATTModels.SetXList SetX(DateTime sTime, DateTime eTime, int UID)
        {
            List <Models.ATTModels.SetXUpInfo> setXUpInfos = new List <ATTModels.SetXUpInfo>();

            Models.ATTModels.SetXList setXList = new ATTModels.SetXList();
            int upday = 0;

            try
            {
                using (kaoqingEntities db = new kaoqingEntities())
                {
                    //step 1
                    var    TimeList = GetAllDays(sTime, eTime);
                    Random random   = new Random();
                    foreach (var day in TimeList)
                    {
                        DateTime dt;
                        dt = day.AddHours(23);
                        dt = dt.AddMinutes(59);
                        dt = dt.AddSeconds(59);
                        DateTime SPM;
                        DateTime EPM;
                        SPM = day.AddHours(18);
                        EPM = day.AddHours(18);
                        EPM = EPM.AddMinutes(40);
                        DateTime XBTime;
                        DateTime SBTime;
                        if (db.CHECKINOUT.Where(p => p.CHECKTIME > day && p.CHECKTIME < dt).Count() > 20)
                        {
                            //setp 2
                            int XBhour;
                            int SBhour;
                            if (db.CHECKINOUT.Where(p => p.CHECKTIME > SPM && p.CHECKTIME < EPM).Count() > 10)
                            {
                                XBhour = 18;
                            }
                            else
                            {
                                XBhour = 16;
                            }
                            int XBMinute = random.Next(30, 40);
                            int XBsecond = random.Next(0, 59);
                            XBTime = day.AddHours(XBhour);
                            XBTime = XBTime.AddMinutes(XBMinute);
                            XBTime = XBTime.AddSeconds(XBsecond);

                            SBhour = 8;
                            int SBMinute = random.Next(45, 59);
                            int SBsecond = random.Next(0, 59);
                            SBTime = day.AddHours(SBhour);
                            SBTime = SBTime.AddMinutes(SBMinute);
                            SBTime = SBTime.AddSeconds(SBsecond);

                            //setp 3
                            DateTime CDtime = day.AddHours(9);
                            CDtime = CDtime.AddMinutes(3);
                            DateTime ZTtime = day.AddHours(16);
                            string   sql;
                            bool     updayflag = false;
                            Models.ATTModels.SetXUpInfo setXUpInfo = new ATTModels.SetXUpInfo();
                            var temp = db.CHECKINOUT.Where(p => p.CHECKTIME > day && p.CHECKTIME < dt && p.USERID == UID).ToList();
                            if (temp.Count == 0)
                            {
                                //setp 3.1
                                //sql = "DELETE CHECKINOUT WHERE CONVERT(varchar(100), CHECKTIME, 111)= '" + day.ToString("yyyy/MM/dd") + "' and USERID=" + UID.ToString();
                                //db.Database.ExecuteSqlCommand(sql);
                                List <string> sqllist = new List <string>();
                                sql = "INSERT INTO CHECKINOUT(USERID,CHECKTIME,VERIFYCODE,SENSORID,WorkCode,sn,UserExtFmt)VALUES(" + UID.ToString() + ",'" + SBTime.ToString() + "',1,101,0,3215154504760,1)";
                                db.Database.ExecuteSqlCommand(sql);
                                sqllist.Add(sql);
                                sql = "INSERT INTO CHECKINOUT(USERID,CHECKTIME,VERIFYCODE,SENSORID,WorkCode,sn,UserExtFmt)VALUES(" + UID.ToString() + ",'" + XBTime.ToString() + "',1,101,0,3215154504760,1)";
                                db.Database.ExecuteSqlCommand(sql);
                                sqllist.Add(sql);
                                updayflag      = true;
                                setXUpInfo.day = day.ToString();
                                setXUpInfo.sql = sqllist;
                            }
                            else
                            {
                                //setp 3.2
                                List <string> sqllist = new List <string>();
                                if (temp.Where(p => p.CHECKTIME < CDtime && p.USERID == UID).Count() == 0)
                                {
                                    sql = "DELETE CHECKINOUT WHERE  CHECKTIME > '" + day.ToString("yyyy/MM/dd 00:00:00") + "'and CHECKTIME<'" + day.ToString("yyyy/MM/dd 12:00:00") + "' and USERID=" + UID.ToString();
                                    db.Database.ExecuteSqlCommand(sql);
                                    sqllist.Add(sql);
                                    sql = "INSERT INTO CHECKINOUT(USERID,CHECKTIME,VERIFYCODE,SENSORID,WorkCode,sn,UserExtFmt)VALUES(" + UID.ToString() + ",'" + SBTime.ToString() + "',1,101,0,3215154504760,1)";
                                    db.Database.ExecuteSqlCommand(sql);
                                    sqllist.Add(sql);
                                    updayflag      = true;
                                    setXUpInfo.day = day.ToString();
                                }
                                //setp 3.3
                                if (temp.Where(p => p.CHECKTIME > ZTtime && p.USERID == UID).Count() == 0)
                                {
                                    sql = "DELETE CHECKINOUT WHERE  CHECKTIME > '" + day.ToString("yyyy/MM/dd 16:00:00") + "'and CHECKTIME<'" + day.ToString("yyyy/MM/dd 23:59:59") + "' and USERID=" + UID.ToString();
                                    db.Database.ExecuteSqlCommand(sql);
                                    sqllist.Add(sql);
                                    sql = "INSERT INTO CHECKINOUT(USERID,CHECKTIME,VERIFYCODE,SENSORID,WorkCode,sn,UserExtFmt)VALUES(" + UID.ToString() + ",'" + XBTime.ToString() + "',1,101,0,3215154504760,1)";
                                    db.Database.ExecuteSqlCommand(sql);
                                    sqllist.Add(sql);
                                    updayflag      = true;
                                    setXUpInfo.day = day.ToString();
                                }
                                setXUpInfo.sql = sqllist;
                            }
                            if (updayflag)
                            {
                                upday++;
                                setXUpInfos.Add(setXUpInfo);
                            }
                        }
                    }
                    setXList.Code   = 0;
                    setXList.Result = "Success";
                    setXList.UpDays = upday;
                    setXList.UpInfo = setXUpInfos;
                    return(setXList);
                }
            }
            catch (Exception ex)
            {
                setXList.Code   = -1;
                setXList.Result = ex.Message;
                setXList.UpDays = upday;
                setXList.UpInfo = setXUpInfos;
                return(setXList);
            }
        }
Esempio n. 3
0
 public void MetaData_AfterFill()
 {
     EPM.mostraEtichette();
 }
Esempio n. 4
0
 public void MetaData_AfterPost()
 {
     EPM.afterPost();
 }
Esempio n. 5
0
 public void MetaData_BeforePost()
 {
     EPM.beforePost();
 }
Esempio n. 6
0
 public void MetaData_AfterClear()
 {
     Meta.CanCancel = true;
     EPM.mostraEtichette();
 }