Exemplo n.º 1
0
        private Contact LoadContact(MySqlDataReader reader)
        {
            Contact c = new Contact();
            c.Id = (int)reader["id"];
            c.SourceId = (int)(long)reader["sourceId"];
            c.LastModified = (DateTime)reader["lastModified"];
            c.StartTime = (DateTime)reader["startTime"];
            c.EndTime = (DateTime)reader["endTime"];
            c.Callsign = (string)reader["callsign"];
            c.Station = reader["station"] as string;
            c.Operator = reader["operator"] as string;
            c.Band = BandHelper.Parse(reader["band"] as string);
            c.Mode = ModeHelper.Parse(reader["mode"] as string);
            c.Frequency = (long)reader["frequency"];
            c.ReportReceived = (reader["reportRx"] as string) ?? string.Empty;
            c.ReportSent = (reader["reportTx"] as string) ?? string.Empty;
            c.Notes = (reader["notes"] as string) ?? string.Empty;
            int serialReceived;
            int serialSent;
            int.TryParse(reader["serialReceived"] as string, out serialReceived);
            int.TryParse(reader["serialSent"] as string, out serialSent);
            c.SerialReceived = serialReceived;
            c.SerialSent = serialSent;
            c.QslRxDate = reader.GetDateTimeNullable("qslRxDate");
            c.QslTxDate = reader.GetDateTimeNullable("qslTxDate");
            c.QslMethod = reader["qslMethod"] as string;
            c.LocationID = (int)reader["location"];
            c.SatelliteName = reader.GetStringNullable("satellitename");
            c.SatelliteMode = reader.GetStringNullable("satellitemode");

            // Optional stuff below here...
            string locatorString = reader["locator"] as string;
            if (locatorString != null)
                c.LocatorReceived = new Locator(locatorString);

            return c;
        }