Example #1
0
                /* 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());
                }
Example #2
0
        /* 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);
        }
Example #3
0
            /* 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));
            }