/// <summary>
        /// 新增作曲家
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        internal async Task <Composer> AddComposerAsync(AddComposerRequestModel model)
        {
            Composer composer = new Composer();

            composer.Id           = Guid.NewGuid();
            composer.ComposerName = model.ComposerName;
            composer.Born         = model.Born;
            composer.Passed       = model.Passed;
            db.Composer.Add(composer);
            await db.SaveChangesAsync();

            return(composer);
        }
        /// <summary>
        /// 新增樂曲
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        internal async Task <Piece> AddPieceAsync(AddPieceRequestModel model)
        {
            Composer composer = db.Composer.Where(i => i.ComposerName == model.ComposerName).FirstOrDefault();

            if (composer == null)
            {
                AddComposerRequestModel addComposer = new AddComposerRequestModel();
                addComposer.ComposerName = model.ComposerName;
                composer = await AddComposerAsync(addComposer);
            }
            Piece piece = new Piece();

            piece.Id           = Guid.NewGuid();
            piece.ComposerId   = composer.Id;
            piece.CreateDate   = model.CreateDate;
            piece.PieceName    = model.PieceName;
            piece.Style        = model.Style;
            piece.ComposerName = model.ComposerName;
            db.Piece.Add(piece);
            await db.SaveChangesAsync();

            return(piece);
        }