public SearchModel(SearchResultType resultType, string id, ICustomersCommonViewModel parentViewModel, IViewModelsFactory<ICustomersDetailViewModel> customersDetailVmFactory)
        {
            _resultType = resultType;
            _id = id;
            _parentViewModel = parentViewModel;
            _customersDetailVmFactory = customersDetailVmFactory;

            OpenItemCommand = new DelegateCommand(RaiseOpenItemInteractionRequest);
        }
        public SearchModel(SearchResultType resultType, string id, ICustomersCommonViewModel parentViewModel, IViewModelsFactory <ICustomersDetailViewModel> customersDetailVmFactory)
        {
            _resultType               = resultType;
            _id                       = id;
            _parentViewModel          = parentViewModel;
            _customersDetailVmFactory = customersDetailVmFactory;

            OpenItemCommand = new DelegateCommand(RaiseOpenItemInteractionRequest);
        }
        public CustomersDetailViewModel(ICustomerEntityFactory entityFactory, ICustomerRepository repository,
                    NavigationManager navManager, IRepositoryFactory<ICustomerRepository> repositoryFactory,
                    IAuthenticationContext authContext, ICustomersCommonViewModel parentViewModel,
                    Case innerCase, Contact innerContact,
                    CaseActionState caseAction, ContactActionState contactAction,
                    IViewModelsFactory<CaseDetailViewModel> caseDetailVmFactory, IViewModelsFactory<CustomerDetailViewModel> customerDetailVmFactory,
                    IViewModelsFactory<ICreateCustomerDialogViewModel> wizardCustomerVmFactory,
                    IViewModelsFactory<IKnowledgeBaseDialogViewModel> knowledgeBaseGroupVmFactory)
        {
            _entityFactory = entityFactory;
            Repository = repository;
            _authContext = authContext;
            _navManager = navManager;
            _repositoryFactory = repositoryFactory;
            _caseDetailVmFactory = caseDetailVmFactory;
            _customerDetailVmFactory = customerDetailVmFactory;
            _wizardCustomerVmFactory = wizardCustomerVmFactory;
            _knowledgeBaseGroupVmFactory = knowledgeBaseGroupVmFactory;
            _parentViewModel = parentViewModel;

            OriginalItem = innerCase;
            OriginalContact = innerContact;

            InnerItem = innerCase;
            CurrentCustomer = innerContact;

            CaseActionState = caseAction;
            ContactActionState = contactAction;

            InitializeCommands();

            _isItemsInitialized = false;

            ViewTitle = new ViewTitleBase
                {
                    SubTitle = string.Format("Case #{0}".Localize(), InnerItem.Number),
                    Title = "Customer Service"
                };


            _authorId = _authContext.CurrentUserId;
            _authorName = _authContext.CurrentUserName;
        }