コード例 #1
0
ファイル: Appt.cs プロジェクト: ekohlenberg/lift
        public long unsubscribe()
        {
            Appt a = new Appt();

            a.user_id.Value = getInt("user_id");

            Appt currentAppt   = a.doSingleObjectQuery <Appt>("select");
            int  currentWallId = currentAppt.wall_id.Value;

            notifyAdjacent(currentWallId, getInt("user_id"), getInt("dow"), getInt("tod"), false);

            a.doCommand("delete_appt");

            Appt avail = new Appt();

            avail["organization_id"] = Organization.Current.id.Value;
            avail["tzoffset"]        = LiftTime.UserTzOffset;
            avail["tod"]             = getInt("tod");
            avail["dow"]             = getInt("dow");

            DataSet availableWallSet = avail.doQuery("get_available_walls");

            int availableWalls = 0;

            if (availableWallSet != null)
            {
                if (availableWallSet.Tables.Count > 0)
                {
                    availableWalls = availableWallSet.Tables[0].Rows.Count;
                }
            }

            return(availableWalls);
        }
コード例 #2
0
        public long remove()
        {
            Appt a = new Appt();

            a.wall_id.Value = getInt("id");
            a.doCommand("delete_from_wall");

            return(doCommand("delete"));
        }
コード例 #3
0
ファイル: Appt.cs プロジェクト: ekohlenberg/lift
        public long subscribe()
        {
            long    remainingWalls = -1;
            DataSet availableWalls = new DataSet();
            int     currentWallId  = 0;

            Appt a = new Appt();

            a["organization_id"] = Organization.Current.id.Value;
            a["tzoffset"]        = LiftTime.UserTzOffset;
            a["user_id"]         = getInt("user_id");
            a["tod"]             = getInt("tod");
            a["dow"]             = getInt("dow");

            if (ContainsKey("wall_id"))

            {
                currentWallId = getInt("wall_id");
            }
            else
            {
                availableWalls = a.doQuery("get_available_walls");
                if (availableWalls.Tables.Count > 0)
                {
                    if (availableWalls.Tables[0].Rows.Count > 0)
                    {
                        remainingWalls = availableWalls.Tables[0].Rows.Count - 1;
                        currentWallId  = Convert.ToInt32(availableWalls.Tables[0].Rows[0][0]);
                    }
                }
            }

            if (currentWallId > 0)
            {
                Appt timeSlot = new Appt();

                DateTime todUtcTime = new DateTime(2009, 3, getInt("dow"), getInt("tod"), 0, 0);

                timeSlot.user_id.Value = getInt("user_id");
                timeSlot.tod_utc.Value = todUtcTime;
                timeSlot.wall_id.Value = currentWallId;
                timeSlot.doCommand("insert");

                notifyAdjacent(currentWallId, getInt("user_id"), getInt("dow"), getInt("tod"), true);
            }


            return(remainingWalls);
        }