Beispiel #1
0
    public static Boolean fnStudentCheckIn(ref FpStudentObject fso, FpSite fpSite, DateTime lDtCheckin)
    {
        bool isCheckin = false;
        //FpSite fpSite = SimpleOrmOperator.Query<FpSite>(site_id);
        string bustype   = fpSite.BUSTYPE;
        int    localType = fso.LOCALTYPE;

        if (fpSite.LIMIT > 0)
        {
            string condition = string.Format(" where SITE_ID={0} and BUSTYPE='{1}' and to_char(CHECKIN_DATE,'YYYY-MM-DD') = '{2}' order by CHECKIN_DATE DESC "
                                             , fpSite.ID
                                             , bustype
                                             , lDtCheckin
                                             );

            int checkinCount = SimpleOrmOperator.QueryCounts <FpSite>(condition);
            if (checkinCount >= fpSite.LIMIT)
            {
                string fullMsg = string.Format("场地:{0} 今天的入场人数已超过{1},不能再入场", fpSite.NAME, fpSite.LIMIT);
                throw new Exception(fullMsg);
            }
        }
        FpLocalType fpLocalType = null;

        if (DictFpLocalTypes.ContainsKey(localType))
        {
            fpLocalType = DictFpLocalTypes[localType];
        }
        else
        {
            fpLocalType = SimpleOrmOperator.Query <FpLocalType>(localType);
            DictFpLocalTypes.Add(localType, fpLocalType);
        }


        isCheckin = fso.checkin(fpSite, fpLocalType, lDtCheckin);

        //fso.IDCARD="'"+fso.IDCARD+"'";
        SimpleOrmOperator.Update(fso);
        fso.IDCARD = fso.IDCARD.Trim('\'');;


        if (isCheckin)
        {
            FpCheckinLog log = new FpCheckinLog();
            log.BUSTYPE        = bustype;
            log.SITE_ID        = fpSite.ID;
            log.CHECKIN_NAME   = fso.NAME;
            log.CHECKIN_IDCARD = fso.IDCARD;
            log.CHECKIN_DATE   = lDtCheckin;
            log.REMARK         = fso.REMARK;
            log.CHECKIN_STATUE = fso.STATUE;
            int statue = fso.STATUE;
            if (statue == FpStudentObject.STATUE_KM1_ENTER)
            {
                log.REMARK = "科目1进场";
            }
            else if (statue == FpStudentObject.STATUE_KM2_ENTER)
            {
                log.REMARK = "科目2进场";
            }
            else if (statue == FpStudentObject.STATUE_KM1_ENTER)
            {
                log.REMARK = "科目3进场";
            }
            else if (statue == FpStudentObject.STATUE_LESSON_START)
            {
                log.REMARK = "上课进场";
            }
            else if (statue == FpStudentObject.STATUE_LESSON_END)
            {
                log.REMARK = "下课离场";
            }

            isCheckin = SimpleOrmOperator.Create(log);
        }
        return(isCheckin);
    }
Beispiel #2
0
 /// <summary>
 /// 计算总记录数和总页数
 /// </summary>
 private void Count()
 {
     this.recordCount = SimpleOrmOperator.QueryCounts(this.entityType, this.condition);
     this.pageCount   = this.GetPageCount();
 }