예제 #1
0
        public override string MatchEvaluatorTag(Match match)
        {
            string value =
                match.Groups[2].Value.Replace("&nbsp;", string.Empty).Replace("&lt;", "<").Replace("&gt;", ">").Replace(
                    "&quot;", "\"").Replace("&amp;", "&").Replace(Char.ConvertFromUtf32(160), " ").Trim();

            if (!string.IsNullOrEmpty(value))
            {
                if (ExtractorStatus == -1)
                {
                    string translated;
                    if (Dictionary.Translate(CurrentContext, value, LanguageSource, LanguageDestination, out translated))
                    {
                        return(match.Value.Replace("&nbsp;", string.Empty).Replace("&lt;", "<").Replace("&gt;", ">").Replace(char.ConvertFromUtf32(160), " ").Replace("&quot;", "\"").Replace("&amp;", "&").Replace(value, translated.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\"", "&quot;")));
                    }
                }
                else
                {
                    string value1   = value;
                    var    response = new StringBuilder(TempResponse.ToString());

                    SPSecurity.RunWithElevatedPrivileges(() => Utilities.AddToNewPhrasesList(value1, Url, LanguageSource, response, match.Value));
                }
            }

            return(match.Value);
        }
        public TempResponse GetTemperature(TemperatureType from, double value, TemperatureType to)
        {
            _logger.LogDebug($"Temp Get Called {from}  {value} - {to}");
            var ret = new TempResponse
            {
                From = (short)from,
                To   = (short)to,
            };

            if (from == to)
            {
                var rng = new Random();
                ret = InvalidParameter(from, to, rng.Next(-100, 100));
            }
            else
            {
                if (from == TemperatureType.Celsius)
                {
                    if (value < -273.15)
                    {
                        ret = InvalidParameter(from, to, value, "Value cannot be less than -273.15");
                    }
                    if (to == TemperatureType.Fahrenheit)
                    {
                        ret.Value = (value * 1.8) + 32;
                    }
                    else
                    {
                        ret.Value = value + 273.15;
                    }
                }
                if (from == TemperatureType.Fahrenheit)
                {
                    if (value < -459.67)
                    {
                        ret = InvalidParameter(from, to, value, "Value cannot be less than -459.67");
                    }
                    else
                    {
                        if (to == TemperatureType.Celsius)
                        {
                            ret.Value = (value - 32) / 1.8;
                        }
                        else
                        {
                            ret.Value = (value + 459.67) * 5.0 / 9.0;
                        }
                    }
                }
                if (from == TemperatureType.Kelvin)
                {
                    if (value < 0)
                    {
                        ret = InvalidParameter(from, to, value, "Value cannot be less than 0");
                    }
                    else
                    {
                        if (to == TemperatureType.Celsius)
                        {
                            ret.Value = value - 273.15;
                        }
                        else
                        {
                            ret.Value = (value * 9.0 / 5.0) - 459.67;
                        }
                    }
                }
            }
            ret.Value = Math.Round(ret.Value, 2);
            return(ret);
        }