/* L O A D R W P T F R O M C S V */ /*---------------------------------------------------------------------------- * %%Function: LoadRwptFromCsv * %%Qualified: RwpSvc.Practice:RwpSlots:CsvSlots.LoadRwptFromCsv * %%Contact: rlittle * * ----------------------------------------------------------------------------*/ public RSR LoadRwpsFromCsv(string sLine, Sql sql, out RwpSlot rwps, out bool fAdd, out List <string> plsDiff) { string [] rgs = LineToArray(sLine); SqlWhere sw = new SqlWhere(); fAdd = true; plsDiff = new List <string>(); rwps = null; if (rgs[0] == "") { return(RSR.Success()); } rwps = new RwpSlot(); sw.AddAliases(RwpSlot.s_mpAliases); try { rwps.Slot = GetIntVal(rgs, "SLOTNO"); sw.Add(String.Format("$$rwllpractice$$.SlotNo = {0}", rwps.Slot), SqlWhere.Op.And); SqlReader sqlr = new SqlReader(sql); if (sqlr.FExecuteQuery(sw.GetWhere(RwpSlot.s_sSqlQueryString), _sResourceConnString) && sqlr.Reader.Read()) { sqlr.Close(); // found a match. for now, this is an error throw new Exception(String.Format("slot {0} already exists", rwps.Slot)); } sqlr.Close(); rwps.Slot = GetIntVal(rgs, "SLOTNO"); rwps.Week = GetDoubleVal(rgs, "WEEK"); rwps.Status = GetStringVal(rgs, "STATUS"); rwps.Venue = GetStringVal(rgs, "VENUE"); rwps.Field = GetStringVal(rgs, "FIELD"); rwps.SlotDate = GetDateVal(rgs, "DATE"); rwps.Weekday = GetStringVal(rgs, "WEEKDAY"); rwps.StartTime = GetStringVal(rgs, "STARTTIME"); rwps.EndTime = GetStringVal(rgs, "ENDTIME"); rwps.Hours = GetStringVal(rgs, "HOURS"); rwps.Reserved = GetStringVal(rgs, "RESERVED"); rwps.Divisions = GetStringVal(rgs, "DIVISIONS"); rwps.ReservedDate = GetDateValNullable(rgs, "RESERVEDATETIME"); rwps.Type = GetStringVal(rgs, "TYPE"); rwps.Released = GetDateValNullable(rgs, "RELEASEDATETIME"); rwps.ReleaseTeam = GetStringValNullable(rgs, "RELEASETEAM"); } catch (Exception e) { return(RSR.Failed(e)); } return(RSR.Success()); }
/* F A D D R E S U L T R O W */ /*---------------------------------------------------------------------------- * %%Function: FAddResultRow * %%Qualified: RwpSvc.Practice:RwpSlots.FAddResultRow * %%Contact: rlittle * * ----------------------------------------------------------------------------*/ public bool FAddResultRow(SqlReader sqlr, int iRecordSet) { RwpSlot slot = new RwpSlot(sqlr.Reader); // convert UTC dates to the local timezone of the user slot.SlotStart = TimeZoneInfo.ConvertTimeFromUtc(slot.SlotStart, m_tzi); slot.Released = slot.Released != null?TimeZoneInfo.ConvertTimeFromUtc((DateTime)slot.Released, m_tzi) : (DateTime?)null; slot.ReservedDate = slot.ReservedDate != null?TimeZoneInfo.ConvertTimeFromUtc((DateTime)slot.ReservedDate, m_tzi) : (DateTime?)null; m_plrwps.Add(slot); return(true); }
/* C S V M A K E */ /*---------------------------------------------------------------------------- * %%Function: CsvMake * %%Qualified: RwpSvc.Practice:RwpSlots:CsvSlots.CsvMake * %%Contact: rlittle * * ----------------------------------------------------------------------------*/ public string CsvMake(RwpSlot rwps) { Dictionary <string, string> mpColData = new Dictionary <string, string>(); mpColData.Add("SlotNo", rwps.Slot.ToString()); mpColData.Add("Week", rwps.Week.ToString()); mpColData.Add("Status", rwps.Status); mpColData.Add("Venue", rwps.Venue); mpColData.Add("Field", rwps.Field); mpColData.Add("SlotStart", DttmValOrNull(rwps.SlotStart)); mpColData.Add("SlotLength", rwps.SlotLength.ToString()); mpColData.Add("Reserved", rwps.Reserved); mpColData.Add("Divisions", rwps.Divisions); mpColData.Add("SlotReservedDatetime", DttmValOrNull(rwps.ReservedDate)); mpColData.Add("Type", rwps.Type); mpColData.Add("SlotReleasedDatetime", DttmValOrNull(rwps.Released)); mpColData.Add("ReleaseTeam", StringValOrNull(rwps.ReleaseTeam)); return(CsvMake(mpColData)); }