예제 #1
0
 public void InputFurtherMessage(string message)
 {
     RequiredInfo.SendKeys(message);
     GenericObjects.GoToNextPage();
     Browser.Wait(TimeSpan.FromSeconds(3));
     Browser.CloseOtherWindows("Tenancy Enforcement - Start Dialog");
 }
예제 #2
0
 public TournamentAdminInfo ToTournamentAdminInfo(SanityHtmlBuilder htmlBuilder)
 {
     return(new TournamentAdminInfo {
         Slug = Slug?.Current,
         MainImage = MainImage?.Asset?.Value?.Url,
         Logo = Logo?.Asset?.Value?.Url,
         Title = Title?.GetForCurrentCulture(),
         Body = Body?.GetForCurrentCulture(htmlBuilder),
         ToornamentId = ToornamentId,
         RegistrationForm = RegistrationForm?.GetForCurrentCulture(),
         RegistrationOpen = RegistrationOpen,
         TelegramLink = TelegramLink,
         LiveStream = LiveStream,
         LiveChat = LiveChat,
         Game = Game?.Value?.ToGame(),
         Id = Id,
         SignupType = SignupType,
         RequiredInformation = RequiredInfo?.Select(s => s.GetForCurrentCulture()).ToList(),
         TeamSize = TeamSize,
         SoloPlayers = SoloPlayers?.Select(p => p.ToParticipant()).ToList(),
         CategoryIds = Categories?.Select(c => c.Ref).ToList(),
         Winner = Winner?.Value?.Name,
         Contacts = Contacts,
         Responsible = Responsible?.Value,
         ResponsibleId = Responsible?.Ref,
         ParticipantTeams = Teams?.Select(t => t.ToParticipant()).ToList(),
     });
 }
예제 #3
0
        /// <summary>
        /// 创建优惠券
        /// </summary>
        /// <param name="defaultDetail">优惠详情</param>
        /// <param name="required">必填信息</param>
        /// <param name="baseInfo">基本信息</param>
        /// <param name="advance">高级信息</param>
        public CreateCardResult CreateGeneralCouponCard(string defaultDetail, RequiredInfo required, BaseInfo baseInfo = null, AdvanceInfo advance = null)
        {
            dynamic card = new DynamicObject();

            card.default_detail = defaultDetail;
            return(CreateCard(CardType.GENERAL_COUPON, card, required, baseInfo, advance));
        }
예제 #4
0
        /// <summary>
        /// 创建兑换券
        /// </summary>
        /// <param name="gift">兑换内容的名称</param>
        /// <param name="required">必填信息</param>
        /// <param name="baseInfo">基本信息</param>
        /// <param name="advance">高级信息</param>
        public CreateCardResult CreateGiftCard(string gift, RequiredInfo required, BaseInfo baseInfo = null, AdvanceInfo advance = null)
        {
            dynamic card = new DynamicObject();

            card.gift = gift;
            return(CreateCard(CardType.GIFT, card, required, baseInfo, advance));
        }
예제 #5
0
        /// <summary>
        /// 创建折扣券
        /// </summary>
        /// <param name="discount">打折额度(百分比)。填30就是七折</param>
        /// <param name="required">必填信息</param>
        /// <param name="baseInfo">基本信息</param>
        /// <param name="advance">高级信息</param>
        public CreateCardResult CreateDiscountCard(int discount, RequiredInfo required, BaseInfo baseInfo = null, AdvanceInfo advance = null)
        {
            dynamic card = new DynamicObject();

            card.discount = discount;
            return(CreateCard(CardType.DISCOUNT, card, required, baseInfo, advance));
        }
예제 #6
0
        /// <summary>
        /// 创建代金券
        /// </summary>
        /// <param name="leastCost">起用金额(单位为分),如果无起用门槛则填0</param>
        /// <param name="reduceCost">减免金额。(单位为分)</param>
        /// <param name="required">必填信息</param>
        /// <param name="baseInfo">基本信息</param>
        /// <param name="advance">高级信息</param>
        public CreateCardResult CreateCashCard(int leastCost, int reduceCost, RequiredInfo required, BaseInfo baseInfo = null, AdvanceInfo advance = null)
        {
            dynamic card = new DynamicObject();

            card.least_cost  = leastCost;
            card.reduce_cost = reduceCost;
            return(CreateCard(CardType.CASH, card, required, baseInfo, advance));
        }
예제 #7
0
        public static async Task MethodAsync()
        {
            StreamReader  filePathCSV      = new StreamReader(@"../../../../AggregateGDPPopulation/data/datafile.csv");
            List <string> contents         = new List <string>();
            Task <string> dataFileAsString = filePathCSV.ReadToEndAsync();
            StreamReader  readJSON         = new StreamReader(@"../../../../AggregateGDPPopulation/data/country-continent-map.json");
            Task <string> jsonRead         = readJSON.ReadToEndAsync();
            await Task.WhenAll(dataFileAsString, jsonRead);

            contents = (await dataFileAsString).Split('\n').ToList();
            JObject data = JObject.Parse(await jsonRead);

            string[] header = contents[0].Split(',');
            for (int i = 0; i < header.Length; i++)
            {
                header[i] = header[i].Trim('\"');
            }
            int indexOfPopulation      = Array.IndexOf(header, "Population (Millions) - 2012");
            int indexOfGDP             = Array.IndexOf(header, "GDP Billions (US Dollar) - 2012");
            int indexOfCountry         = Array.IndexOf(header, "Country Name");
            List <RequiredInfo> output = new List <RequiredInfo>();

            for (int i = 1; i < contents.Count() - 2; i++)
            {
                string[]     info        = contents[i].Split(',');
                RequiredInfo inputOfInfo = new RequiredInfo
                {
                    Country    = info[indexOfCountry].Trim('\"'),
                    Population = info[indexOfPopulation].Trim('\"'),
                    GDP        = info[indexOfGDP].Trim('\"')
                };
                output.Add(inputOfInfo);
            }


            Dictionary <string, string> convertedData = JsonConvert.DeserializeObject <Dictionary <string, string> >(data.ToString());

            Dictionary <string, ContinentInfo> continentGDPPopulation = new Dictionary <string, ContinentInfo>();

            foreach (var item in output)
            {
                if (continentGDPPopulation.ContainsKey(convertedData[item.Country]))
                {
                    continentGDPPopulation[convertedData[item.Country]].GDP        += float.Parse(item.GDP);
                    continentGDPPopulation[convertedData[item.Country]].POPULATION += float.Parse(item.Population);
                }
                else
                {
                    ContinentInfo newContinent = new ContinentInfo {
                        GDP = float.Parse(item.GDP), POPULATION = float.Parse(item.Population)
                    };
                    continentGDPPopulation.Add(convertedData[item.Country], newContinent);
                }
            }
            var outputText = JsonConvert.SerializeObject(continentGDPPopulation);

            File.WriteAllText(@"../../../../Output/output.json", outputText);
        }
예제 #8
0
            public ModLogInfo(RequiredInfo info, ReasonInfo reasonInfo = null)
            {
                Invoker      = info.invoker;
                Color        = info.color;
                CommandName  = info.commandName;
                CommandValue = info.commandValue;

                HasReasonField = reasonInfo != null;
                Reason         = reasonInfo?.reason;
            }
예제 #9
0
        /// <summary>
        /// 填充卡券基本信息
        /// </summary>
        private void FillBaseInfo(dynamic card, RequiredInfo required, BaseInfo baseInfo)
        {
            card.base_info             = new DynamicObject();
            card.base_info.logo_url    = required.LogoUrl;
            card.base_info.code_type   = required.CodeType.ToString();
            card.base_info.brand_name  = required.BrandName;
            card.base_info.title       = required.Title;
            card.base_info.color       = required.Color.ToString();
            card.base_info.notice      = required.Notice;
            card.base_info.description = required.Description;
            card.base_info.sku         = new { quantity = required.Quantity };
            card.base_info.date_info   = new
            {
                type             = required.DateInfo.Type.ToString(),
                begin_timestamp  = required.DateInfo.BeginTime.ToTimestamp(),
                end_timestamp    = required.DateInfo.EndTime.ToTimestamp(),
                fixed_term       = required.DateInfo.FixedTerm,
                fixed_begin_term = required.DateInfo.FixedBeginTerm
            };

            if (baseInfo != null)
            {
                card.base_info.use_custom_code               = baseInfo.UseCustomCode;
                card.base_info.get_custom_code_mode          = baseInfo.GetCustomCodeMode;
                card.base_info.bind_openid                   = baseInfo.BindOpenId;
                card.base_info.service_phone                 = baseInfo.ServicePhone;
                card.base_info.location_id_list              = baseInfo.LocationIdList;
                card.base_info.use_all_locations             = baseInfo.UseAllLocation;
                card.base_info.center_title                  = baseInfo.CenterTitle;
                card.base_info.center_sub_title              = baseInfo.CenterSubTitle;
                card.base_info.center_url                    = baseInfo.CenterUrl;
                card.base_info.center_app_brand_user_name    = baseInfo.CenterAppBrandUserName;
                card.base_info.center_app_brand_pass         = baseInfo.CenterAppBrandPath;
                card.base_info.custom_url_name               = baseInfo.CustomUrlName;
                card.base_info.custom_url                    = baseInfo.CustomUrl;
                card.base_info.custom_url_sub_title          = baseInfo.CustomUrlSubTitle;
                card.base_info.custom_app_brand_user_name    = baseInfo.CustomAppBrandUserName;
                card.base_info.custom_app_brand_pass         = baseInfo.CustomAppBrandPath;
                card.base_info.promotion_url_name            = baseInfo.PromotionUrlName;
                card.base_info.promotion_url                 = baseInfo.PromotionUrl;
                card.base_info.promotion_url_sub_title       = baseInfo.PromotionUrlSubTitle;
                card.base_info.promotion_app_brand_user_name = baseInfo.PromotionAppBrandUserName;
                card.base_info.promotion_app_brand_pass      = baseInfo.PromotionAppBrandPath;
                card.base_info.get_limit       = baseInfo.GetLimit;
                card.base_info.use_limit       = baseInfo.UseLimit;
                card.base_info.can_share       = baseInfo.CanShare;
                card.base_info.can_give_friend = baseInfo.CanGiveFriend;
            }
        }
예제 #10
0
        /// <summary>
        /// 创建卡券
        /// </summary>
        private CreateCardResult CreateCard(CardType cardType, dynamic card, RequiredInfo required, BaseInfo baseInfo, AdvanceInfo advance)
        {
            var dic = new Dictionary <string, object>();

            dic.Add("card_type", cardType.ToString());
            dic.Add(cardType.ToString().ToLower(), card);
            FillBaseInfo(card, required, baseInfo);
            FillAdvanceInfo(card, advance);
            var data = new
            {
                card = dic
            };

            return(PostJson <CreateCardResult>("/card/create", data));
        }
        public void Can_use_required_validation_to_block_null_value()
        {
            var info = new RequiredInfo { ICantBeNull = null };

            var client = new RestClient
            {
                Authority = "http://nowhere.com",
                Info = info
            };

            var request = new RestRequest
            {
                Path = "fast"
            };

            client.Request(request);
        }
        public void Can_use_required_validation_to_block_null_value()
        {
            var info = new RequiredInfo {
                ICantBeNull = null
            };

            var client = new RestClient
            {
                Authority = "http://nowhere.com",
                Info      = info
            };

            var request = new RestRequest
            {
                Path = "fast"
            };

            client.Request(request);
        }