public async Task <FunqResult <Minion> > UpdateMinionAsync(Minion minion)
        {
            var dbMinion = await _minionReadSvc.GetMinionAsync(minion.Id).ConfigureAwait(false);

            if (dbMinion == null)
            {
                return(FunqFactory.Fail("Unable to find existing minion to update", (Minion)null));
            }

            dbMinion.MovieMoments = minion.MovieMoments;
            dbMinion.Name         = minion.Name;
            dbMinion.Nickname     = minion.Nickname;
            dbMinion.Traits       = minion.Traits;

            await _appCache.AddOrUpdateAsync(dbMinion.Id.ToString(), dbMinion, null, typeof(Minion).Name).ConfigureAwait(false);

            return(FunqFactory.KeepGroovin(dbMinion, "Successfully updated minion"));
        }
        public async Task <FunqResult> DeleteMinionAsync(Guid minionId)
        {
            await _appCache.RemoveAsync(minionId.ToString(), typeof(Minion).Name);

            return(FunqFactory.KeepGroovin("Deleted the minion"));
        }
        public async Task <FunqResult <Minion> > CreateMinionAsync(Minion minion)
        {
            await _appCache.AddOrUpdateAsync(minion.Id.ToString(), minion, null, typeof(Minion).Name).ConfigureAwait(false);

            return(FunqFactory.KeepGroovin(minion, "Succesfully added minion"));
        }