public DesignReviewVM CreateDesignReviewVM(DesignReview item)
        {
            return(new DesignReviewVM
            {
                Id = item.Id,
                Title = item.Title,
                Slug = SlugUtils.ToSlug(item.Title),
                Description = item.Description,
                CreatedDate = item.CreatedDate,
                //Docs = item.ReviewDocuments.OrderByDescending(e => e.CreatedDate).Select(e => this.createReviewDocumentVM(e)).ToList(),
                Options = item.ReviewDocuments.Where(e => e.DocType == "Design Option" || e.DocType == null).OrderBy(e => e.Order).Select(e => this.CreateReviewDocumentVM(e)).ToList(),
                Proofs = item.ReviewDocuments.Where(e => e.DocType == "Proof").OrderBy(e => e.Order).Select(e => this.CreateReviewDocumentVM(e)).ToList(),
                IsActive = item.IsActive,

                SelectedId = item.SelectedReviewDocumentId,
                SelectedComment = item.SelectedComment,
                AdditionalComment = item.AdditionalComment,
                Comments = item.ReviewComments.OrderByDescending(e => e.Created).Select(e => this.CreateReviewCommentVM(e)).ToList(),

                RequestById = item.RequestById,
                RequestByName = item.RequestByName,
                RequestType = item.RequestType,
                RequestDate = item.RequestDate,

                ApprovedById = item.ApprovedById,
                ApprovedByName = item.ApprovedByName,
                ApprovedDate = item.ApprovedDate,

                AcceptedDate = item.AcceptedDate,
            });
        }
 public ProjectListVM CreateProjectListVM(Project item)
 {
     return(new ProjectListVM
     {
         Id = item.Id,
         Name = item.Name,
         Slug = SlugUtils.ToSlug(item.Name),
         Status = item.Status,
     });
 }
        public AccountVM CreateAccountVM(Account item)
        {
            return(new AccountVM
            {
                Id = item.Id,
                Name = item.Name,
                Slug = SlugUtils.ToSlug(item.Name),

                Projects = item.Projects.OrderByDescending(e => e.CreatedDate).Select(e => this.CreateProjectListVM(e)).ToList(),
            });
        }
        public ContractVM CreateContractVM(Contract item)
        {
            return(new ContractVM
            {
                Id = item.Id,
                Title = item.Title,
                Slug = SlugUtils.ToSlug(item.Title),
                Number = item.Number,
                CreatedDate = item.CreatedDate,

                Docs = item.ContractDocuments.OrderByDescending(e => e.CreatedDate).Take(1).Select(e => this.CreateContractDocumentVM(e)).ToList(),
            });
        }
        public ProjectVM CreateProjectVM(Project item)
        {
            return(new ProjectVM
            {
                Id = item.Id,
                Name = item.Name,
                Slug = SlugUtils.ToSlug(item.Name),
                Description = item.Description,
                Status = item.Status,
                StartDate = item.StartDate,
                EstimatedCompletionDate = item.EstimatedCompletionDate,
                CompletionDate = item.CompletionDate,
                AccountId = item.AccountId,

                Contracts = item.Contracts.OrderByDescending(e => e.CreatedDate).Select(e => this.CreateContractVM(e)).ToList(),
                Reviews = item.DesignReviews.OrderByDescending(e => e.CreatedDate).ThenByDescending(e => e.Title).Select(e => this.CreateDesignReviewVM(e)).ToList(),
                Docs = item.ProjectDocuments.OrderByDescending(e => e.CreatedDate).Select(e => this.CreateProjectDocumentVM(e)).ToList(),
            });
        }