internal User toUser(string[] response)
{
if (response == null || response.Length == 0)
{
return null;
}
string[] flds = StringUtils.split(response[0], StringUtils.CARET);
User result = new User();
result.Uid = flds[0];
result.Name = new PersonName(flds[1]);
result.Phone = flds[2];
result.Office = flds[4];
//flds[5] is FM access
result.Gender = flds[6];
result.DOB = VistaTimestamp.toUtcString(flds[7]);
//flds[8] is disuser
result.Title = flds[9];
result.SSN = new SocSecNum(flds[10]);
//flds[11] is nickname
result.SigText = flds[12] + "\r\n" + flds[13];
if (flds[14] != "" || flds[15] != "")
{
result.Service = new Service();
result.Service.Id = flds[14];
result.Service.Name = flds[15];
}
//flds[16] is Provider Class IEN
result.UserClass = flds[17];
result.PrimaryPermission = new MenuOption(flds[19], flds[20]);
return result;
}