Beispiel #1
0
        public override void Save()
        {
            // TODO: change this to preferred validation model. These string messages are per the I-4 spec.

            if (!ValidateAllRequiredFields())
            {
                return;
            }

            UpdateModelFromProperties();

            CurrentWebsite.ActivityLog.Add(new ActivityLogEntry("Details created and/or updated", DateTime.Now));

            bool   saveErrorsOccurred;
            string eventMessage;

            if (!CurrentWebsite.IsPersisted) // If the website is not persisted, then add new, otherwise, update
            {
                // Add New
                saveErrorsOccurred = WebsiteDataService.SaveNewWebsite(ManageViewModel.WebsiteViewModel.Website);
                eventMessage       = String.Format("Website {0} has been added", CurrentWebsite.Name);
            }
            else
            {
                // Update
                //// If the website is edited, the current status must change in order to allow for the dependency check to be readily available when publishing
                //WebsiteViewModel.Website.CurrentStatus = WebsiteState.Initialized;

                saveErrorsOccurred = WebsiteDataService.UpdateWebsite(CurrentWebsite);
                eventMessage       = String.Format("Website {0} has been updated", CurrentWebsite.Name);
            }

            if (!saveErrorsOccurred) // If no errors in saving website, then publish events
            {
                // publish events so all the associated view models will get the updated item
                EventAggregator.GetEvent <WebsiteCreatedOrUpdatedEvent>().Publish(new ExtendedEventArgs <GenericWebsiteEventArgs>(new GenericWebsiteEventArgs()
                {
                    Website = base.ManageViewModel.WebsiteViewModel, Message = eventMessage
                }));
                // EventAggregator.GetEvent<UpdateWebsiteTabContextEvent>().Publish(
                //new UpdateTabContextEventArgs()
                //{
                //    WebsiteViewModel = base.ManageViewModel.WebsiteViewModel,
                //    ExecuteViewModel = WebsiteTabViewModels.Details
                //});
            }
        }
        // clear WebsiteViewModel.Website.Datasets; populate it from the OC of selected datasets; save it
        public override void Save()
        {
            string message;
            bool   errorsOccurredWhenSaving;

            ProcessWebsitesAndDatasets();

            if (CurrentWebsite.Datasets != null && CurrentWebsite.Datasets.Any())
            {
                //WebsiteViewModel.Website.CurrentStatus = WebsiteState.HasDatasources;
                base.ManageViewModel.WebsiteViewModel.Website.ActivityLog.Add(new ActivityLogEntry("Datsets selected and/or updated.", DateTime.Now));
            }
            //else
            //{
            //    WebsiteViewModel.Website.ActivityLog.Add(new ActivityLogEntry("Measures removed and/or updated.", DateTime.Now));
            //}

            if (!CurrentWebsite.IsPersisted)
            {
                errorsOccurredWhenSaving = WebsiteDataService.SaveNewWebsite(CurrentWebsite);
                message = String.Format("Website {0} has been added", CurrentWebsite.Name);
            }
            else
            {
                // If the website is edited, the current status must change in order to allow for the dependency check to be readily available when publishing
                base.ManageViewModel.WebsiteViewModel.Website.CurrentStatus = WebsiteState.Initialized;

                errorsOccurredWhenSaving = WebsiteDataService.UpdateWebsite(CurrentWebsite);
                message = String.Format("Website {0} has been updated", CurrentWebsite.Name);
            }
            // If no errors, move to the next tab
            if (!errorsOccurredWhenSaving)
            {
                EventAggregator.GetEvent <WebsiteCreatedOrUpdatedEvent>()
                .Publish(new ExtendedEventArgs <GenericWebsiteEventArgs>(new GenericWebsiteEventArgs
                {
                    Website = base.ManageViewModel.WebsiteViewModel,
                    Message = message
                }));
                //EventAggregator.GetEvent<UpdateWebsiteTabContextEvent>().Publish(new UpdateTabContextEventArgs() { WebsiteViewModel = base.ManageViewModel.WebsiteViewModel });
            }
        }
        public override void Save()
        {
            UpdateVmWithSelectedReports();

            string message;
            bool   errorsOccurredWhenSaving;

            if (!ManageViewModel.WebsiteViewModel.Website.IsPersisted)
            {
                errorsOccurredWhenSaving = WebsiteDataService.SaveNewWebsite(ManageViewModel.WebsiteViewModel.Website);
                message = string.Format("Website {0} has been added", ManageViewModel.WebsiteViewModel.Website.Name);
            }
            else
            {
                // If the website is edited, the current status must change in order to allow for the dependency check to be readily available when publishing
                ManageViewModel.WebsiteViewModel.Website.CurrentStatus = WebsiteState.Initialized;

                errorsOccurredWhenSaving = WebsiteDataService.UpdateWebsite(ManageViewModel.WebsiteViewModel.Website);
                message = string.Format("Website {0} has been updated", ManageViewModel.WebsiteViewModel.Website.Name);
            }
            // If no errors, move to the next tab
            if (!errorsOccurredWhenSaving)
            {
                RefreshUIElements();
                var eventArgs = new ExtendedEventArgs <GenericWebsiteEventArgs>
                {
                    Data = new GenericWebsiteEventArgs {
                        Website = ManageViewModel.WebsiteViewModel, Message = message
                    }
                };

                EventAggregator.GetEvent <WebsiteCreatedOrUpdatedEvent>().Publish(eventArgs);
                //EventAggregator.GetEvent<UpdateWebsiteTabContextEvent>().Publish(
                //    new UpdateTabContextEventArgs
                //    {
                //        WebsiteViewModel = base.ManageViewModel.WebsiteViewModel,
                //        ExecuteViewModel = WebsiteTabViewModels.Reports
                //    });
            }
        }