예제 #1
0
        public async Task Coin(CommandContext ctx)
        {
            if (!await CanExecute(ctx, Features.Games))
            {
                return;
            }

            Log.Debug($"Requesting {nameof(Coin)}()...");

            var cfg = GuildConfiguration.FromGuild(ctx.Guild);

            var isHead = Rand.Next(0, 2) == 0;

            var embed = new DiscordEmbedBuilder
            {
                Title       = isHead ? "Head!" : "Tail!",
                Description = $"{ctx.User.Mention}, your coin flipped {(isHead ? "**Head**" : "**Tail**")}!",
                Color       = DiscordColor.Goldenrod,
                Url         = BasicExtensions.SiteUrl(),
                ImageUrl    = BasicExtensions.SiteUrl() + $"/images/coin-{(isHead ? "head" : "tail")}.png",
                Author      = new DiscordEmbedBuilder.EmbedAuthor
                {
                    Name = "WoTClans",
                    Url  = BasicExtensions.SiteUrl()
                },
                Footer = new DiscordEmbedBuilder.EmbedFooter
                {
                    Text = $"Flipped at {DateTime.UtcNow:yyyy-MM-dd HH:mm:ss} UTC."
                }
            };

            Log.Debug($"Returned {nameof(Coin)}() = {isHead}");

            await ctx.RespondAsync("", embed : embed);
        }
예제 #2
0
        /// <summary>
        /// Calculate the Annual Salary
        /// </summary>
        /// <param name="employeeDTO">Employee entity</param>
        /// <returns>The annual salary calculated</returns>
        public static decimal CalculatedAnnualSalary(IEmployeeDTO employeeDTO)
        {
            SalaryBase salaryBase   = null;
            decimal    annualSalary = 0;

            TypesContracts typesContracts = BasicExtensions.ToEnum <TypesContracts>(employeeDTO.contractTypeName);

            switch (typesContracts)
            {
            case TypesContracts.HourlySalaryEmployee:
                salaryBase = new  HourlySalary();
                break;

            case TypesContracts.MonthlySalaryEmployee:
                salaryBase = new MonthlySalary();
                break;
            }

            annualSalary = salaryBase.CalculatedAnnualSalary(employeeDTO);

            return(annualSalary);
        }
예제 #3
0
 /// <summary>
 /// Cast a list of employees
 /// </summary>
 /// <typeparam name="TR">Type to cast</typeparam>
 /// <param name="origin">Origin data type</param>
 /// <returns>A casted list</returns>
 public static List <TR> EmployeeListMapper <TR>(this List <IEmployeeDTO> origin)
     where TR : IEmployeeDTO, new()
 {
     return(BasicExtensions.ListCast(origin, (itemorigin) => { return itemorigin.EmployeeMapper(new TR()); }));
 }