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); }
public long remove() { Appt a = new Appt(); a.wall_id.Value = getInt("id"); a.doCommand("delete_from_wall"); return(doCommand("delete")); }
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); }