protected override ILogRecord[][] KeptRecords(DbResult dbResult) { if (LogFormatHelper <TLogFormat, TStreamId> .IsV2) { return(new[] { new ILogRecord[0] }); } return(new[] { new[] { dbResult.Recs[0][0], // "test" created } }); }
public void CreateDb(params Rec[] records) { if (DbRes != null) { DbRes.Db.Close(); } var dbConfig = TFChunkHelper.CreateSizedDbConfig(PathName, 0, chunkSize: 1024 * 1024); var dbHelper = new TFChunkDbCreationHelper <TLogFormat, TStreamId>(dbConfig); DbRes = dbHelper.Chunk(records).CreateDb(); DbRes.Db.Config.WriterCheckpoint.Flush(); DbRes.Db.Config.ChaserCheckpoint.Write(DbRes.Db.Config.WriterCheckpoint.Read()); DbRes.Db.Config.ChaserCheckpoint.Flush(); var logFormat = LogFormatHelper <TLogFormat, TStreamId> .LogFormat; var readers = new ObjectPool <ITransactionFileReader>( "Readers", 2, 2, () => new TFChunkReader(DbRes.Db, DbRes.Db.Config.WriterCheckpoint)); var lowHasher = logFormat.LowHasher; var highHasher = logFormat.HighHasher; var emptyStreamId = logFormat.EmptyStreamId; TableIndex = new TableIndex <TStreamId>(GetFilePathFor("index"), lowHasher, highHasher, emptyStreamId, () => new HashListMemTable(PTableVersions.IndexV3, MaxEntriesInMemTable * 2), () => new TFReaderLease(readers), PTableVersions.IndexV3, int.MaxValue, Constants.PTableMaxReaderCountDefault, MaxEntriesInMemTable); var readIndex = new ReadIndex <TStreamId>(new NoopPublisher(), readers, TableIndex, logFormat.StreamIds, logFormat.StreamNamesProvider, logFormat.EmptyStreamId, logFormat.StreamIdValidator, logFormat.StreamIdSizer, 0, additionalCommitChecks: true, metastreamMaxCount: _metastreamMaxCount, hashCollisionReadLimit: Opts.HashCollisionReadLimitDefault, skipIndexScanOnReads: Opts.SkipIndexScanOnReadsDefault, replicationCheckpoint: DbRes.Db.Config.ReplicationCheckpoint, indexCheckpoint: DbRes.Db.Config.IndexCheckpoint); readIndex.IndexCommitter.Init(DbRes.Db.Config.ChaserCheckpoint.Read()); ReadIndex = new TestReadIndex <TStreamId>(readIndex, logFormat.StreamNameIndex); }
public object AddModel(ModelAddReqDTO dto) { if (string.IsNullOrEmpty(dto.SysCode)) { // 自动赋予一个唯一编码 dto.SysCode = GuidUtil.NewGuid(); } // 使用事务 DbResult <ModelRegisterRespDTO> dbResult = base.Db.Ado.UseTran <ModelRegisterRespDTO>(() => { // 查询单条没有数据返回NULL, Single超过1条会报错,First不会 // base.DmeModelDb.GetContext().Queryable<DmeModel>().Single(m => m.SysCode == dto.SysCode); DmeModel model = base.Db.Queryable <DmeModel>().Where(m => m.SysCode == dto.SysCode).Single(); if (null == model) { model = new DmeModel { SysCode = dto.SysCode, Name = dto.Name, Remark = dto.Remark, CreateTime = DateUtil.CurrentTimeMillis, IsPublish = 1, PublishTime = DateUtil.CurrentTimeMillis, Status = 1 }; // 模型类型 DmeModelType modelType = base.Db.Queryable <DmeModelType>().Single(mt => mt.SysCode == dto.TypeCode); if (modelType != null) { model.ModelTypeId = modelType.Id; model.ModelTypeCode = modelType.SysCode; } model = base.Db.Insertable <DmeModel>(model).ExecuteReturnEntity(); if (null == model) { throw new Exception(String.Format("创建模型失败,原因未明,编码:[{0}],名称:[{1}]。", dto.SysCode, dto.Name)); } } else { LOG.Info($"模型[{dto.SysCode}]已存在,作为新增版本信息"); } ModelRegisterRespDTO respDTO = ClassValueCopier <ModelRegisterRespDTO> .Copy(model); // 处理版本 respDTO.VersionCodes = this.HandleVersions(base.Db, model, dto); return(respDTO); }); return(dbResult.Data); }
private async Task <List <ChapterUpdateBucket> > GetUpdatedChapterBucketList() { List <ChapterUpdateBucket> allUpdatedChapterBuckets = new(); DbResult <IEnumerable <NovelInfo> > result = await this.mediator.Send(new NovelInfos.GetAllNovelsInfo()); if (!result.TryGetValue(out IEnumerable <NovelInfo>?allNovelsInfo)) { return(new List <ChapterUpdateBucket>()); } // Retrieve all updated chapters foreach (NovelInfo novelInfo in allNovelsInfo) { ChapterUpdateBucket temp = new(novelInfo); using XmlReader reader = XmlReader.Create(novelInfo.SyndicationUri, new XmlReaderSettings { Async = true, }); RssFeedReader feedReader = new(reader); while (await feedReader.Read()) { if (feedReader.ElementType == SyndicationElementType.Item) { ISyndicationItem item = await feedReader.ReadItem(); ChapterUpdateItem chapterUpdateItem = item.ToChapterUpdateItem(); if (chapterUpdateItem.Id == novelInfo.MostRecentChapterId || chapterUpdateItem.Id == null) { break; } chapterUpdateItem.Description = chapterUpdateItem.Description.FromHtmlToDiscordMarkdown(); temp.ChapterUpdateItems.Add(chapterUpdateItem); } else if (feedReader.ElementType == SyndicationElementType.Content) { ISyndicationContent content = await feedReader.ReadContent(); if (content.Name.Equals("title") && !content.Value.Equals(temp.Novel.Name)) { temp.NewTitle = content.Value; } } } if (temp.ChapterUpdateItems.Any()) { allUpdatedChapterBuckets.Add(temp); } } return(allUpdatedChapterBuckets); }
public async Task UnregisterTimeZone(CommandContext context) { DbResult <UserTimeZone> timeZoneResult = await this.mediator.Send(new UserTimeZones.GetUsersTimeZone(context.User)); if (!timeZoneResult.TryGetValue(out UserTimeZone? timeZone)) { await context.RespondAsync("You don't have a timezone registered to unregister."); return; } await this.mediator.Send(new UserTimeZones.Delete(timeZone)); await context.RespondAsync("Ok, I've unregistered your timezone from my databases. This means that it has been completely deleted."); }
public async Task <DbResult> TrySaveAsUserAsync(int userId) { try { await SaveAsUserAsync(userId); return(DbResult.Ok()); } catch (DbEntityValidationException ex) { string[] errorMessages = GetValidationErrors(ex).ToArray(); return(DbResult.Error(errorMessages)); } }
protected override LogRecord[][] KeptRecords(DbResult dbResult) { return(new[] { new LogRecord[0], new[] { dbResult.Recs[1][0], dbResult.Recs[1][1], dbResult.Recs[1][2], dbResult.Recs[1][3] } }); }
public async Task SuggestAsync(CommandContext context, [RemainingText, Description("The movie to search for")] string query) { if (string.IsNullOrWhiteSpace(query)) { await context.RespondAsync("You must provide a non-empty query"); return; } LazyOmdbList movieList; try { movieList = await this.omdbClient.SearchByTitleAsync(query); } catch (OmdbException oe) { await context.RespondAsync($"There was some failure with your search: {oe.Message}"); return; } OmdbMovie?selectedMovie = await SelectMovieWithPaginatedEmbed(movieList, context); if (selectedMovie == null) { return; } DbResult getGuildMovieSuggestionResult = await this.mediator.Send(new GuildMovieSuggestions.GetMovieSuggestion(selectedMovie.ImdbId, context.Guild)); if (getGuildMovieSuggestionResult.Success) { await context.RespondAsync("This movie suggestion has already been made"); return; } DbResult <GuildMovieSuggestion> addMovieSuggestionResult = await this.mediator.Send(new GuildMovieSuggestions.Add(selectedMovie.ImdbId, context.Member, selectedMovie.Title, context.Guild, selectedMovie.Year, selectedMovie.Rated ?? OmdbParentalRating.NR)); if (!addMovieSuggestionResult.TryGetValue(out GuildMovieSuggestion? _)) { await context.RespondAsync("There was a failure adding your movie suggestion to the data store. Reach out to your developer."); return; } await context.RespondAsync($"You have added {selectedMovie.Title} as a suggestion!"); }
public async Task <IHttpActionResult> ManageRolesInUser([FromBody] RolesInUserModel model) { DbResult _dbResult = new DbResult(); var user = await this.UserManager.FindByNameAsync(model.Username); if (user == null) { _dbResult = new DbResult { IsDbSuccess = false, DbMessage = "User does not exist" }; } else { IdentityResult result = new IdentityResult(); foreach (var role in model.AddRoles) { if (!this.UserManager.IsInRole(user.Id, role)) { result = await this.UserManager.AddToRolesAsync(user.Id, role); } } if (result.Succeeded) { result = await this.UserManager.RemoveFromRolesAsync(user.Id, model.RemoveRoles); } if (result.Succeeded) { _dbResult = new DbResult { IsDbSuccess = true, DbMessage = "Roles assigned to user successfully" }; } else { _dbResult = new DbResult { IsDbSuccess = false, DbMessage = result.Errors.SingleOrDefault() }; } } return(Ok(_dbResult)); }
private void CreateSystemNoteMessage(MsgSubmitSystem submitSystem) { DbResult <bool> transResult = null; if (submitSystem.systemNoteTarget == SystemNoteTarget.Single) { EMsgInfo_System msg = new EMsgInfo_System { CreatedDateTime = DateTime.Now, ContentId = submitSystem.contentId, ReceiveUserId = submitSystem.receiveUserId, }; transResult = _msgReplyRepository.Db.Ado.UseTran(() => { //新消息 _msgSystemRepository.AddNoIdentity_Sync(msg); //总数 _msgInfoOverviewRepository.UpdateNotificateToUnRead(NotificationType.system, msg.ReceiveUserId); }); } else { List <UserSimple> userList = _userRepository.queryNotificationGroup(submitSystem.receiveGroupId); List <EMsgInfo_System> msgList = new List <EMsgInfo_System>(); foreach (var u in userList) { EMsgInfo_System msg = new EMsgInfo_System { CreatedDateTime = DateTime.Now, ContentId = submitSystem.contentId, ReceiveUserId = u.UserId, }; msgList.Add(msg); } transResult = _msgReplyRepository.Db.Ado.UseTran(() => { //新消息 _msgSystemRepository.AddRange(msgList); //总数 _msgInfoOverviewRepository.UpdateGroupToUnRead(submitSystem.receiveGroupId); }); } if (transResult != null && !transResult.IsSuccess) { throw new Exception(transResult.ErrorMessage); } }
private void Delete_Patient(object sender, EventArgs e) { DbResult result = Delete_From_DB(); if (result.success) { App.Current.MainPage.DisplayAlert(result.msg, "", "Ok"); var patientPage = new PatientsViewPage(); Navigation.InsertPageBefore(patientPage, Navigation.NavigationStack[Navigation.NavigationStack.Count - 1]); Navigation.RemovePage(Navigation.NavigationStack[Navigation.NavigationStack.Count - 1]); Navigation.PopAsync(); } }
public ActionResult LibroMasPrestado() { DbResult vm = new DbResult(); List <DbResult> studentList = db.Database.SqlQuery <DbResult>("SELECT PRES.IDMATBIBLIO,MAT.ID, COUNT(MAT.IDMATBIBLIO) AS VECES,CAT.IDFROMPRESTAMO AS PRES JOIN MATERIALBIBLIOGRAFICO AS MAT ON PRES.IDMATBIBLIO = MAT.IDMATBIBLIO JOIN CATERGORIA AS CAT ON CAT.IDCATEGORIA = MAT.IDCATEGORIA GROUP BY PRES.IDMATBIBLIO, MAT.NOMBRE, MAT.IDMATBIBLIO, CAT.ID, MAT.ID ORDER BY 'VECES'").ToList(); /*var studentList1 = db.PRESTAMOes * .SqlQuery("select tabla.IDMATBIBLIO FROM ( select IDMATBIBLIO, COUNT(*) as Mat From PRESTAMO group by IDMATBIBLIO ) as tabla") * .ToList<PRESTAMO>();*/ return(View(studentList)); }
protected void Application_Error(object sender, EventArgs e) { var err = Server.GetLastError() as HttpException; var dr = new DbResult(); if (err != null) { var page = HttpContext.Current.Request.Url.ToString(); dr = ApplicationErrorManager.LogError(err, page); } Server.ClearError(); var url = ApplicationErrorManager.GetVirtualDirName() + "/Error.aspx"; Server.Transfer(url + "?id=" + dr.Id); }
protected override LogRecord[][] KeptRecords(DbResult dbResult) { return(new[] { new [] { dbResult.Recs[0][2], dbResult.Recs[0][3], dbResult.Recs[0][4], dbResult.Recs[0][5], dbResult.Recs[0][10], dbResult.Recs[0][11] } }); }
public DbResult CancelEmployee(int u_id, string u_cancelation_date) { DbResult dbResult = new DbResult(); User user = getCurrentUser(); if (user != null) { dbResult = iuser.CancelEmployee(u_id, u_cancelation_date, user.u_id); } else { ViewBag.Message = "Session Timeout !! Please Reload the Page !!"; } return(dbResult); }
public DbResult AddUserReportingHeirarchy(UserReportingHierarchy userReportingHierarchy) { DbResult result = new DbResult(); User user = getCurrentUser(); if (user != null) { result = iuserReportingHierarchy.addUserReportingHierarchy(userReportingHierarchy); } else { result.Message = "Session Expired !! Please reload Page !!"; } return(result); }
private static DbResult GetResponse(DbResult response) { var dr = new DbResult(); if (response.ErrorCode.Equals("0")) { dr.SetError(response.ErrorCode, response.Msg, response.Id); } else { dr.SetError(response.ErrorCode, response.Msg, response.Id); } return(response); }
public bool submitUerChargeTrans(VueSubmitUserCharge submitData) { DbResult<bool> transResult = null; if (string.IsNullOrEmpty(submitData.userId)) throw new CCException("【提交充值】非法进入"); if (submitData.amount < 1) throw new CCException("【提交充值】金额不能小于1"); if (submitData.points < 10) throw new CCException("【提交充值】积分不能小于10"); // if(submitData.pointEffectDate) transResult = _userFinanceRepository.Db.Ado.UseTran(() => { //充值交易记录 _userFinanceRepository.Add_Sync(new EUserChargeTrans { userId = submitData.userId, createdDateTime = DateTime.Now, money = submitData.amount, point = submitData.points, rate = submitData.rate }) ; //积分变动 _userFinanceRepository.AddPointTrans_Sync(new EUserPointsTrans { userId = submitData.userId, createdDateTime = DateTime.Now, point = submitData.points, changeType = Model.BaseEnum.PointChangeType.charge }); //用户财务概况表 _userFinanceOverViewRepository.updateChargePoint(new updateFinOverview { userId = submitData.userId, direction = Model.BaseEnum.OperationDirection.plus, point = submitData.points, pointEffectDate = submitData.pointEffectDate }); }); if (!transResult.IsSuccess) throw new Exception(transResult.ErrorMessage); return true; }
public DbResult Create(UserShift userShift) { DbResult result = new DbResult(); User user = getCurrentUser(); if (user != null) { result = iuserShift.Add(userShift); } else { result.Message = "Session Expired ! Please Reload !!!"; } return(result); }
public void CreateDb(params Rec[] records) { if (DbRes != null) { DbRes.Db.Close(); } var dbConfig = new TFChunkDbConfig(PathName, new VersionedPatternFileNamingStrategy(PathName, "chunk-"), 1024 * 1024, 0, new InMemoryCheckpoint(0), new InMemoryCheckpoint(0), new InMemoryCheckpoint(-1), new InMemoryCheckpoint(-1), inMemDb: true); var dbHelper = new TFChunkDbCreationHelper(dbConfig); DbRes = dbHelper.Chunk(records).CreateDb(); DbRes.Db.Config.WriterCheckpoint.Flush(); DbRes.Db.Config.ChaserCheckpoint.Write(DbRes.Db.Config.WriterCheckpoint.Read()); DbRes.Db.Config.ChaserCheckpoint.Flush(); var readers = new ObjectPool <ITransactionFileReader>( "Readers", 2, 2, () => new TFChunkReader(DbRes.Db, DbRes.Db.Config.WriterCheckpoint)); var lowHasher = new XXHashUnsafe(); var highHasher = new Murmur3AUnsafe(); TableIndex = new TableIndex(GetFilePathFor("index"), lowHasher, highHasher, () => new HashListMemTable(PTableVersions.IndexV3, MaxEntriesInMemTable * 2), () => new TFReaderLease(readers), PTableVersions.IndexV3, MaxEntriesInMemTable); ReadIndex = new ReadIndex(new NoopPublisher(), readers, TableIndex, 0, additionalCommitChecks: true, metastreamMaxCount: _metastreamMaxCount, hashCollisionReadLimit: Opts.HashCollisionReadLimitDefault, skipIndexScanOnReads: Opts.SkipIndexScanOnReadsDefault); ReadIndex.Init(DbRes.Db.Config.ChaserCheckpoint.Read()); }
public async Task DeleteAsync(CommandContext context) { DbResult <IEnumerable <GuildMovieNight> > getMovieNightsResult = await this.mediator.Send(new GuildMovieNights.GetAllGuildsMovieNights(context.Guild.Id)); if (!getMovieNightsResult.TryGetValue(out IEnumerable <GuildMovieNight>?guildMovieNights)) { throw new Exception("An error occured while retrieving guild movie nights"); } bool hasManageServer = context.Member.Roles.Select(x => x.CheckPermission(Permissions.ManageGuild)).Any(); if (!hasManageServer) { guildMovieNights = guildMovieNights.Where(mn => mn.HostId == context.Member.Id); } List <GuildMovieNight> movieNights = guildMovieNights.ToList(); InteractivityExtension interactivity = context.Client.GetInteractivity(); IEnumerable <Page> pages = await GetGuildMovieNightsPages(context.Guild, movieNights, interactivity, hasManageServer); CustomResult <int> result = await context.WaitForMessageAndPaginateOnMsg(pages, PaginationMessageFunction.CreateWaitForMessageWithIntInRange(context.User, context.Channel, 1, movieNights.Count + 1) ); if (result.TimedOut || result.Cancelled) { await context.RespondAsync("You never gave me a valid input. Please try again if so desired."); return; } Reaction reaction = await interactivity.AddAndWaitForYesNoReaction(await context.Channel.SendMessageAsync($"You want me to do delete movie night {result.Result}?"), context.Member); if (reaction != Reaction.Yes) { await context.Channel.SendMessageAsync("Ok!"); return; } GuildMovieNight chosen = movieNights[result.Result - 1]; RecurringJob.RemoveIfExists(chosen.MovieNightStartHangfireId); RecurringJob.RemoveIfExists(chosen.VotingStartHangfireId); RecurringJob.RemoveIfExists(chosen.VotingEndHangfireId); await this.mediator.Send(new GuildMovieNights.Delete(chosen)); await context.Channel.SendMessageAsync($"{context.Member.Mention}, I have deleted movie night {result.Result}"); }
public List <DbResult> GetResults(DbQuery query) { var results = new List <DbResult>(); if (Open()) { using (var cmd = _conn.CreateCommand()) { //cmd.AllResultTypesAreUnknown = true; cmd.CommandText = query.Sql; foreach (var commandParam in query.CommandParams) { cmd.Parameters.AddWithValue(commandParam.Key, commandParam.Value); } int index = 0; _logger.Debug("Запрос: " + cmd.CommandText); var reader = cmd.ExecuteReader(); while (reader.Read()) { var res = new DbResult(); for (int i = 0; i < reader.FieldCount; i++) { try { res.Fields.Add(reader[i]); res.FieldNames.Add(reader.GetName(i)); } catch (Exception ex) { Close(); res.Fields.Add(null); res.FieldNames.Add(reader.GetName(i)); _logger.Debug("SQL Error: " + ex.Message); } } index++; results.Add(res); } _logger.Debug("Получено записей: " + index); } Close(); } return(results); }
public async Task <DbResult> SaveWinners(int handId, Dictionary <int, List <int> > groupOfPlayers) { var returnValue = new DbResult() { IsSuccess = false, ErrorMessage = "Error while saving the wiiners." }; Round round = new Round(); round.Description = "Generated Round"; round.CreatedBy = "system"; round.CreatedDate = DateTime.UtcNow; returnValue = await _roundService.Insert(round); if (returnValue.IsSuccess) { foreach (var groupOfPlayer in groupOfPlayers) { Group group = new Group(); group.Hand_Id = handId; group.Round_Id = round.Id; group.CreatedBy = "system"; group.CreatedDate = DateTime.UtcNow; returnValue = await _groupService.Insert(group); if (returnValue.IsSuccess) { List <PlayerGroup> playerGroups = new List <PlayerGroup>(); foreach (int playerId in groupOfPlayer.Value) { PlayerGroup playerGroup = new PlayerGroup(); playerGroup.Group_Id = group.Id; playerGroup.Player_Id = playerId; playerGroup.CreatedBy = "system"; playerGroup.CreatedDate = DateTime.UtcNow; playerGroups.Add(playerGroup); } returnValue = await _playerGroupService.InsertRange(playerGroups); } } } return(returnValue); }
private async Task <DateTimeZone> GetUserDateTimeZone(ulong hostId) { DbResult <UserTimeZone> hostTimeZoneResult = await this.mediator.Send(new UserTimeZones.GetUsersTimeZone(hostId)); if (!hostTimeZoneResult.TryGetValue(out UserTimeZone? hostTimeZone)) { throw new Exception("Host does not have their time zone set up"); } DateTimeZone?hostDTZ = this.timeZoneProvider.GetZoneOrNull(hostTimeZone.TimeZoneId); if (hostDTZ == null) { throw new Exception("Unknown time zone id"); } return(hostDTZ); }
public List <DbResult> GetResults(DbQuery query, IProgressControl pc = null) { var results = new List <DbResult>(); using (var cmd = conn.CreateCommand()) { cmd.CommandText = query.Sql; if (pc != null) { int total = GetCountObjects(query.Sql); pc.SetMaximum(total); pc.SetStatus("Идет выполнение запроса..."); } int index = 0; var reader = cmd.ExecuteReader(); while (reader.Read()) { var res = new DbResult(); for (int i = 0; i < reader.FieldCount; i++) { try { res.Fields.Add(reader[i]); res.FieldNames.Add(reader.GetName(i)); } catch (Exception ex) { Dispose(); throw ex; } } index++; if (pc != null) { pc.SetProgress(index); } results.Add(res); } } return(results); }
private async Task SendWelcomeMessage(DiscordClient sender, GuildMemberAddEventArgs e) { if (e.Member.IsBot) { return; } DbResult <GuildWelcomeMessageSettings> result = await this.Mediator.Send(new GuildWelcomeMessageSettingsRequest.GetGuildWelcomeMessageSettings(e.Guild)); if (!result.TryGetValue(out GuildWelcomeMessageSettings? settings) || !settings.ShouldWelcomeMembers) { return; } DiscordMember bot = await e.Guild.GetMemberAsync(sender.CurrentUser.Id); await e.Guild.SystemChannel.SendMessageAsync($"Hi {(settings.ShouldPing ? e.Member.Mention : e.Member.DisplayName)}, I'm {bot.Mention}! Glad that you are here! If you'd like learn more about me, you can do `@{bot.DisplayName} tutorial` or DM me `tutorial` and I'll send you a DM with more info."); }
public async Task <IHttpActionResult> UpdateUser([FromBody] UserInfo userInfo) { DbResult _dbResult = new DbResult(); var user = await this.UserManager.FindByIdAsync(userInfo.UserId); if (user == null) { _dbResult = new DbResult { IsDbSuccess = false, DbMessage = "Unauthorized" }; } else { user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.Email = userInfo.Email; user.PhoneNumber = userInfo.PhoneNumber; user.PasswordHash = string.IsNullOrEmpty(userInfo.NewPassword) ? user.PasswordHash : this.UserManager.PasswordHasher.HashPassword(userInfo.NewPassword); var result = await this.UserManager.UpdateAsync(user); if (result.Succeeded) { _dbResult = new DbResult { IsDbSuccess = true, DbMessage = "User details updated successfully" }; } else { _dbResult = new DbResult { IsDbSuccess = false, DbMessage = result.Errors.SingleOrDefault() }; } } return(Ok(_dbResult)); }
private async Task RegisterRoyalRoadFictionAsync(CommandContext context, DiscordChannel announcementChannel, DiscordRole?announcementRole, bool pingEveryone, bool pingNoOne, string royalroadUrl) { if (!announcementChannel.PermissionsFor(context.Guild.CurrentMember).HasFlag(DSharpPlus.Permissions.SendMessages | DSharpPlus.Permissions.EmbedLinks)) { await context.RespondAsync($"{context.Member.Mention}, the channel provided doesn't let me send messages. Please try again after you have set permissions such that I can send messages in that channel."); return; } NovelInfo fictionInfo = await this.GetNovelInfoFromUrl(context, royalroadUrl); // Register the channel and role DbResult <GuildNovelRegistration> registerResult = await this.mediator.Send( new GuildNovelRegistrations.Add( context.Guild.Id, announcementChannel.Id, pingEveryone, pingNoOne, announcementRole?.Id, fictionInfo.Id, null, false ) ); if (!registerResult.TryGetValue(out GuildNovelRegistration? gnr)) { await context.RespondAsync("The registration of the novel failed."); throw new Exception("Novel registration failed"); } string content = new StringBuilder() .Append($"I have registered \"{fictionInfo.Name}\" updates to be output in {announcementChannel.Mention} ") .Append(gnr.PingEveryone ? "for @everyone" : "") .Append(gnr.PingNoOne ? "for everyone but without any ping" : "") .Append(gnr.RoleId != null ? $"for members with the {announcementRole!.Mention} role" : "") .ToString(); await new DiscordMessageBuilder() .WithContent(content) .WithAllowedMentions(Mentions.None) .SendAsync(context.Channel); }
public DbResult <long> Add(Article article) { var result = new DbResult <long>(); try { _logger.Debug("ArticleRepository.Add -> Begin"); SQLiteCommand cmd = new SQLiteCommand(INSERT, Connection); cmd.Parameters.AddWithValue("@ArtNo", article.GetArtNo()); _logger.Debug("ArtNo=" + article.GetArtNo()); cmd.Parameters.AddWithValue("@Name", article.GetName()); _logger.Debug("Name=" + article.GetName()); cmd.Parameters.AddWithValue("@Description", article.GetDescription()); _logger.Debug("Description=" + article.GetDescription()); cmd.Parameters.AddWithValue("@Price", Decimal.Parse(article.GetPrice().ToString("0.00"), Thread.CurrentThread.CurrentCulture.NumberFormat)); _logger.Debug("Price=" + article.GetPrice().ToString("0.00")); cmd.Parameters.AddWithValue("@Quant", article.GetQuant()); _logger.Debug("Quant=" + article.GetQuant()); cmd.Parameters.AddWithValue("@DateTimeAdded", article.GetDateTimeAdded().ToString(DateTimeDbFormat)); _logger.Debug("DateTimeAdded=" + article.GetDateTimeAdded().ToString(DateTimeDbFormat)); cmd.ExecuteNonQuery(); result.Data = Connection.LastInsertRowId; result.Status = DbResultStatus.OK; result.Msg = "Ok"; } catch (Exception ex) { _logger.Error("ArticleRepository.Add -> Exception = " + ex.Message + " " + ex.StackTrace); result.Data = 0; result.Status = DbResultStatus.ERROR; result.Msg = ex.Message; } return(result); }
private long handPraize_Comment(SubmitPraize submitPraize) { DbResult <bool> transResult = null; long resultId = 0; if (submitPraize.praizeDirection == OperationDirection.plus) { if (_praizeRepository.HasPraized_Comment_Res(Convert.ToInt64(submitPraize.refCode), submitPraize.userId).Result > 0) { return(0); } EPraize_Comment praize = new EPraize_Comment { praizeDate = DateTime.Now, PraizeType = PraizeType.good, commentId = Convert.ToInt64(submitPraize.refCode), userId = submitPraize.userId, RefCode = submitPraize.parentRefCode, bookCode = submitPraize.bookCode, }; transResult = _praizeRepository.Db.Ado.UseTran(() => { resultId = _praizeRepository.AddPraize_Comment(praize); _praizeRepository.UpdateCommentPraized_GoodNum(Convert.ToInt64(submitPraize.refCode), OperationDirection.plus); }); } else { transResult = _praizeRepository.Db.Ado.UseTran(() => { _praizeRepository.DeletePraized_Comment_Res(Convert.ToInt64(submitPraize.refCode), submitPraize.userId); _praizeRepository.UpdateCommentPraized_GoodNum(Convert.ToInt64(submitPraize.refCode), OperationDirection.minus); }); } if (transResult != null && !transResult.IsSuccess) { throw new Exception(transResult.ErrorMessage); } return(resultId); }
Key ConvertResult(DbResult result) { int id = result.Get<int>("user"); User user; if (!userStore.TryGetUser(id, out user)) { throw new Exception("Unknown user"); } Key key = new Key(); key.User = user; key.Code = result.Get<string>("code"); key.Created = result.Get<DateTime>("created"); key.Valid = result.Get<int>("valid") == 1; return key; }