示例#1
0
        public static DirectedFilmEntity MapToEntity(DirectedFilmDetailModel model, IEntityFactory entityFactory)
        {
            var entity = (entityFactory ??= new EntityFactory()).Create <DirectedFilmEntity>(model.Id);

            entity.Id         = model.Id;
            entity.DirectorId = model.DirectorId;
            entity.Director   = (entityFactory ??= new EntityFactory()).Create <PersonEntity>(model.DirectorId);
            entity.FilmId     = model.FilmId;
            entity.Film       = (entityFactory ??= new EntityFactory()).Create <FilmEntity>(model.FilmId);

            return(entity);
        }
        private void Delete()
        {
            var film = _filmRepository.GetById(FilmId);

            Model = new DirectedFilmDetailModel();
            Model = film.Directors.Single(director => director.DirectorId == DeleteDirectorId);

            var delete = _messageDialogService.Show(
                $"Delete",
                $"Do you want to delete director {Model.FirstName} {Model.LastName} from film {Model?.OriginalName}?",
                MessageDialogButtonConfiguration.YesNo, MessageDialogResult.No);

            if (delete == MessageDialogResult.No)
            {
                return;
            }

            try
            {
                _directedFilmRepository.Delete(Model.Id);
            }
            catch
            {
                var _ = _messageDialogService.Show(
                    $"Deleting of director {Model.FirstName} {Model.LastName} from film {Model?.OriginalName} failed!",
                    "Deleting failed",
                    MessageDialogButtonConfiguration.OK,
                    MessageDialogResult.OK);
                return;
            }

            _mediator.Send(new UpdateMessage <PersonWrapper> {
                Model = _personRepository.GetById(DeleteDirectorId)
            });
            _mediator.Send(new UpdateMessage <FilmWrapper> {
                Model = film
            });
        }
        private void Add()
        {
            var film     = _filmRepository.GetById(FilmId);
            var director = _personRepository.GetById(AddDirectorId);

            Model = new DirectedFilmDetailModel()
            {
                DirectorId   = AddDirectorId,
                FirstName    = director.FirstName,
                LastName     = director.LastName,
                FilmId       = FilmId,
                OriginalName = film.OriginalName
            };

            Model = _directedFilmRepository.InsertOrUpdate(Model);

            _mediator.Send(new UpdateMessage <PersonWrapper> {
                Model = director
            });
            _mediator.Send(new UpdateMessage <FilmWrapper> {
                Model = film
            });
        }