Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using EleWise.ELMA.ComponentModel;
- using EleWise.ELMA.Templates;
- using EleWise.TemplateGenerator;
- using EleWise.TemplateGenerator.Functions;
- using System;
- using System.Linq;
- using Impeltech.Bank.Helpers;
- using Impeltech.Bank.Models;
- namespace Impeltech.Bank.Extensions
- {
- [Component]
- public class BankTemplateGenerator : ITemplateGeneratorFunctionsContainer
- {
- // ReSharper disable once InconsistentNaming
- public static FormatedValue EQLTodayAdd(FunctionEvaluationContext context)
- {
- var result = DateTime.Today.ToString("yyyy, MM, dd");
- if (context?.Parameters == null || context.Parameters.Count <= 0)
- return new FormatedValue(result);
- var ctxParam = context.Parameters[0];
- if (ctxParam == null) return new FormatedValue(result);
- var count = Convert.ToInt32(ctxParam.Value);
- var type = string.Empty;
- var ctxParam2 = context.Parameters[1];
- if (ctxParam2 != null)
- {
- type = Convert.ToString( ctxParam2.Value);
- }
- switch (type) {
- case "Year":
- result = DateTime.Today.AddYears(count).ToString("yyyy, MM, dd");
- break;
- case "Month":
- result = DateTime.Today.AddMonths(count).ToString("yyyy, MM, dd");
- break;
- case "Day":
- result = DateTime.Today.AddDays(count).ToString("yyyy, MM, dd");
- break;
- default:
- result = DateTime.Today.AddDays(count).ToString("yyyy, MM, dd");
- break;
- }
- return new FormatedValue(result);
- }
- public static FormatedValue MoneyString(FunctionEvaluationContext context)
- {
- var result = string.Empty;
- if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(result);
- var ctxParam = context.Parameters[0];
- if (ctxParam == null) return new FormatedValue(result);
- if (ctxParam.Value is EleWise.ELMA.Common.Models.Money)
- {
- var val = (EleWise.ELMA.Common.Models.Money)ctxParam.Value;
- result = Managers.RurManager.MoneyString(val);
- }
- else
- {
- var val = Convert.ToDouble(ctxParam.Value);
- result = Managers.RurManager.MoneyString(val);
- }
- return new FormatedValue(result);
- }
- public static FormatedValue IndividualHasShare(FunctionEvaluationContext context)
- {
- if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(false);
- var ctxParam = context.Parameters[0];
- if (ctxParam == null) return new FormatedValue(false);
- var individual = ctxParam.Value as IIndividual;
- if (individual == null) return new FormatedValue(false);
- var ctxParam1 = context.Parameters[1];
- if (ctxParam1 == null) return new FormatedValue(false);
- var msp = ctxParam1.Value as ISubjectMSP;
- return msp == null ?
- new FormatedValue(false) :
- new FormatedValue(msp.Shares.Any(c=>c.Individual==individual));
- }
- public static FormatedValue IsUltimateBeneficiary(FunctionEvaluationContext context)
- {
- if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(string.Empty);
- var individual = context.Retrieve<IIndividual>(0);
- if (individual == null)
- {
- var subjectOwner = context.Retrieve<ISubjectOwner>(0);
- individual = subjectOwner.Individual;
- }
- var subjectMSP = context.Retrieve<ISubjectMSP>(1);
- var yesValue = context.Retrieve<string>(2) ?? "Да";
- var noValue = context.Retrieve<string>(3) ?? "Нет";
- var noAvaliableValue = context.Retrieve<string>(4) ?? string.Empty;
- if (individual==null || subjectMSP == null) return new FormatedValue(noAvaliableValue);
- var share = subjectMSP.Shares.FirstOrDefault(c => c.Individual == individual);
- return share?.IsUltimateBeneficiary == true ? new FormatedValue(yesValue): new FormatedValue(noValue);
- }
- public static FormatedValue DisplayEnum(FunctionEvaluationContext context)
- {
- if (context?.Parameters == null || context.Parameters.Count <= 0) return new FormatedValue(string.Empty);
- var enumParameter = context.Retrieve<object>(0);
- return
- new FormatedValue(
- enumParameter != null ? EnumHelper.DisplayName(enumParameter) : string.Empty);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement