コード例 #1
0
        public EditEntityWithThreadsViewModel(ThreadReferenceRepository threadReferenceRepository, ThreadRepository threadRepository, IDialogService dialogService)
        {
            _initialIds        = new List <int>();
            _threadIdsToRemove = new List <int>();

            _threadReferenceRepository = threadReferenceRepository;
            _threadRepository          = threadRepository;
            _dialogService             = dialogService;
            AddThreadModel             = new AddThreadModel();

            AddThreadCommand    = new RelayCommand(OnAddThread, CanAddThread);
            DeleteThreadCommand = new RelayCommand <TThread>(OnDeleteThread, CanDeleteThread);
        }
コード例 #2
0
        protected virtual void OnAddThread()
        {
            if (Model.Threads.Any(o => o.ThreadReference.BrandId == AddThreadModel.BrandId &&
                                  o.ThreadReference.BrandName == AddThreadModel.BrandName))
            {
                _dialogService.ShowInfo($"Thread {AddThreadModel.BrandName}-{AddThreadModel.BrandId} already added to the entity", "Duplicate Thread Reference");
                return;
            }

            var threadReference = _threadReferenceRepository
                                  .Query(o => o.BrandId == AddThreadModel.BrandId && o.BrandName == AddThreadModel.BrandName)
                                  .SingleOrDefault();

            if (threadReference == null)
            {
                _dialogService.ShowInfo($"Thread {AddThreadModel.BrandName}-{AddThreadModel.BrandId} could not be found in the inventory", "Missing Thread Reference");
                return;
            }

            AddThreadModel = new AddThreadModel();

            Model.Threads.Add(GenerateThread(threadReference));
        }
コード例 #3
0
 public override void Initialise(object param)
 {
     Model          = (param as TEntity) ?? new TEntity();
     AddThreadModel = new AddThreadModel();
     PopulateInitialIds();
 }