コード例 #1
0
ファイル: Call.cs プロジェクト: guts2014/SkynetBG
        /// <summary>
        /// returns normal time it takes to reply to call of type t in mins
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public static int NormalReplyTime(Enums.Media t)
        {
            int val = 60;

            switch (t)
            {
            case Enums.Media.EMAIL:
                val *= 48;
                break;

            case Enums.Media.HELP_DESK:
                val = 30;
                break;

            case Enums.Media.PHONE:
                val = 30;
                break;

            case Enums.Media.POST:
                val *= 72;
                break;

            case Enums.Media.SOCIAL_MEDIA:
                break;
            }
            return(val);
        }
コード例 #2
0
ファイル: Call.cs プロジェクト: guts2014/SkynetBG
        private int MaxTimeForReply(Enums.Media t)
        {
            int val = 60;

            switch (t)
            {
            case Enums.Media.EMAIL:
                val *= 72;
                break;

            case Enums.Media.HELP_DESK:
                break;

            case Enums.Media.PHONE:
                val = 45;
                break;

            case Enums.Media.POST:
                val *= 120;
                break;

            case Enums.Media.SOCIAL_MEDIA:
                val = 90;
                break;
            }
            return(val);
        }
コード例 #3
0
ファイル: Call.cs プロジェクト: guts2014/SkynetBG
 public Call(Customer from, Enums.Media t, double time, int sent)
 {
     this.type   = t;
     this.from   = from;
     this.expT   = time;
     this.sentAt = sent;
     timeLeft    = MaxTimeForReply(t);
 }
コード例 #4
0
ファイル: Employee.cs プロジェクト: guts2014/SkynetBG
        public static double CostForTrainingCourse(Enums.Media s, Employee e, int newlevel)
        {
            double[] pricelist = new double[5] {
                300d, 350d, 500d, 800d, 1000d
            };
            int i = (int)s;

            return(((newlevel / 100d - e.skill.values[i]) / e.skill.values[i]) * 100 * pricelist[i]);
        }
コード例 #5
0
ファイル: Call.cs プロジェクト: guts2014/SkynetBG
        /// <summary>
        /// Time it physically takes an employee to reply in mins
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public static int TimeCost(Enums.Media t)
        {
            int val = 5;
            int i   = (int)t;

            if (i <= 1)
            {
                val = val << 1;//10 mins
            }
            else
            {
                val = val << 2;//20 mins
            }
            return(val);
        }
コード例 #6
0
ファイル: Customer.cs プロジェクト: guts2014/SkynetBG
        public Customer(Main game)
        {
            patience = game.ran.NextDouble();
            income   = game.ran.Next((int)game.economy.MinWage, (int)game.economy.MaxWage) / 1d;
            par      = game;
            pref     = (Enums.Media)game.ran.Next(4);
            handler  = null;
            pHabit   = game.ran.NextDouble();
            List <String> dat = game.data.getDataFor(0);

            name       = dat[game.ran.Next(dat.Count)];
            goodCalls  = 0;
            totalCalls = 0;
            called     = false;
            relation   = 0.001;
        }
コード例 #7
0
ファイル: Employee.cs プロジェクト: guts2014/SkynetBG
 public void Train(Enums.Media s, int newlvl)
 {
     sleeps = 2 / learningRate;
     skill.values[(int)s] = newlvl / 100d;
 }
コード例 #8
0
        public static string GetCropUrlWithFormat(
            this IPublishedContent node,
            Enums.CropAlias cropAlias,
            Enums.Media format              = Enums.Media.None,
            bool cacheBuster                = false,
            int?quality                     = 75,
            bool useCropDimensions          = true,
            ImageCropMode?imageCropMode     = null,
            ImageCropAnchor?imageCropAnchor = null)
        {
            if (node == null)
            {
                return(null);
            }

            if (node.Url().EndsWith(".svg"))
            {
                return(node.Url());
            }


            if (cropAlias == Enums.CropAlias.NoCrop)
            {
                return(node.GetCropUrl(
                           furtherOptions: "&format=" + format,
                           cacheBuster: cacheBuster,
                           quality: quality));
            }

            switch (format)
            {
            case Enums.Media.WebP:
                var webP = node.GetCropUrl(
                    cropAlias: cropAlias.GetDescription(),
                    furtherOptions: "&format=" + format,
                    cacheBuster: cacheBuster,
                    useCropDimensions: useCropDimensions,
                    quality: quality,
                    imageCropMode: imageCropMode,
                    imageCropAnchor: imageCropAnchor);

                if (webP != null)
                {
                    return(webP);
                }
                break;

            default:
                var crop = node.GetCropUrl(
                    cropAlias: cropAlias.GetDescription(),
                    cacheBuster: cacheBuster,
                    useCropDimensions: useCropDimensions,
                    quality: quality,
                    imageCropMode: imageCropMode,
                    imageCropAnchor: imageCropAnchor);

                if (crop != null)
                {
                    return(crop);
                }
                break;
            }

            return(node.Url());
        }