2026-07-23 12:55:47 -03:00
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
Add vendor dispatch workflow backend
- Create Vendor model with company info, trade specialties, active flag
- Create Dispatch model (doubles as Vendor PO) with PO number, NTE, status, reply-to address
- VendorController: CRUD, paginated list, dropdown endpoint with trade filtering
- DispatchToVendor endpoint: multi-vendor dispatch, auto-generated PO numbers (VPO-00001),
HTML email with full WO details via SendGrid, reply-to wo-{number}@int.seahaven.com
- GetDispatches endpoint for listing dispatches by WO
- Include dispatches in GetWorkorderById response
- SendMessage.SendDispatchEmail with reply-to support
- Audit log entry for each dispatch
2026-04-17 11:37:35 -04:00
|
|
|
namespace Data.SeaHavenIndustries
|
|
|
|
|
{
|
|
|
|
|
public class Vendor : FullAuditEntity
|
|
|
|
|
{
|
|
|
|
|
public string? CompanyName { get; set; }
|
|
|
|
|
public string? ContactName { get; set; }
|
|
|
|
|
public string? Email { get; set; }
|
|
|
|
|
public string? Phone { get; set; }
|
2026-07-23 12:55:47 -03:00
|
|
|
public string? CompanyPhone { get; set; }
|
Add vendor dispatch workflow backend
- Create Vendor model with company info, trade specialties, active flag
- Create Dispatch model (doubles as Vendor PO) with PO number, NTE, status, reply-to address
- VendorController: CRUD, paginated list, dropdown endpoint with trade filtering
- DispatchToVendor endpoint: multi-vendor dispatch, auto-generated PO numbers (VPO-00001),
HTML email with full WO details via SendGrid, reply-to wo-{number}@int.seahaven.com
- GetDispatches endpoint for listing dispatches by WO
- Include dispatches in GetWorkorderById response
- SendMessage.SendDispatchEmail with reply-to support
- Audit log entry for each dispatch
2026-04-17 11:37:35 -04:00
|
|
|
public string? Address { get; set; }
|
|
|
|
|
public string? City { get; set; }
|
|
|
|
|
public string? State { get; set; }
|
|
|
|
|
public string? Zip { get; set; }
|
|
|
|
|
public string? TradeSpecialties { get; set; }
|
2026-07-23 12:55:47 -03:00
|
|
|
public string? GoogleMapsUrl { get; set; }
|
|
|
|
|
public string? Notes { get; set; }
|
Add vendor dispatch workflow backend
- Create Vendor model with company info, trade specialties, active flag
- Create Dispatch model (doubles as Vendor PO) with PO number, NTE, status, reply-to address
- VendorController: CRUD, paginated list, dropdown endpoint with trade filtering
- DispatchToVendor endpoint: multi-vendor dispatch, auto-generated PO numbers (VPO-00001),
HTML email with full WO details via SendGrid, reply-to wo-{number}@int.seahaven.com
- GetDispatches endpoint for listing dispatches by WO
- Include dispatches in GetWorkorderById response
- SendMessage.SendDispatchEmail with reply-to support
- Audit log entry for each dispatch
2026-04-17 11:37:35 -04:00
|
|
|
public bool IsActive { get; set; } = true;
|
2026-07-23 17:02:40 -03:00
|
|
|
public string? PreferredContact { get; set; }
|
2026-07-23 19:18:06 -03:00
|
|
|
public string AvailabilityStatus { get; set; } = "Unknown";
|
|
|
|
|
public DateTime? AvailabilityUpdatedAt { get; set; }
|
2026-07-23 17:02:40 -03:00
|
|
|
|
|
|
|
|
public int? CompanyId { get; set; }
|
|
|
|
|
[ForeignKey(nameof(CompanyId))]
|
|
|
|
|
public virtual VendorCompany? Company { get; set; }
|
|
|
|
|
|
2026-07-23 12:55:47 -03:00
|
|
|
[NotMapped]
|
|
|
|
|
public int TotalJobs { get; set; }
|
Add vendor dispatch workflow backend
- Create Vendor model with company info, trade specialties, active flag
- Create Dispatch model (doubles as Vendor PO) with PO number, NTE, status, reply-to address
- VendorController: CRUD, paginated list, dropdown endpoint with trade filtering
- DispatchToVendor endpoint: multi-vendor dispatch, auto-generated PO numbers (VPO-00001),
HTML email with full WO details via SendGrid, reply-to wo-{number}@int.seahaven.com
- GetDispatches endpoint for listing dispatches by WO
- Include dispatches in GetWorkorderById response
- SendMessage.SendDispatchEmail with reply-to support
- Audit log entry for each dispatch
2026-04-17 11:37:35 -04:00
|
|
|
public ICollection<Dispatch>? Dispatches { get; set; }
|
2026-07-23 17:02:40 -03:00
|
|
|
public ICollection<VendorAuditLog>? AuditLogs { get; set; }
|
2026-07-23 19:18:06 -03:00
|
|
|
public ICollection<SitePreferredVendor>? SitePreferences { get; set; }
|
Add vendor dispatch workflow backend
- Create Vendor model with company info, trade specialties, active flag
- Create Dispatch model (doubles as Vendor PO) with PO number, NTE, status, reply-to address
- VendorController: CRUD, paginated list, dropdown endpoint with trade filtering
- DispatchToVendor endpoint: multi-vendor dispatch, auto-generated PO numbers (VPO-00001),
HTML email with full WO details via SendGrid, reply-to wo-{number}@int.seahaven.com
- GetDispatches endpoint for listing dispatches by WO
- Include dispatches in GetWorkorderById response
- SendMessage.SendDispatchEmail with reply-to support
- Audit log entry for each dispatch
2026-04-17 11:37:35 -04:00
|
|
|
}
|
|
|
|
|
}
|