ServiceValidationTestingMethod.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using AutoServiceVika.Entites;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Reflection;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace ServiceUnitTest
  9. {
  10. public static class ServiceValidationTestingMethod
  11. {
  12. private static Service[] Services = new Service[2]
  13. {
  14. new Service() { Title = "Замена жидкости в кондиционере", Cost = 3040, DurationInSeconds = 28800},
  15. new Service() { Title = "Ремонт и замена коллектора", Cost = 2770, DurationInSeconds = 9000, Discount = 0.15}
  16. };
  17. public static string CheckErrors(string name, string costStr, string discountStr)
  18. {
  19. var errorBuider = new StringBuilder();
  20. if (string.IsNullOrEmpty(name))
  21. errorBuider.AppendLine("Название услуги обязательно для заполнения;");
  22. var serviceFromDB = Services.FirstOrDefault(p => p.Title.ToLower() == name.ToLower());
  23. if (serviceFromDB != null)
  24. errorBuider.AppendLine("Такая услуга уже существует;");
  25. decimal cost = 0;
  26. if (decimal.TryParse(costStr, out cost) == false || cost <= 0)
  27. errorBuider.AppendLine("Стоимость услуги должно быть положительное число;");
  28. if (!string.IsNullOrEmpty(discountStr))
  29. {
  30. int discoutn = 0;
  31. if (int.TryParse(discountStr, out discoutn) == false || discoutn < 0 || discoutn > 100)
  32. errorBuider.AppendLine("Размер скидки - целое число в диапазоне от 0 до 100%");
  33. }
  34. return errorBuider.ToString();
  35. }
  36. }
  37. }