private void ExecuteSaveStorageCommand(object param)
        {
            StorageAdded = false;

            if (_isNew)
            {
                ExternStorage = _dataAccess.CreateExternStorage(Name, CompanyName, Street, Number, ZipCode, City, CompanyId, TaxId);
                StorageAdded  = true;
            }
            else
            {
                ExternStorage.Name        = Name;
                ExternStorage.Prefix      = Prefix;
                ExternStorage.CompanyName = CompanyName;
                ExternStorage.Street      = Street ?? String.Empty;
                ExternStorage.Number      = Number;
                ExternStorage.ZipCode     = ZipCode;
                ExternStorage.City        = City;
                ExternStorage.CompanyId   = CompanyId ?? String.Empty;
                ExternStorage.TaxId       = TaxId ?? String.Empty;
                ExternStorage.Save();
            }

            IsValid = true;
            _closeAction();
        }
        public IExternStorage CreateExternStorage(string name, string companyName, string street, string number, string zipCode, string city, string companyId, string taxId)
        {
            GetLock();
            Storage storage;

            using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
            {
                storage             = new Storage();
                storage.Id          = ObjectId.NewId();
                storage.Name        = name;
                storage.IsExtern    = true;
                storage.CompanyName = companyName;
                storage.Street      = street ?? String.Empty;
                storage.Number      = number;
                storage.ZipCode     = zipCode;
                storage.City        = city;
                storage.CompanyId   = companyId ?? String.Empty;
                storage.TaxId       = taxId ?? String.Empty;

                dataContext.Storages.Add(storage);
                dataContext.SaveChanges();
            }

            ExternStorage externStorage = new ExternStorage(new ExternStorageDataProxy(this, storage.Id));

            _externStorages.Add(externStorage);
            return(externStorage);
        }