First version
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
namespace nsszcontactbot;
|
||||
|
||||
public class EmployeeContact
|
||||
{
|
||||
public static string GeneralPhoneNumber => "+78123352577";
|
||||
public EmployeeContact(Employee employee)
|
||||
{
|
||||
FullName = employee.FullName;
|
||||
var nameParts = FullName.Split(' ');
|
||||
if (nameParts.Length > 1)
|
||||
{
|
||||
LastName = nameParts[0];
|
||||
FirstName = nameParts[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
FirstName = FullName;
|
||||
LastName = string.Empty;
|
||||
}
|
||||
Department = employee.Department;
|
||||
Position = employee.Position;
|
||||
ExtensionNumber = employee.Phone ?? null; //string.IsNullOrEmpty(employee.Phone) ? null : employee.Phone;
|
||||
Phone = string.IsNullOrEmpty(ExtensionNumber) ? GeneralPhoneNumber : $"{GeneralPhoneNumber},{ExtensionNumber}";
|
||||
if (!string.IsNullOrEmpty(employee.Mobile))
|
||||
{
|
||||
Mobile = employee.Mobile;
|
||||
if (!Mobile.StartsWith('+'))
|
||||
Mobile = "+" + Mobile;
|
||||
}
|
||||
Mail = employee.Mail;
|
||||
}
|
||||
|
||||
public string VCard
|
||||
{
|
||||
get
|
||||
{
|
||||
string text = "BEGIN:VCARD\n"
|
||||
+ "VERSION:2.1\n"
|
||||
+ $"N:{LastName};{FirstName}\n"
|
||||
+ $"FN:{FullName}\n"
|
||||
+ "ORG:NSSZ\n"
|
||||
+ $"ROLE:{Department}\n"
|
||||
+ $"TITLE:{Position}\n";
|
||||
if (!string.IsNullOrEmpty(Mobile))
|
||||
text += $"TEL;CELL:{Mobile}\n";
|
||||
|
||||
if (!string.IsNullOrEmpty(Phone))
|
||||
text += $"TEL;WORK:{Phone}\n";
|
||||
|
||||
if (!string.IsNullOrEmpty(Mail))
|
||||
text += $"EMAIL;WORK:{Mail}\n";
|
||||
|
||||
text += "PRODID:nssz-contact-bot\n";
|
||||
text += "END:VCARD\n";
|
||||
return text;
|
||||
}
|
||||
}
|
||||
public string FullName { get; set; } // Полное имя сотрудника
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string Department { get; set; } // Название отдела
|
||||
public string Position { get; set; } // Должность
|
||||
public string Phone { get; set; }
|
||||
public string? ExtensionNumber { get; set; }
|
||||
public string? Mobile { get; set; } // Опциональное поле для хранения номера мобильного телефона
|
||||
public string? Mail { get; set; } // Опциональное поле для электронной почты
|
||||
}
|
||||
Reference in New Issue
Block a user