mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-10-03 19:03:22 +00:00
* feat(vendors): add company roster management * fix(security): remove request-controlled write guards * fix(vendors): synchronize roster company fields * fix(vendors): source facets from companies
70 lines
2.6 KiB
C#
70 lines
2.6 KiB
C#
namespace SeaHaven.Services.DTOs
|
|
{
|
|
public class VendorRosterDTO
|
|
{
|
|
public int CompanyId { get; set; }
|
|
public string Name { get; set; } = string.Empty;
|
|
public string? CompanyPhone { get; set; }
|
|
public string? Email { get; set; }
|
|
public string? Address { get; set; }
|
|
public string? City { get; set; }
|
|
public string? State { get; set; }
|
|
public string? Zip { get; set; }
|
|
public string? GoogleMapsUrl { get; set; }
|
|
public string? Notes { get; set; }
|
|
public string? RowVersion { get; set; }
|
|
public List<VendorRosterTechnicianDTO> Technicians { get; set; } = new();
|
|
}
|
|
|
|
public class VendorRosterTechnicianDTO
|
|
{
|
|
public int? Id { get; set; }
|
|
public string? ContactName { get; set; }
|
|
public string? Phone { get; set; }
|
|
public string? Email { get; set; }
|
|
public string? PreferredContact { get; set; }
|
|
public string? TradeSpecialties { get; set; }
|
|
public bool IsActive { get; set; }
|
|
public int TotalJobs { get; set; }
|
|
}
|
|
|
|
public class RosterTechnicianInputDTO
|
|
{
|
|
public int? Id { get; set; }
|
|
public string? ContactName { get; set; }
|
|
public string? Phone { get; set; }
|
|
public string? Email { get; set; }
|
|
public string? PreferredContact { get; set; }
|
|
public string? TradeSpecialties { get; set; }
|
|
public bool? IsActive { get; set; }
|
|
}
|
|
|
|
public class CreateVendorRosterDTO
|
|
{
|
|
public required string Name { get; set; }
|
|
public string? CompanyPhone { get; set; }
|
|
public string? Email { get; set; }
|
|
public string? Address { get; set; }
|
|
public string? City { get; set; }
|
|
public string? State { get; set; }
|
|
public string? Zip { get; set; }
|
|
public string? GoogleMapsUrl { get; set; }
|
|
public string? Notes { get; set; }
|
|
public List<RosterTechnicianInputDTO> Technicians { get; set; } = new();
|
|
}
|
|
|
|
public class ReconcileVendorRosterDTO
|
|
{
|
|
public required string RowVersion { get; set; }
|
|
public required string Name { get; set; }
|
|
public string? CompanyPhone { get; set; }
|
|
public string? Email { get; set; }
|
|
public string? Address { get; set; }
|
|
public string? City { get; set; }
|
|
public string? State { get; set; }
|
|
public string? Zip { get; set; }
|
|
public string? GoogleMapsUrl { get; set; }
|
|
public string? Notes { get; set; }
|
|
public List<RosterTechnicianInputDTO> Technicians { get; set; } = new();
|
|
}
|
|
}
|