public NewPackageViewModel()

in WindowsSmartInk/SmartInkLaboratory/ViewModels/NewPackageViewModel.cs [104:146]


        public NewPackageViewModel(IProjectPackageMapper mapper, ITagService tags, IAppStateService state,INavigationService nav)
        {
            _mapper = mapper;
            _tags = tags;
            _state = state;
            _nav = nav;
            _packageManager = new PackageManager();
            
            this.Save = new RelayCommand(async () =>
            {
                ISmartInkPackage package;
                try
                {
                    if (IsMediaPackage)
                        package = await _packageManager.CreateLocalPackageAsync<SmartInkMediaPackage>(Name);
                    else
                        package = await _packageManager.CreateLocalPackageAsync<SmartInkPackage>(Name);

                    var taglist = await _tags.GetTagsAsync();
                    var newTags = new Dictionary<Guid, string>();
                    foreach (var tag in taglist)
                    {
                        newTags.Add(tag.Id, tag.Name);
                    }

                    await package.AddTagsAsync(newTags);

                    await _mapper.AddAsync(package.Name, _state.CurrentProject.Id.ToString());

                    _state.SetCurrentPackage(package);

                    Reset();
                }
                catch (Exception)
                {
                   
                }
            },
            ()=> {
                return !string.IsNullOrWhiteSpace(Name) && !string.IsNullOrWhiteSpace(Version);
            });
         
        }