public async Task <ApiResult <AddPieceResponseModel> > AddPiece(AddPieceRequestModel model) { ApiResult <AddPieceResponseModel> result = new ApiResult <AddPieceResponseModel>(); AddPieceResponseModel responseModel = new AddPieceResponseModel(); responseModel.IsAddSuccess = false; try { responseModel.Piece = await musicFacade.AddPieceAsync(model); responseModel.IsAddSuccess = true; } catch (Exception e) { } result.Data = responseModel; result.Code = result.Data.IsAddSuccess ? ApiResultCode.Success : ApiResultCode.DBUpdateFail; return(result); }
/// <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); }