You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Teso_API.Models
|
|
{
|
|
public class CouponRateCalculator
|
|
{
|
|
public static int GetRate(double discount)
|
|
{
|
|
if (discount < 100)
|
|
{
|
|
string discounted = $"{discount:F1}";
|
|
string first = discounted.Substring(0, discounted.IndexOf("."));
|
|
string last = discounted.Substring(discounted.IndexOf(".") + 1);
|
|
|
|
int firstNumber = int.Parse(first);
|
|
int lastNumber = int.Parse(last);
|
|
if (discount < 0.51)
|
|
{
|
|
return 0;
|
|
}
|
|
else if (discount < 2)
|
|
{
|
|
return 1;
|
|
}
|
|
else if (firstNumber < lastNumber)
|
|
{
|
|
return lastNumber;
|
|
}
|
|
else if (firstNumber > lastNumber)
|
|
{
|
|
return firstNumber;
|
|
}
|
|
else
|
|
{
|
|
return firstNumber;
|
|
}
|
|
}
|
|
else if (discount < 1000)
|
|
{
|
|
double result = discount % 100;
|
|
if (result == 0)
|
|
{
|
|
return 100;
|
|
}
|
|
else
|
|
{
|
|
return (int)Math.Ceiling(result);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return 100;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|