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
                }
            });
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 5
0
        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.");
        }
Ejemplo n.º 6
0
        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]
         }
     });
 }
Ejemplo n.º 8
0
        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!");
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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();
            }
        }
Ejemplo n.º 12
0
        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));
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
 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]
         }
     });
 }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        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;
            
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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());
        }
Ejemplo n.º 21
0
        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}");
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
0
        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);
        }
Ejemplo n.º 24
0
        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);
        }
Ejemplo n.º 25
0
        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.");
        }
Ejemplo n.º 27
0
        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));
        }
Ejemplo n.º 28
0
        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);
        }
Ejemplo n.º 29
0
        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);
        }
Ejemplo n.º 30
0
        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);
        }
Ejemplo n.º 31
0
        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;
        }