private void LoadSiteVisitTemplate(int templateId) { var service = new MaterialService(User); var list = service.GetRDESiteVisits(new[] { templateId }); if (list != null && list.Count > 0) { _siteVisitTemplate = new RDESiteVisitViewModel(list[0]); } if (_siteVisitTemplate != null) { mnuSetSiteVisitTemplate.Header = String.Format("Set Site _Visit Template ({0}) ...", _siteVisitTemplate.VisitName); Config.SetProfile(User, ConfigSitevisitTemplateId, templateId); } else { mnuSetSiteVisitTemplate.Header = "Set Site _Visit Template..."; Config.SetProfile(User, ConfigSitevisitTemplateId, -1); } }
private RDESiteVisitViewModel CreateSiteVisitViewModel(RDESiteVisit visit, RDESiteViewModel site) { var vm = new RDESiteVisitViewModel(visit); vm.DataChanged += SiteVisitViewModelDataChanged; vm.Site = site; vm.SiteID = site.SiteID; vm.Locked = !User.HasPermission(PermissionCategory.SPARC_SITEVISIT, PERMISSION_MASK.UPDATE) || _startLockMode; site.SiteVisits.Add(vm); return vm; }
private RDESiteVisitViewModel AddNewSiteVisit(RDESiteViewModel site) { var sv = CreateNewSiteVisit(); var siteVisit = new RDESiteVisitViewModel(sv) {Site = site, SiteID = site.SiteID}; site.SiteVisits.Add(siteVisit); siteVisit.DataChanged +=SiteVisitViewModelDataChanged; RegisterPendingChange(new InsertRDESiteVisitCommand(siteVisit.Model, site.Model)); RegisterPendingChange(new UpdateRDESiteVisitCommand(siteVisit.Model) { SuccessAction = () => siteVisit.Touch() }); return siteVisit; }
private ObservableCollection<ViewModelBase> CreateMaterialViewModels(IEnumerable<RDEMaterial> material, RDESiteVisitViewModel siteVisit) { var supportService = new SupportService(User); siteVisit.Material.Clear(); return new ObservableCollection<ViewModelBase>(material.Select(m => { var vm = new RDEMaterialViewModel(m); vm.Traits = supportService.GetTraits(TraitCategoryType.Material.ToString(), vm.MaterialID); vm.Multimedia = supportService.GetMultimediaItems(TraitCategoryType.Material.ToString(), vm.MaterialID); vm.DataChanged += MaterialViewModelDataChanged; vm.SiteVisit = siteVisit; vm.SiteVisitID = siteVisit.SiteVisitID; siteVisit.Material.Add(vm); vm.Locked = !User.HasPermission(PermissionCategory.SPARC_MATERIAL, PERMISSION_MASK.UPDATE) || _startLockMode; return (ViewModelBase)vm; })); }
private RDEMaterialViewModel AddNewMaterial(RDESiteVisitViewModel siteVisit) { if (siteVisit != null) { // create the new material... List<Trait> traits; List<Associate> associates; List<MaterialPart> subparts; var material = CreateNewMaterial(out traits, out associates, out subparts); var materialViewModel = new RDEMaterialViewModel(material); RegisterPendingChange(new InsertRDEMaterialCommand(material, siteVisit.Model)); RegisterUniquePendingChange(new UpdateRDEMaterialCommand(material) { SuccessAction = () => { materialViewModel.MaterialName = material.MaterialName; } }); if (traits != null && traits.Count > 0) { foreach (Trait t in traits) { materialViewModel.Traits.Add(t); RegisterPendingChange(new UpdateTraitDatabaseCommand(t, materialViewModel)); } } if (associates != null && associates.Count > 0) { foreach (Associate a in associates) { var vm = new AssociateViewModel(a); vm.DataChanged += AssociateDataChanged; materialViewModel.Associates.Add(vm); RegisterPendingChange(new InsertAssociateCommand(a, materialViewModel)); } } if (subparts != null && subparts.Count > 0) { foreach (MaterialPart subpart in subparts) { var vm = new MaterialPartViewModel(subpart); vm.DataChanged +=SubPartDataChanged; materialViewModel.SubParts.Add(vm); RegisterPendingChange(new InsertMaterialPartCommand(subpart, materialViewModel)); } } else { // Add one subpart... var subpart = new MaterialPartViewModel(new MaterialPart()) {MaterialPartID = -1, PartName = "<New>"}; materialViewModel.SubParts.Add(subpart); RegisterPendingChange(new InsertMaterialPartCommand(subpart.Model, materialViewModel)); } materialViewModel.SiteVisit = siteVisit; materialViewModel.SiteVisitID = siteVisit.SiteVisitID; siteVisit.Material.Add(materialViewModel); materialViewModel.DataChanged +=MaterialViewModelDataChanged; return materialViewModel; } return null; }