Ejemplo n.º 1
0
 private void CheckName(string[] data, Lender lender)
 {
     if (string.IsNullOrEmpty(data[0]))
     {
         throw new DataParsingException(string.Format("Name is missing in data file. Line: {0}", string.Join(",", data)));
     }
     lender.Name = data[0];
 }
Ejemplo n.º 2
0
 private void CheckRate(string[] data, Lender lender)
 {
     decimal rate;
     if (!decimal.TryParse(data[1], out rate))
     {
         throw new DataParsingException(string.Format("Rate field can't be parsed. Line: {0}", string.Join(",", data)));
     }
     lender.Rate = rate;
 }
Ejemplo n.º 3
0
 private void CheckAmount(string[] data, Lender lender)
 {
     decimal amount;
     if (!decimal.TryParse(data[2], out amount))
     {
         throw new DataParsingException(string.Format("Amount field can't be parsed. Line: {0}", string.Join(",", data)));
     }
     lender.Available = amount;
 }
Ejemplo n.º 4
0
        public Lender Parse(string[] data)
        {
            var lender = new Lender(string.Empty, 0, 0);

            CheckLength(data);
            CheckName(data, lender);
            CheckRate(data, lender);
            CheckAmount(data, lender);

            return lender;
        }
Ejemplo n.º 5
0
 //Sorts by Rate (asc) and Amount (desc)
 private int LendersSorter(Lender a, Lender b)
 {
     if (a.Rate == b.Rate) return a.Available > b.Available ? -1 : 1;
     return a.Rate < b.Rate ? -1 : 1;
 }