Broker System for Supercredit
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

39 lines
1.3KB

  1. export class StepModel{
  2. public Id: string;
  3. public LoanId: string;
  4. public StepIndex : number;
  5. public Description: string;
  6. public Done: boolean;
  7. public ReceivedAt: Date;
  8. public ResolvedAt: Date;
  9. public UploadedAt: Date;
  10. public FileName: string;
  11. public FileSize: number;
  12. public FileMime: string;
  13. //only for GUI
  14. public Editable: boolean;
  15. constructor(payload?: Partial<StepModel>) {
  16. if( !payload ) { payload = {}; }
  17. this.Id = payload.Id || '';
  18. this.LoanId = payload.LoanId || '';
  19. this.StepIndex = payload.StepIndex || -1;
  20. this.Description = payload.Description || '';
  21. this.Done = payload.Done || false;
  22. this.ReceivedAt = payload.ReceivedAt? new Date(payload.ReceivedAt) : new Date('1900-01-01');
  23. if ( this.ReceivedAt.getFullYear() <= 1900 ){ this.ReceivedAt = new Date() ; }
  24. this.ResolvedAt = payload.ResolvedAt? new Date(payload.ResolvedAt) : new Date('1900-01-01');
  25. if ( this.ResolvedAt.getFullYear() <= 1900 ){ this.ResolvedAt = null ; }
  26. this.UploadedAt = payload.UploadedAt? new Date(payload.UploadedAt) : new Date('1900-01-01');
  27. if ( this.UploadedAt.getFullYear() <= 1900 ){ this.UploadedAt = null ; }
  28. this.FileName = payload.FileName || '';
  29. this.FileSize = payload.FileSize || 0 ;
  30. this.FileMime = payload.FileMime || '';
  31. this.Editable = ! this.Done; // only when it started
  32. }
  33. }