Advertisement
yambroskin

Untitled

May 25th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.70 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Impeltech.Bank;
  5. using Impeltech.Bank.Models;
  6. using EleWise.ELMA.Model.Managers;
  7. using Impeltech.Bank.Managers;
  8. using System.Text;
  9. using EleWise.ELMA.Security.Managers;
  10. using Impeltech.Bank.Extensions;
  11. using Parameters = EleWise.ELMA.Workflow.Models.Parameters.CA_SobytieAnalitiki;
  12. using Impeltech.Bank.Helpers;
  13. // ReSharper disable MergeConditionalExpression
  14.  
  15. namespace EleWise.ELMA.Model.Scripts
  16. {
  17.  
  18. /// <summary>
  19. /// "Событие аналитики" Custom Activity script module
  20. /// </summary>
  21. //Внимание! Для корректной работы программы не изменяйте название класса
  22. public class CA_SobytieAnalitiki_Scripts
  23. {
  24.  
  25. //Внимание! В классе должен быть метод Execute с данной сигнатурой
  26. public void Execute(Parameters parameters)
  27. {
  28. var requestId = parameters.Zayavka.Id;
  29. var executorId = parameters.Ispolnitelj != null ? (long?)parameters.Ispolnitelj.Id : null;
  30. var fullStepName = parameters.PolnoeOpisanieShaga;
  31. var department = parameters.Departament;
  32. var sipeStep = parameters.StoronaIzmeneniya;
  33. var step = parameters.Shag;
  34.  
  35. long? historyStepItemId = null;
  36. ActionExtension.InNewThread(
  37. () =>
  38. {
  39. historyStepItemId =
  40. CreateHisotyStepItem(requestId, executorId, fullStepName, department, sipeStep, step);
  41. },
  42. "Создать событие аналитики",
  43. exception =>
  44. {
  45. throw exception;
  46. },
  47. () =>
  48. {
  49.  
  50. if (historyStepItemId != null)
  51. {
  52. var historyStepItem =
  53. EntityManager<IHistoryStepItem>.Instance.LoadOrNull(historyStepItemId.Value);
  54. if (parameters.IsSentDataToOrchard == true && parameters.Zayavka != null)
  55. {
  56. OrchardHelper.Instance.ChangeStatus(parameters.Zayavka, historyStepItem);
  57. }
  58. }
  59. });
  60. }
  61.  
  62. private static long CreateHisotyStepItem(long requestId, long? executorId, string fullStepName, string department, string sipeStep, string step)
  63. {
  64. var historyStepItem = EntityManager<IHistoryStepItem>.Instance.Create();
  65. var requestBankGuarantee = RequestBankGuaranteeManager.Instance.LoadOrNull(requestId);
  66. var executor = executorId.HasValue ? UserManager.Instance.LoadOrNull(executorId.Value) : null;
  67. if (requestBankGuarantee != null)
  68. {
  69. historyStepItem.Request = requestBankGuarantee;
  70. }
  71. if (!string.IsNullOrWhiteSpace(fullStepName))
  72. {
  73. historyStepItem.FullNameStep = fullStepName;
  74. }
  75. if (executor != null)
  76. {
  77. historyStepItem.Executor = executor.FullName;
  78. }
  79. if (department != null)
  80. {
  81. historyStepItem.Department = department;
  82. }
  83. if (!string.IsNullOrWhiteSpace(sipeStep))
  84. {
  85. historyStepItem.SideStep = sipeStep;
  86. }
  87. if (!string.IsNullOrWhiteSpace(step))
  88. {
  89. historyStepItem.Step = step;
  90. }
  91. historyStepItem.Save();
  92. return historyStepItem.Id;
  93. }
  94. }
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement