using System.Collections.Generic;
public static void Main()
Console.WriteLine(DateTime.Parse("2020-01-16T16:04:00.000Z"));
var listaDeTelefones = new List<Telefone>
new Telefone { Tipo = TipoDeTelefone.CELULAR, Numero = "11 99999-1919" },
new Telefone { Tipo = TipoDeTelefone.CELULAR, Numero = "11 99999-2929" },
new Telefone { Tipo = TipoDeTelefone.RESIDENCIAL, Numero = "11 3456-7890" },
new Telefone { Tipo = TipoDeTelefone.CELULAR, Numero = "11 99999-3939" }
var listaDeContato = ConverterParaContato(listaDeTelefones, 1);
public static List<Contato> ConverterParaContato(List<Telefone> listaTelefones, int colaboradorId)
var contatos = new List<Contato>();
foreach(var telefone in listaTelefones)
if(telefone.Tipo == TipoDeTelefone.CELULAR && contatos.Any(c => string.IsNullOrWhiteSpace(c.Celular)))
contatos.First(c => string.IsNullOrWhiteSpace(c.Celular)).Celular = telefone.Numero;
else if(telefone.Tipo == TipoDeTelefone.RESIDENCIAL && contatos.Any(c => string.IsNullOrWhiteSpace(c.Residencial)))
contatos.First(c => string.IsNullOrWhiteSpace(c.Residencial)).Residencial = telefone.Numero;
IdDoColaborador = colaboradorId,
Celular = telefone.Tipo == TipoDeTelefone.CELULAR ? telefone.Numero : default(string),
Residencial = telefone.Tipo == TipoDeTelefone.RESIDENCIAL ? telefone.Numero : default(string)
public enum TipoDeTelefone
public TipoDeTelefone Tipo {get; set; }
public string Numero {get; set; }
public int Id { get; set; }
public int IdDoColaborador { get; set; }
public string Celular {get; set; }
public string Residencial {get; set; }