Advertisement
yambroskin

Untitled

Aug 14th, 2018
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. using EleWise.ELMA.ComponentModel;
  2. using EleWise.ELMA.Templates;
  3. using EleWise.TemplateGenerator;
  4. using EleWise.TemplateGenerator.Functions;
  5. using System;
  6. using System.Linq;
  7. using Impeltech.Bank.Helpers;
  8. using Impeltech.Bank.Models;
  9. namespace Impeltech.Bank.Extensions
  10. {
  11. [Component]
  12. public class BankTemplateGenerator : ITemplateGeneratorFunctionsContainer
  13. {
  14. // ReSharper disable once InconsistentNaming
  15. public static FormatedValue EQLTodayAdd(FunctionEvaluationContext context)
  16. {
  17. var result = DateTime.Today.ToString("yyyy, MM, dd");
  18. if (context?.Parameters == null || context.Parameters.Count <= 0)
  19. return new FormatedValue(result);
  20. var ctxParam = context.Parameters[0];
  21. if (ctxParam == null) return new FormatedValue(result);
  22. var count = Convert.ToInt32(ctxParam.Value);
  23. var type = string.Empty;
  24. var ctxParam2 = context.Parameters[1];
  25. if (ctxParam2 != null)
  26. {
  27. type = Convert.ToString( ctxParam2.Value);
  28. }
  29. switch (type) {
  30. case "Year":
  31. result = DateTime.Today.AddYears(count).ToString("yyyy, MM, dd");
  32. break;
  33. case "Month":
  34. result = DateTime.Today.AddMonths(count).ToString("yyyy, MM, dd");
  35. break;
  36. case "Day":
  37. result = DateTime.Today.AddDays(count).ToString("yyyy, MM, dd");
  38. break;
  39. default:
  40. result = DateTime.Today.AddDays(count).ToString("yyyy, MM, dd");
  41. break;
  42. }
  43. return new FormatedValue(result);
  44. }
  45. public static FormatedValue MoneyString(FunctionEvaluationContext context)
  46. {
  47. var result = string.Empty;
  48. if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(result);
  49. var ctxParam = context.Parameters[0];
  50. if (ctxParam == null) return new FormatedValue(result);
  51. if (ctxParam.Value is EleWise.ELMA.Common.Models.Money)
  52. {
  53. var val = (EleWise.ELMA.Common.Models.Money)ctxParam.Value;
  54. result = Managers.RurManager.MoneyString(val);
  55. }
  56. else
  57. {
  58. var val = Convert.ToDouble(ctxParam.Value);
  59. result = Managers.RurManager.MoneyString(val);
  60. }
  61. return new FormatedValue(result);
  62. }
  63. public static FormatedValue IndividualHasShare(FunctionEvaluationContext context)
  64. {
  65. if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(false);
  66. var ctxParam = context.Parameters[0];
  67. if (ctxParam == null) return new FormatedValue(false);
  68. var individual = ctxParam.Value as IIndividual;
  69. if (individual == null) return new FormatedValue(false);
  70. var ctxParam1 = context.Parameters[1];
  71. if (ctxParam1 == null) return new FormatedValue(false);
  72. var msp = ctxParam1.Value as ISubjectMSP;
  73. return msp == null ?
  74. new FormatedValue(false) :
  75. new FormatedValue(msp.Shares.Any(c=>c.Individual==individual));
  76. }
  77. public static FormatedValue IsUltimateBeneficiary(FunctionEvaluationContext context)
  78. {
  79. if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(string.Empty);
  80. var individual = context.Retrieve<IIndividual>(0);
  81. if (individual == null)
  82. {
  83. var subjectOwner = context.Retrieve<ISubjectOwner>(0);
  84. individual = subjectOwner.Individual;
  85. }
  86. var subjectMSP = context.Retrieve<ISubjectMSP>(1);
  87. var yesValue = context.Retrieve<string>(2) ?? "Да";
  88. var noValue = context.Retrieve<string>(3) ?? "Нет";
  89. var noAvaliableValue = context.Retrieve<string>(4) ?? string.Empty;
  90. if (individual==null || subjectMSP == null) return new FormatedValue(noAvaliableValue);
  91. var share = subjectMSP.Shares.FirstOrDefault(c => c.Individual == individual);
  92. return share?.IsUltimateBeneficiary == true ? new FormatedValue(yesValue): new FormatedValue(noValue);
  93. }
  94. public static FormatedValue DisplayEnum(FunctionEvaluationContext context)
  95. {
  96. if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(string.Empty);
  97. var enumParameter = context.Retrieve<object>(0);
  98. return
  99. new FormatedValue(
  100. enumParameter != null ? EnumHelper.DisplayName(enumParameter) : string.Empty);
  101. }
  102.  
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement