Kind: Class
Source: Frontend/src/app/models/sales/job-version.model.ts (line 10)
Part of: Frontend
JobVersion represents a version of a sales job in the application model layer. It manages version-specific item state through addUnitizedItem() and supports expiration-related test state through resetExpirationTest().
Methods
| Method | Signature | Returns |
|---|---|---|
addUnitizedItem | addUnitizedItem() | void |
resetExpirationTest | resetExpirationTest() | void |
Properties
| Property | Type |
|---|---|
VersionID | number |
VersionDate | Date |
IsSelected | boolean |
TypeSelected | boolean |
UserDisplayName | string |
AutoGeneratedSerial | boolean |
DeliveryTerm | DeliveryTerm |
PaymentMethod | PaymentMethod |
Supplier | Supplier |
VersionSerial | number |
JobProcessID | number |
JobVersionPrice | number |
CurrencyID | number |
RateToBaseCurrency | number |
JobVersionPriceInBaseCurrency | number |
PaymentMethodID | number |
DeliveryTermID | number |
JobVersionStatusID | number |
StatusDate | Date |
CreatedByUserID | number |
ModifiedByUserID | number |
ModificationDate | Date |
CurrentJobVersionStatusLogID | number |
DeliveryTimePeriodID | number |
DeliveryTimePeriodCount | number |
IsPartialShipment | boolean |
CurrencyCode | string |
CurrencySymbol | string |
ClientOrderNumber | string |
SupplierOfferNumber | string |
OfferValidationTimePeriodID | number |
OfferValidationTimePeriodCount | number |
IsCurrent | boolean |
SupplierOrderNumber | string |
OrderActivationDate | Date |
OrderDeliveryDate | Date |
OrderDate | Date |
OrderBacklog | number |
Items | JobItem[] |
MileStones | OfferMileStone[] |
JobStatus | number |
CreatedByUserName | string |
JobVersionStatusLabel | string |
commissionBase | string |
JobVersionParentID | number |
CommissionPercentage | number |
AgreedCommissionPercentage | number |
ContractualCommissionPercentage | number |
commissionValidation | number |
SupplierID | number |
Where it refuses work
JobVersionstops the work with an early return whenthis.JobVersionPrice <= 0.JobVersionstops the work with an early return whenthis.Items[0].Description.JobVersionstops the work with an early return whenthis.OrderActivationDate == null || this.DeliveryTimePeriodCount == null || this.Delivery….JobVersionstops the work with an early return whenthis.OrderDeliveryDateCalculated == "".JobVersionstops the work with an early return whendiff < 0.JobVersionstops the work with an early return whenthis.ContractualCommissionPercentage == -1.
Diagram
mermaidgraph LR JobVersion[JobVersion] AddItem[addUnitizedItem()] ResetExpiration[resetExpirationTest()] JobVersion --> AddItem JobVersion --> ResetExpiration
Usage
tsimport { JobVersion } from './models/sales/job-version.model';
const jobVersion = new JobVersion();
jobVersion.addUnitizedItem();
// Reset expiration test state before running expiration-related logic.
jobVersion.resetExpirationTest();
AI Coding Instructions
- Keep job-version item changes inside
addUnitizedItem()rather than duplicating item setup logic in callers. - Call
resetExpirationTest()when expiration-related state must be cleared before a new test or workflow step. - Check the model's existing properties and constructor requirements before creating
JobVersioninstances in new code. - Keep sales workflow code dependent on the model methods instead of directly changing version state where possible.
Relationships
- IMPORTS →
JobItem - IMPORTS →
OfferMileStone - IMPORTS →
AppSettings - IMPORTS →
JobVersionStatusE - IMPORTS →
JobStatusE - IMPORTS →
JobItemStatusE - IMPORTS →
PaymentMethod - IMPORTS →
DeliveryTerm - IMPORTS →
Supplier
Used by
3 references from 3 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.
Imported by (3)
NewJobComponent—Frontend/src/app/components/sales/new-job/new-job.component.ts:1InquiryService—Frontend/src/app/services/sales/inquiry.service.ts:1TempInq—Frontend/src/app/models/sales/inquiry.model.ts:17
Was this page helpful?