Esempio n. 1
0
        public async Task <IActionResult> GetPage(PaginationFilter filter, HttpRequest request)
        {
            var              route       = request.Path.Value;
            var              uri         = string.Concat(request.Scheme, "://", request.Host.ToUriComponent());
            IUriService      uriService  = new UriService(uri);
            PaginationFilter validFilter = new PaginationFilter(filter.PageNumber, filter.PageSize);
            List <User>      userList    = await userDA.GetPage(validFilter.PageNumber, validFilter.PageSize);

            List <UserDTO> userDtoList = new List <UserDTO>();

            foreach (User user in userList)
            {
                userDtoList.Add(ItemToDTO(user));
            }

            int totalRecords = await userDA.GetRecords();

            Information info = InformationHelper.FillInformation(totalRecords, validFilter.PageNumber, validFilter.PageSize);

            var pagedResponse = PaginationHelper.CreatePagedReponse <UserDTO>(
                userDtoList, info, validFilter, totalRecords, uriService, route
                );

            return(new OkObjectResult(pagedResponse));
        }
Esempio n. 2
0
        public DateTime GetLastDataUpdate()
        {
            string data = (from info in InformationHelper.LoadAllInfosFromXML() where info.Key == "LastDataUpdate" select info.Value).FirstOrDefault();

            if (!string.IsNullOrWhiteSpace(data))
            {
                return(DateTime.Parse(data));
            }
            return(DateTime.MinValue);
        }
Esempio n. 3
0
        public MessageCodeResponse AddFriend(Guid managerId, string name, bool hasTask)
        {
            var byManager = ManagerCore.Instance.GetManagerByName(name);

            if (byManager == null)
            {
                return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.FriendNotExistsName));
            }
            if (managerId == byManager.Idx)
            {
                return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.FriendNotSelf));
            }
            var manager = ManagerCore.Instance.GetManager(managerId);
            var friend  = FriendManagerMgr.GetOne(managerId, byManager.Idx);

            if (friend != null)
            {
                if (friend.Status == 0)
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.FriendHasExists));
                }
                if (friend.Status == 2)
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.FriendIsByBlack));
                }
            }
            int returnCode = 0;

            FriendManagerMgr.AddFriend(managerId, byManager.Idx, _friendMaxCount, (int)MessageCode.FriendCountOver,
                                       (int)MessageCode.FriendHasExists, ref returnCode);
            if (returnCode == 1) //自己已在对方好友列表
            {
                returnCode = 0;
            }
            else
            {
                InformationHelper.SendAddFriendPop(byManager.Idx, manager.Name);
            }

            if (returnCode == 0)
            {
                var response = ResponseHelper.CreateSuccess <MessageCodeResponse>();
                response.Data = new MessageDataEntity();
                if (hasTask)
                {
                    //response.Data.PopMsg = TaskHandler.Instance.FriendAdd(managerId);
                }
                return(response);
            }
            else
            {
                return(ResponseHelper.Create <MessageCodeResponse>(returnCode));
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Méthode de prise en charge de la commande membercount
        /// </summary>
        /// <param name="channel"></param>
        /// <param name="user"></param>
        public async void MembercountAsync(IGuild guild, IUser user)
        {
            var builder = EmbedBuilderHelper.EmbedBuilderInformation(user)
                          .WithTitle("Membercount command")
                          .AddField("Membres", await InformationHelper.GetNbUsers(guild), true)
                          .AddField("En ligne", await InformationHelper.GetNbOnline(guild), true)
                          .AddField("Humains", await InformationHelper.GetNbHumans(guild), true)
                          .AddField("Bots", await InformationHelper.GetNbBots(guild), true);

            Reply("", builder);
        }
        private async Task <LoadMoreItemsResult> InnerLoadMoreItemsAsync(uint count)
        {
            isBusy = true;
            uint actualCount = 0;
            List <InformationListModel> lstInformationList = null;

            try
            {
                if (DataLoading != null)
                {
                    DataLoading();
                }
                lstInformationList = await InformationHelper.GetInformationListByAddressAsync(currentPage, pageSize, address);
            }
            catch
            {
                isHaveMoreItems = false;
            }
            finally
            {
                if (lstInformationList != null && lstInformationList.Any())
                {
                    actualCount = (uint)lstInformationList.Count;
                    TotalCount += actualCount;
                    ++currentPage;
                    isHaveMoreItems = true;
                    lstInformationList.ForEach((item) => this.Add(item));
                }
                else
                {
                    isHaveMoreItems = false;
                }

                if (DataLoaded != null)
                {
                    DataLoaded();
                }
                isBusy = false;
            }

            return(new LoadMoreItemsResult
            {
                Count = actualCount
            });
        }
Esempio n. 6
0
        /// <summary>
        /// Méthode de prise en charge de la commande serverinfo
        /// </summary>
        /// <param name="guild"></param>
        public async void ServerinfoAsync(IGuild guild)
        {
            string sRoles = "";

            foreach (var role in guild.Roles)
            {
                sRoles += role.Name;
                if (guild.Roles.Count != 1 && !role.Equals(guild.Roles.Last()))
                {
                    sRoles += ", ";
                }
            }

            var builder = new EmbedBuilder()
                          .WithThumbnailUrl(guild.IconUrl)
                          .AddField("Propriétaire", await guild.GetOwnerAsync(), true)
                          .AddField("Région", guild.VoiceRegionId, true)
                          .AddField("Catégories de salon", (await guild.GetCategoriesAsync()).Count, true)
                          .AddField("Salons textuels", (await guild.GetTextChannelsAsync()).Count, true)
                          .AddField("Salons vocaux", (await guild.GetVoiceChannelsAsync()).Count, true)
                          .AddField("Membres", await InformationHelper.GetNbUsers(guild), true)
                          .AddField("En ligne", await InformationHelper.GetNbOnline(guild), true)
                          .AddField("Humains", await InformationHelper.GetNbHumans(guild), true)
                          .AddField("Bots", await InformationHelper.GetNbBots(guild), true)
                          .AddField("Roles", guild.Roles.Count, true)
                          .AddField("Liste des roles", sRoles)
                          .WithTimestamp(guild.CreatedAt)
                          .WithAuthor(author =>
            {
                author
                .WithName(guild.Name)
                .WithIconUrl(guild.IconUrl);
            })
                          .WithFooter(footer =>
            {
                footer
                .WithText($"ID: {guild.Id} | Serveur créé le");
            });

            Reply("", builder);
        }
        private async void AppBarButton_Click(object sender, RoutedEventArgs e)
        {
            AppBarButton btn = sender as AppBarButton;

            //点击交谈按钮
            if (btn.Label == "Contact")
            {
                if (infoAuthorName == string.Empty)
                {
                    return;
                }
                this.loading.IsActive = true;
                ContactModel authorContactModel = await InformationHelper.GetInfoAuthorDetails(infoAuthorName);

                contactModel.toEmailAddress = authorContactModel.toEmailAddress;
                contactModel.toPhoneNumber  = authorContactModel.toPhoneNumber;
                contactModel.toUserName     = authorContactModel.toUserName;
                contactModel.taskTitle      = taskTitle;
                this.loading.IsActive       = false;

                await new ContactDialog(contactModel).ShowAsync();
            }

            if (btn.Label == "Accept")
            {
                var dialog = new MessageBox("是否接受任务?请核对任务金额,完成后你将从任务发布者获得任务酬劳。另外,为了保证任务完成,你的联系方式将暴露给任务发布者",
                                            MessageBox.NotifyType.CommonMessage);
                ContentDialogResult dialogResult = await dialog.ShowAsync();

                if (dialogResult == ContentDialogResult.Primary)
                {
                    this.loading.IsActive    = true;
                    inforModel.isAcceptOrder = Constants.OrderStatus.AcceptNotFinish;
                    await InformationHelper.UpdateInfo(inforModel.id, inforModel);

                    this.loading.IsActive = false;
                    await new MessageBox("已接单,请尽快完成任务", MessageBox.NotifyType.CommonMessage).ShowAsync();
                }
            }
        }
 /// <summary>
 /// 初始化页面内容
 /// </summary>
 /// <param name="parameters">页面传参</param>
 private void InitPageContent(object[] parameters)
 {
     if (parameters != null)
     {
         if (parameters.Length == 1 && parameters[0] is InformationListModel)
         {
             //InformationModel中不含发布者的AvatorUri,故用InformationListModel来初始化UserAvator
             InformationListModel model  = parameters[0] as InformationListModel;
             BitmapImage          bitmap = new BitmapImage(new Uri(model.avatorUri));
             this.imgAvatar.Source = bitmap;
             inforModel            = InformationHelper.GetInformationByIdAsync(model.informationId).Result;
             if (inforModel != null)
             {
                 this.wvConent.NavigateToString(inforModel.content);
                 tbTitle.Text         = taskTitle = inforModel.title;
                 tbWage.Text          = " ¥ " + inforModel.wage;
                 linkUserName.Content = infoAuthorName = inforModel.userName;
                 tbPublishTime.Text   = " 发布于 " + inforModel.addTime;
                 tbViewCount.Text     = "(" + inforModel.viewCount + ")";
             }
         }
     }
 }