Example #1
0
 public FamilyResult(int fid, int campus, int thisday, int page, bool waslocked)
 {
     this.fid       = fid;
     this.campus    = campus;
     this.thisday   = thisday;
     this.page      = page;
     this.waslocked = waslocked;
     if (fid > 0)
     {
         var db    = DbUtil.Create(Util.Host);
         var lockf = db.FamilyCheckinLocks.SingleOrDefault(f => f.FamilyId == fid);
         if (lockf == null)
         {
             lockf = new FamilyCheckinLock {
                 FamilyId = fid, Created = DateTime.Now
             };
             db.FamilyCheckinLocks.InsertOnSubmit(lockf);
         }
         lockf.Locked = true;
         if (!waslocked)
         {
             lockf.Created = DateTime.Now;
         }
         db.SubmitChanges();
     }
 }
        public ActionResult LockFamily(string data)
        {
            if (!Auth())
            {
                return(CheckInMessage.createErrorReturn("Authentication failed, please try again", CheckInMessage.API_ERROR_INVALID_CREDENTIALS));
            }

            CheckInMessage dataIn = CheckInMessage.createFromString(data);

            FamilyCheckinLock lockf = CurrentDatabase.FamilyCheckinLocks.SingleOrDefault(f => f.FamilyId == dataIn.argInt);

            if (lockf == null)
            {
                lockf = new FamilyCheckinLock {
                    FamilyId = dataIn.argInt, Created = DateTime.Now
                };
                CurrentDatabase.FamilyCheckinLocks.InsertOnSubmit(lockf);
            }

            lockf.Locked  = true;
            lockf.Created = DateTime.Now;

            CurrentDatabase.SubmitChanges();

            CheckInMessage br = new CheckInMessage();

            br.setNoError();
            br.id = dataIn.argInt;
            return(br);
        }
Example #3
0
        public ActionResult Family( string data )
        {
            if( !Auth() )
                return CheckInMessage.createErrorReturn( "Authentication failed, please try again", CheckInMessage.API_ERROR_INVALID_CREDENTIALS );

            CheckInMessage dataIn = CheckInMessage.createFromString( data );
            CheckInFamilySearch cfs = JsonConvert.DeserializeObject<CheckInFamilySearch>( dataIn.data );

            DbUtil.LogActivity( "Check-In Family: " + cfs.familyID );

            CheckInMessage br = new CheckInMessage();
            br.setNoError();

            int tzOffset = DbUtil.Db.Setting( "TZOffset", "0" ).ToInt();

            List<CheckInFamily> families = new List<CheckInFamily>();

            FamilyCheckinLock familyLock = DbUtil.Db.FamilyCheckinLocks.SingleOrDefault( f => f.FamilyId == dataIn.argInt );

            CheckInFamily family = new CheckInFamily( cfs.familyID, "", familyLock?.Locked ?? false );

            List<CheckinFamilyMember> members = (from a in DbUtil.Db.CheckinFamilyMembers( cfs.familyID, cfs.campus, cfs.day ).ToList()
                                                 orderby a.Position, a.Position == 10 ? a.Genderid : 10, a.Age descending, a.Hour
                                                 select a).ToList();

            foreach( CheckinFamilyMember member in members ) {
                family.addMember( member, cfs.day, tzOffset );
            }

            families.Add( family );
            br.count = 1;

            br.data = SerializeJSON( families, dataIn.version );
            return br;
        }
Example #4
0
        public ActionResult UnLockFamily( string data )
        {
            if( !Auth() )
                return CheckInMessage.createErrorReturn( "Authentication failed, please try again", CheckInMessage.API_ERROR_INVALID_CREDENTIALS );

            CheckInMessage dataIn = CheckInMessage.createFromString( data );

            FamilyCheckinLock lockf = DbUtil.Db.FamilyCheckinLocks.SingleOrDefault( f => f.FamilyId == dataIn.argInt );

            if( lockf != null ) {
                lockf.Locked = false;
                DbUtil.Db.SubmitChanges();
            }

            CheckInMessage br = new CheckInMessage();
            br.setNoError();
            br.id = dataIn.argInt;
            return br;
        }