Exemple #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);
    }
Exemple #2
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;
    }