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 Api.SeaHavenIndustries.DTOs
|
|
|
|
|
{
|
|
|
|
|
public class Vendor_DTO
|
|
|
|
|
{
|
|
|
|
|
public string? CompanyName { get; set; }
|
2026-07-23 17:02:40 -03:00
|
|
|
public int? CompanyId { 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? 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; }
|
2026-07-23 17:02:40 -03:00
|
|
|
public string? PreferredContact { 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; }
|
|
|
|
|
public bool? IsActive { 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 class EditVendor_DTO : Vendor_DTO
|
|
|
|
|
{
|
|
|
|
|
public int Id { get; set; }
|
2026-08-19 13:31:16 -03:00
|
|
|
|
|
|
|
|
// SH-254: set when the caller has been shown the vendor's open work orders
|
|
|
|
|
// and chose to deactivate anyway. Without it the open-work-order guard holds.
|
|
|
|
|
public bool ConfirmOpenWorkOrders { 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
|
|
|
}
|
2026-07-23 17:02:40 -03:00
|
|
|
|
|
|
|
|
public class WorkOrderVendorUpdate_DTO
|
|
|
|
|
{
|
|
|
|
|
public int WorkOrderId { get; set; }
|
|
|
|
|
public string? ContactName { get; set; }
|
|
|
|
|
public string? PreferredContact { get; set; }
|
|
|
|
|
public string? Phone { get; set; }
|
|
|
|
|
public string? Email { 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
|
|
|
}
|