public async Task <ActionResult> AdminUpdateVoteSettings(UpdateVoteSettingsModel model) { if (!ModelState.IsValid) { model.Currencies = await CurrencyReader.GetCurrencies(); return(View("AdminUpdateVoteSettingsModal", model)); } var result = await VoteWriter.AdminUpdateVoteSettings(User.Id(), model); if (!ModelState.IsWriterResultValid(result)) { model.Currencies = await CurrencyReader.GetCurrencies(); return(View("AdminUpdateVoteSettingsModal", model)); } return(CloseModal()); }
public async Task <IWriterResult <bool> > AdminUpdateVoteSettings(string userId, UpdateVoteSettingsModel model) { using (var context = DataContextFactory.CreateContext()) { var votesettings = await context.VoteSetting.FirstOrDefaultNoLockAsync(); if (votesettings == null) { votesettings = new VoteSettings(); context.VoteSetting.Add(votesettings); await context.SaveChangesAsync(); } votesettings.Next = model.Next; votesettings.IsPaidEnabled = model.IsPaidEnabled; votesettings.IsFreeEnabled = model.IsFreeEnabled; votesettings.CurrencyId = model.CurrencyId; var contextResults = await context.SaveChangesWithLoggingAsync(); return(WriterResult <bool> .ContextResult(contextResults)); } }