Beispiel #1
0
        public static async Task <CoverEditorViewModel> FromAsync(CoverManager manager, ICoverParent coverParent)
        {
            var viewModel = new CoverEditorViewModel
            {
                coverId = coverParent.CoverId
            };

            if (viewModel.coverId == null) // since cover id equal id, new object may contain null cover id.
            {
                throw new ArgumentNullException();
            }
            else
            {
                var cover = await manager.FindAsync(viewModel.coverId);

                if (cover == null)
                {
                    viewModel.CreateMode();
                }
                else
                {
                    viewModel.ModifyMode(cover);
                }
            }
            return(viewModel);
        }