public IList<ExportWorkItemViewModel> BuildFrom(ExportMenuViewModel exportMenuViewModel)
        {
            if (exportMenuViewModel.WorkItems == false && exportMenuViewModel.ExportLevel != ExportLevel.WorkItem) return new List<ExportWorkItemViewModel>();

            var workItemDetails = GetWorkItems(exportMenuViewModel);

            var exportWorkItemViewModels = new List<ExportWorkItemViewModel>();

            foreach (var workItemDetail in workItemDetails)
            {
                var exportWorkItemViewModel = new ExportWorkItemViewModel();

                if (exportMenuViewModel.WorkItemDetail)
                {
                    exportWorkItemViewModel.ExportWorkItemDetailViewModel = Mapper.Map<WorkItemViewModel>(workItemDetail);
                    exportWorkItemViewModel.ExportWorkItemDetailViewModel.InternalView = exportMenuViewModel.InternalView;
                }
                if (exportMenuViewModel.WorkItemServices)
                {
                    exportWorkItemViewModel.ExportWorkItemServicesViewModel =
                        CreateExportWorkItemServicesViewModel(workItemDetail.WorkOrderNumber,exportMenuViewModel.InternalView);
                }
                if (exportMenuViewModel.WorkItemNotes)
                {
                    exportWorkItemViewModel.ExportWorkItemNotesViewModel =
                        CreateExportWorkItemNotesViewModel(workItemDetail.WorkOrderNumber, exportMenuViewModel.InternalView);
                }

                exportWorkItemViewModels.Add(exportWorkItemViewModel);
            }

            return exportWorkItemViewModels;
        }
        public PropertyViewModel BuildWith(ExportMenuViewModel exportMenuViewModel)
        {
            if (exportMenuViewModel.PropertyDetails == false) return null;

            var propertyDetail = _propertyQueries.Get(exportMenuViewModel.PropertyId);

            if (propertyDetail == null) return null;

            return new PropertyViewModel(propertyDetail, null);
        }
        public ExportPhotosViewModel BuildFrom(ExportMenuViewModel exportMenuViewModel, bool renderAsPdf)
        {
            if (exportMenuViewModel.Photos == false) return null;

            var workItemServices = GetWorkitemServices(exportMenuViewModel).ToList();

            var exportPhotosViewModel = new ExportPhotosViewModel { RenderAsPdf = renderAsPdf };

            workItemServices.ForEach(wis => exportPhotosViewModel.AddWorkItemService(wis,
                                                                    _fileQueries.Get(wis.WorkItemServiceID)));
            return exportPhotosViewModel;
        }
 private IEnumerable<WorkitemServicesDetail> GetWorkitemServices(ExportMenuViewModel exportMenuViewModel)
 {
     switch (exportMenuViewModel.ExportLevel)
     {
         case ExportLevel.Property:
             return
                 _workItemServicesQueries.GetByProperty(exportMenuViewModel.PropertyId);
         case ExportLevel.WorkItem:
             return
                 _workItemServicesQueries.GetByWorkOrderNumber(exportMenuViewModel.WorkOrderNumber);
         default: throw new Exception("Unknown Export type");
     }
 }
        public IEnumerable<ServiceHistoryViewModel> BuildFrom(ExportMenuViewModel exportMenuViewModel)
        {
            if (exportMenuViewModel.ServiceHistory == false) return null;

            var propertyServiceDetails =
             _propertyQueries.GetListByPropertyId<WorkitemServicesDetail>(exportMenuViewModel.PropertyId)
                             .OrderByDescending(x => x.WorkItemCreateDate)
                             .ToList();

            if (propertyServiceDetails.Any() == false) return null;

            return propertyServiceDetails.Select(Mapper.Map<ServiceHistoryViewModel>).ToList();
        }
        public ExportNotesViewModel<PropertyNote> BuildFrom(ExportMenuViewModel exportMenuViewModel)
        {
            if (exportMenuViewModel.PropertyNotes == false) return null;

            var propertyNotes =
               _propertyQueries.GetListByPropertyId<PropertyNote>(exportMenuViewModel.PropertyId)
                               .Where(n => exportMenuViewModel.InternalView ||
                                           n.ClientViewable.HasValue && n.ClientViewable.Value)
                               .OrderByDescending(x => x.SentOn)
                               .ToList();

            return propertyNotes.Any() ? new ExportNotesViewModel<PropertyNote>(propertyNotes) : null;
        }
示例#7
0
        public ExportViewModel BuildFrom(ExportMenuViewModel exportMenuViewModel, bool renderAsPdf)
        {
            var exportViewModel = new ExportViewModel
            {
                RenderAsPdf = renderAsPdf,
                InternalView = exportMenuViewModel.InternalView,
                Property = _buildExportPropertyViewModel.BuildWith(exportMenuViewModel),
                ServiceHistoryModels = _buildExportServiceHistoryViewModel.BuildFrom(exportMenuViewModel),
                PropertyNotesModel = _buildExportPropertyNotesViewModel.BuildFrom(exportMenuViewModel),
                WorkItemViewModels = _buildExportWorkItemViewModel.BuildFrom(exportMenuViewModel),
                Photos =  _buildExportPhotosViewModel.BuildFrom(exportMenuViewModel, renderAsPdf),
            };

            return exportViewModel;
        }
 private IEnumerable<WorkItemDetail> GetWorkItems(ExportMenuViewModel exportMenuViewModel)
 {
     switch (exportMenuViewModel.ExportLevel)
     {
         case ExportLevel.Property:
             return
                 _propertyQueries.GetListByPropertyId<WorkItemDetail>(exportMenuViewModel.PropertyId)
                                 .OrderByDescending(x => x.WorkItemCreateDate)
                                 .ToList();
         case ExportLevel.WorkItem:
             return
                 new List<WorkItemDetail> { _workItemQueries.Get(exportMenuViewModel.WorkOrderNumber) };
         default: throw new Exception("Unknown Export type");
     }
 }