Skip to content

Project

reference
2 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/models/sales/project.model.ts (line 9)

Part of: Pams

Project is a sales-domain model in the PAMS web client. It represents project data used by client-side sales features and includes clone() to create a separate Project instance from an existing one.

Methods

MethodSignatureReturns
cloneclone(proj: Project)Project

Properties

PropertyType
ProjectIDnumber
ProjectCodestring
ProjectNamestring
ProjectDescriptionstring
IsImportantboolean
CompanyBranchIDnumber
ProjectStatusIDnumber
SalesRepIdnumber
Selectedboolean
StartDateDate
ExpectedCommissioningDateDate
CreatedAtDate
EstimatedCostnumber
MarketSegmentIDsnumber[]
CurrencySymbolstring
CurrencyCodestring
FinalProductstring
EngineeringBystring
ContractorBystring
ProcurementBystring
VendorListBystring
LicenseBystring
KMCBystring
PmcByIdnumber
LicenseByIdnumber
VendorListByIdnumber
EngineeringByIdnumber
ProcurmentByIdnumber
ConstructionByIdnumber
PmcByListnumber[]
LicenseByListnumber[]
VendorListByListnumber[]
EngineeringByListnumber[]
ProcurmentByListnumber[]
ConstructionByListnumber[]
ProjectLocationstring
ShareholdersShareholder[]
CommentsComment[]
ContactPersonListArray<ContactPersons>
OwnerIDnumber
UserIDnumber
Importancenumber

Where it refuses work

  • Project stops the work with an early return when this.StartDate == null.

Diagram

mermaid
graph LR
  SalesFeature[Sales feature] --> Project[Project]
  Project --> Clone[clone(): Project]
  Clone --> ProjectCopy[Separate Project instance]

Usage

ts
import { Project } from "app/models/sales/project.model";

const project = new Project();

// Set project fields as needed by the sales workflow.
const copiedProject: Project = project.clone();

// Changes to the copied instance do not target the original instance.

AI Coding Instructions

  • Use clone() when a sales workflow needs a separate Project instance for editing or comparison.
  • Keep Project imports aligned with the app/models/sales/project.model path.
  • Preserve the clone(): Project return type when modifying the model.
  • Review copied field behavior when adding properties to Project, so clone() includes required project state.

Relationships

  • IMPORTS → AppSettings
  • IMPORTS → Shareholder
  • IMPORTS → ProjectRegistered
  • IMPORTS → Comment
  • IMPORTS → ProjectContactPersons
  • IMPORTS → ContactPersons
  • IMPORTS → ContactInfo

Used by

9 references from 9 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

Imported by (9)

  • PrincipalViewEditComponentPams/Web/Pams.Web/Client/app/components/market/principles/principles-view-edit/principles-view-edit.component.ts:1
  • ProjectsComponentPams/Web/Pams.Web/Client/app/components/market/projects/projects.component.ts:1
  • RegistrationsComponentPams/Web/Pams.Web/Client/app/components/market/registrations/registrations/registrations.component.ts:1
  • NewJobComponentPams/Web/Pams.Web/Client/app/components/sales/new-job/new-job.component.ts:1
  • TagComponentPams/Web/Pams.Web/Client/app/components/shared/tag/tag.component.ts:1
  • ProjectServicePams/Web/Pams.Web/Client/app/services/sales/project.service.ts:1
  • LoadDataActionPams/Web/Pams.Web/Client/app/actions/job.ts:20
  • NewProjectPams/Web/Pams.Web/Client/app/components/market/projects/newProject.ts:51

…and 1 more.

Was this page helpful?

Download as PDF