Exemplo n.º 1
0
 /// <summary>
 /// Retrieves all campaign liaisons on record for the specified candidate and committee.
 /// </summary>
 /// <param name="candidateID">The ID of the candidate whose liaisons are to be retrieved.</param>
 /// <param name="committeeID">The ID of the committee whose liaisons are to be retrieved.</param>
 /// <returns>A collection of all campaign liaisons on record for the specified candidate and committee, indexed by liaison ID.</returns>
 public Dictionary <byte, Liaison> GetLiaisons(string candidateID, char committeeID)
 {
     using (AuthorizedCommitteeTds ds = new AuthorizedCommitteeTds())
     {
         using (CampaignLiaisonsTableAdapter ta = new CampaignLiaisonsTableAdapter())
         {
             ta.Fill(ds.CampaignLiaisons, candidateID, committeeID.ToString());
         }
         Dictionary <byte, Liaison> d = new Dictionary <byte, Liaison>(ds.CampaignLiaisons.Count);
         foreach (AuthorizedCommitteeTds.CampaignLiaisonsRow row in ds.CampaignLiaisons.Rows)
         {
             byte id;
             if (byte.TryParse(row.LiaisonID, out id))
             {
                 d.Add(id, new Liaison(id)
                 {
                     Type          = CPConvert.ToLiaisonType(row.LiaisonTypeCode.Trim()) == LiaisonType.Consultant ? EntityType.Consultant : EntityType.Liaison,
                     LiaisonType   = CPConvert.ToLiaisonType(row.LiaisonTypeCode.Trim()),
                     ContactOrder  = CPConvert.ToContactOrder(row.ContactOrderCode),
                     Honorific     = CPConvert.ToHonorific(row.HonorificCode.Trim()),
                     LastName      = row.LastName.Trim(),
                     FirstName     = row.FirstName.Trim(),
                     MiddleInitial = string.IsNullOrWhiteSpace(row.MI) ? null : row.MI.Trim().ToCharArray()[0] as char?,
                     Address       = new PostalAddress()
                     {
                         StreetNumber = row.StreetNumber.Trim(),
                         StreetName   = row.StreetName.Trim(),
                         Apartment    = row.Apartment.Trim(),
                         City         = row.City.Trim(),
                         State        = row.State.Trim(),
                         Zip          = new ZipCode(row.Zip.Trim())
                     },
                     DaytimePhone = new PhoneNumber(row.DaytimePhone.Trim())
                     {
                         Extension = row.DaytimePhoneExt.Trim()
                     },
                     EveningPhone = new PhoneNumber(row.EveningPhone.Trim())
                     {
                         Extension = row.EveningPhoneExt.Trim()
                     },
                     Fax                  = new PhoneNumber(row.Fax.Trim()),
                     Email                = row.Email.Trim(),
                     EntityName           = row.EntityName.Trim(),
                     HasManagerialControl = "Y".Equals(row.HasManagerialControl.Trim(), System.StringComparison.OrdinalIgnoreCase),
                     IsVGLiaison          = "Y".Equals(row.IsVGLiaison.Trim(), System.StringComparison.OrdinalIgnoreCase)
                 });
             }
         }
         return(d);
     }
 }