Inheritance: MonoBehaviour
        /// <summary>
        /// Inserts a composer.
        /// </summary>
        /// <param name="composer">The composer.</param>
        /// <returns></returns>
        public async Task <IComposer> InsertAsync(IComposer composer)
        {
            ComposerEntity composerEntity = Mapper.Map <ComposerEntity>(composer);

            composerEntity = await UnitOfWork.InsertAsync(composerEntity);

            await UnitOfWork.CommitAsync();

            return(Mapper.Map <IComposer>(composerEntity));
        }
        /// <summary>
        /// Gets composer by ID.
        /// </summary>
        /// <param name="composerId">The composer ID.</param>
        /// <returns></returns>
        public async Task <IComposer> GetByIdAsync(int composerId)
        {
            ComposerEntity composer = await Repository.Get().SingleOrDefaultAsync(c => c.Id.Equals(composerId));

            return(Mapper.Map <IComposer>(composer));
        }