public SiusDataMessage Parse(RawMessage rawMessage)
    {
      if (!rawMessage.IsResponsible(Identifier, ValueCount)) return null;
      
      string[] valueList = rawMessage.Values.ToArray();

      SuccessHelper allOverSuccess = new SuccessHelper();
      int laneId = ValueAccessHelper.GetInt(valueList, LaneId, allOverSuccess);
      int laneNumber = ValueAccessHelper.GetInt(valueList, LaneNumber, allOverSuccess);
      int shooterId = ValueAccessHelper.GetInt(valueList, ShooterId, allOverSuccess);
      DateTime timstamp = ValueAccessHelper.GetDateTime(valueList, DateTime, allOverSuccess);
      int shotType = ValueAccessHelper.GetInt(valueList, ShotType, allOverSuccess);
      decimal primaryScore = ValueAccessHelper.GetDecimal(valueList, PrimaryScore, allOverSuccess);
      decimal secondaryScore = ValueAccessHelper.GetDecimal(valueList, SecondaryScore, allOverSuccess);
      int shotNbr = ValueAccessHelper.GetInt(valueList, ShotNbr, allOverSuccess);
      //float x = ValueAccessHelper.GetFloat(valueList, X, allOverSuccess);
      //float y = ValueAccessHelper.GetFloat(valueList, Y, allOverSuccess);
      int programNumber = ValueAccessHelper.GetInt(valueList, ProgramNumber, allOverSuccess);

      if (!allOverSuccess.Success) return null;
      SiusDataMessage message = null;
      switch (shotType)
      {
        case 2:
          message = _messageFactory.MakeBestShotMessage(shooterId, laneId, laneNumber, timstamp, primaryScore, secondaryScore, shotNbr, programNumber);
          break;
        case 3:
          message = _messageFactory.MakeShotMessage(shooterId, laneId, laneNumber, timstamp, primaryScore, secondaryScore, shotNbr, programNumber);
          break;
      }
      return message;
    }
    public SiusDataMessage Parse(RawMessage rawMessage)
    {
      if (!rawMessage.IsResponsible(Identifier, ValueCount)) return null;

      string[] valueList = rawMessage.Values.ToArray();

      SuccessHelper allOverSuccess = new SuccessHelper();
      int shooterNumber = ValueAccessHelper.GetInt(valueList, ShooterNumber, allOverSuccess);
      int laneId = ValueAccessHelper.GetInt(valueList, LaneId, allOverSuccess);
      int laneNumber = ValueAccessHelper.GetInt(valueList, LaneNumber, allOverSuccess);
      DateTime timestamp = ValueAccessHelper.GetDateTime(valueList, Timestamp, allOverSuccess);

      if (!allOverSuccess.Success) return null;
      return _messageFactory.MakePrchMessage(shooterNumber, laneId, laneNumber, timestamp);
    }
    public SiusDataMessage Parse(RawMessage rawMessage)
    {
      if (!rawMessage.IsResponsible(Identifier, ValueCount)) return null;

      string[] valueList = rawMessage.Values.ToArray();

      SuccessHelper allOverSuccess = new SuccessHelper();
      int laneId = ValueAccessHelper.GetInt(valueList, LaneId, allOverSuccess);
      int laneNbr = ValueAccessHelper.GetInt(valueList, LaneNbr, allOverSuccess);
      int shooterId = ValueAccessHelper.GetInt(valueList, ShooterId, allOverSuccess);
      int primaryScore = ValueAccessHelper.GetInt(valueList, PrimaryScore, allOverSuccess);
      int secondaryScore = ValueAccessHelper.GetInt(valueList, SecondaryScore, allOverSuccess);
      DateTime timestamp = ValueAccessHelper.GetDateTime(valueList, Timestamp, allOverSuccess);

      if (!allOverSuccess.Success) return null;
      return _messageFactory.MakeTotalMessage(shooterId, laneId, timestamp, primaryScore, secondaryScore);
    }
Example #4
0
        /// <summary>Get the value of a column identifier from a valuelist. </summary>
        /// <typeparam name="T">The type of the value.</typeparam>
        /// <param name="valueList">The valuelist.</param>
        /// <param name="index">The index</param>
        /// <param name="successHelper"><c>true</c> if the returned value is valid.</param>
        /// <returns>The value.</returns>
        private static T GetValue <T>(IEnumerable <string> valueList, int index, SuccessHelper successHelper)
        {
            string[] myValueList = valueList.ToArray();
            T        value       = default(T);
            bool     success     = false;

            if (myValueList.Length > index)
            {
                string        stringValue = myValueList[index];
                TypeConverter tc          = TypeDescriptor.GetConverter(value);

                value   = (T)tc.ConvertFromString(stringValue);
                success = true;
            }

            successHelper.Success &= success;
            return(value);
        }
        public SiusDataMessage Parse(RawMessage rawMessage)
        {
            if (!rawMessage.IsResponsible(Identifier, ValueCount))
            {
                return(null);
            }

            string[] valueList = rawMessage.Values.ToArray();

            SuccessHelper allOverSuccess = new SuccessHelper();
            int           shooterNumber  = ValueAccessHelper.GetInt(valueList, ShooterNumber, allOverSuccess);
            int           laneId         = ValueAccessHelper.GetInt(valueList, LaneId, allOverSuccess);
            int           laneNumber     = ValueAccessHelper.GetInt(valueList, LaneNumber, allOverSuccess);
            DateTime      timestamp      = ValueAccessHelper.GetDateTime(valueList, Timestamp, allOverSuccess);

            if (!allOverSuccess.Success)
            {
                return(null);
            }
            return(_messageFactory.MakePrchMessage(shooterNumber, laneId, laneNumber, timestamp));
        }
        public SiusDataMessage Parse(RawMessage rawMessage)
        {
            if (!rawMessage.IsResponsible(Identifier, ValueCount))
            {
                return(null);
            }

            string[] valueList = rawMessage.Values.ToArray();

            SuccessHelper allOverSuccess = new SuccessHelper();
            int           laneId         = ValueAccessHelper.GetInt(valueList, LaneId, allOverSuccess);
            int           laneNumber     = ValueAccessHelper.GetInt(valueList, LaneNumber, allOverSuccess);
            int           shooterId      = ValueAccessHelper.GetInt(valueList, ShooterId, allOverSuccess);
            DateTime      timstamp       = ValueAccessHelper.GetDateTime(valueList, DateTime, allOverSuccess);
            int           shotType       = ValueAccessHelper.GetInt(valueList, ShotType, allOverSuccess);
            decimal       primaryScore   = ValueAccessHelper.GetDecimal(valueList, PrimaryScore, allOverSuccess);
            decimal       secondaryScore = ValueAccessHelper.GetDecimal(valueList, SecondaryScore, allOverSuccess);
            int           shotNbr        = ValueAccessHelper.GetInt(valueList, ShotNbr, allOverSuccess);
            //float x = ValueAccessHelper.GetFloat(valueList, X, allOverSuccess);
            //float y = ValueAccessHelper.GetFloat(valueList, Y, allOverSuccess);
            int programNumber = ValueAccessHelper.GetInt(valueList, ProgramNumber, allOverSuccess);

            if (!allOverSuccess.Success)
            {
                return(null);
            }
            SiusDataMessage message = null;

            switch (shotType)
            {
            case 2:
                message = _messageFactory.MakeBestShotMessage(shooterId, laneId, laneNumber, timstamp, primaryScore, secondaryScore, shotNbr, programNumber);
                break;

            case 3:
                message = _messageFactory.MakeShotMessage(shooterId, laneId, laneNumber, timstamp, primaryScore, secondaryScore, shotNbr, programNumber);
                break;
            }
            return(message);
        }
        public SiusDataMessage Parse(RawMessage rawMessage)
        {
            if (!rawMessage.IsResponsible(Identifier, ValueCount))
            {
                return(null);
            }

            string[] valueList = rawMessage.Values.ToArray();

            SuccessHelper allOverSuccess = new SuccessHelper();
            int           laneId         = ValueAccessHelper.GetInt(valueList, LaneId, allOverSuccess);
            int           laneNbr        = ValueAccessHelper.GetInt(valueList, LaneNbr, allOverSuccess);
            int           shooterId      = ValueAccessHelper.GetInt(valueList, ShooterId, allOverSuccess);
            int           primaryScore   = ValueAccessHelper.GetInt(valueList, PrimaryScore, allOverSuccess);
            int           secondaryScore = ValueAccessHelper.GetInt(valueList, SecondaryScore, allOverSuccess);
            DateTime      timestamp      = ValueAccessHelper.GetDateTime(valueList, Timestamp, allOverSuccess);

            if (!allOverSuccess.Success)
            {
                return(null);
            }
            return(_messageFactory.MakeTotalMessage(shooterId, laneId, timestamp, primaryScore, secondaryScore));
        }
Example #8
0
 public static string GetString(IEnumerable <string> valueList, int index, SuccessHelper success)
 {
     return(GetValue <string>(valueList, index, success));
 }
Example #9
0
 public static DateTime GetDateTime(IEnumerable <string> valueList, int index, SuccessHelper success)
 {
     return(GetValue <DateTime>(valueList, index, success));
 }
Example #10
0
 public static double GetDouble(IEnumerable <string> valueList, int index, SuccessHelper success)
 {
     return(GetValue <double>(valueList, index, success));
 }
Example #11
0
 public static float GetFloat(IEnumerable <string> valueList, int index, SuccessHelper success)
 {
     return(GetValue <float>(valueList, index, success));
 }
Example #12
0
 public static decimal GetDecimal(IEnumerable <string> valueList, int index, SuccessHelper success)
 {
     return(GetValue <decimal>(valueList, index, success));
 }