public string MakeTermString()
        {
            var termsList = new List <string>();

            if (TermYears > 0)
            {
                termsList.Add($"{TermYears} {TextUtilites.GetDeclension(TermYears, "год", "года", "лет")}");
            }

            if (TermMonths > 0)
            {
                termsList.Add($"{TermMonths} {TextUtilites.GetDeclension(TermMonths, "месяц", "месяца", "месяцев")}");
            }

            if (TermDays > 0)
            {
                termsList.Add($"{TermDays} {TextUtilites.GetDeclension(TermDays, "день", "дня", "дней")}");
            }

            return(string.Join(", ", termsList));
        }
        public IActionResult ResultUrl(string IncSum, string OutSum, string InvId, string SignatureValue, string Shp_id, string Shp_type)
        {
            if (!string.IsNullOrWhiteSpace(SignatureValue))
            {
                var sMrchPass2 = infoOptions.Value.Robokassa.Pass2;

                string sCrc = TextUtilites.MD5Hash($"{OutSum}:{InvId}:{sMrchPass2}:Shp_id={Shp_id}:Shp_type={Shp_type}");

                if (sCrc.ToLower() == SignatureValue.ToLower())
                {
                    double dOutSum;

                    if (double.TryParse(OutSum, NumberStyles.Number, CultureInfo.InvariantCulture, out dOutSum))
                    {
                        double dIncSum;
                        var    sIncSum = IncSum;
                        if (double.TryParse(IncSum, NumberStyles.Number, CultureInfo.InvariantCulture, out dIncSum))
                        {
                            sIncSum = dIncSum.ToString("0.00", CultureInfo.InvariantCulture);
                        }
                        usersService.AddProlongationPayment(Shp_id, dOutSum, Shp_type, $"Robokassa: сумма с комиссией {sIncSum}");
                        smsService.SendSms(infoOptions.Value.SmsNotifyPhone, $"Payment: {dOutSum.ToString("0.00", CultureInfo.InvariantCulture)}");
                    }
                    else
                    {
                        logger.Error($"Invalid OutSum on payment: {OutSum}");
                    }
                }
                else
                {
                    logger.Error($"Invalid payment: [{OutSum}:{InvId}:[PASS2]:Shp_id={Shp_id}:Shp_type={Shp_type}] <> {SignatureValue}");
                }
            }

            return(Content($"OK{InvId}"));
        }