コード例 #1
0
ファイル: AddCampaignView.xaml.cs プロジェクト: syatin003/Wpf
        public AddCampaignView(CampaignModel model)
        {
            InitializeComponent();
            DataContext = ViewModel = new AddCampaignViewModel(model);

            Owner = Application.Current.MainWindow;
            Loaded += OnAddCampaignViewLoaded;
        }
コード例 #2
0
ファイル: AddCampaignViewModel.cs プロジェクト: syatin003/Wpf
        public AddCampaignViewModel(CampaignModel campaignModel)
        {
            var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve<IDataUnitLocator>();
            _crmDataUnit = dataUnitLocator.ResolveDataUnit<ICrmDataUnit>();

            SubmitCommand = new RelayCommand(SubmitCommandExecuted, SubmitCommandCanExecute);
            CancelCommand = new RelayCommand(CancelCommandExecuted);

            ProcessCampaign(campaignModel);
        }
コード例 #3
0
ファイル: AddCampaignViewModel.cs プロジェクト: syatin003/Wpf
        private void ProcessCampaign(CampaignModel campaignModel)
        {
            _isEditMode = (campaignModel != null);

            if (_isEditMode)
            {
                CampaignType = campaignModel.CampaignType;
            }

            Campaign = (_isEditMode) ? campaignModel : GetCampaign();
            Campaign.PropertyChanged += CampaignOnPropertyChanged;
        }
コード例 #4
0
ファイル: AddCampaignViewModel.cs プロジェクト: syatin003/Wpf
        public async void LoadData()
        {
            IsBusy = true;

            var types = await _crmDataUnit.CampaignTypesRepository.GetAllAsync();
            CampaignTypes = new ObservableCollection<CampaignType>(types.OrderBy(x => x.Name));

            if (_isEditMode)
            {
                var desiredCampaign = await _crmDataUnit.CampaignsRepository.GetUpdatedCampaign(_campaign.Campaign.ID);

                // Check if we have new changes
                if (desiredCampaign != null && desiredCampaign.LastEditDate != null && _campaign.LoadedTime < desiredCampaign.LastEditDate)
                {
                    Campaign = new CampaignModel(desiredCampaign);
                    CampaignType = desiredCampaign.CampaignType;
                }
            }

            IsBusy = false;
        }
コード例 #5
0
ファイル: AddCampaignViewModel.cs プロジェクト: syatin003/Wpf
        private CampaignModel GetCampaign()
        {
            var campaign = new CampaignModel(new Campaign()
            {
                ID = Guid.NewGuid(),               
                StartDate = DateTime.Now,
                EndDate = DateTime.Now.AddDays(1),
                IsActive = true
            });

            return campaign;
        }
コード例 #6
0
ファイル: CRMViewModel.cs プロジェクト: syatin003/Wpf
        private void EditCampaignCommandExecute(CampaignModel item)
        {
            RaisePropertyChanged("DisableParentWindow");

            var window = new AddCampaignView(item);
            window.ShowDialog();

            RaisePropertyChanged("EnableParentWindow");

            item.Refresh();
        }