Example #1
0
        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);
            }
        }
Example #2
0
 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;
 }
Example #3
0
        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;
        }
Example #4
0
 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;
     }));
 }
Example #5
0
        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;
        }