PageRenderTime 44ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/ThinkEmailFomatter/Utilities/Extensions/ThinkObjExt.cs

https://bitbucket.org/nicdao/frg-think-emailformatter
C# | 62 lines | 57 code | 5 blank | 0 comment | 8 complexity | 7d920e241fb5a2ea8512d26309f2eabd MD5 | raw file
Possible License(s): BSD-3-Clause
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.IO;
  6. using System.Xml;
  7. using System.Xml.Linq;
  8. using ThinkEmailFormatter.Models;
  9. using System.Web.Mvc;
  10. using Microsoft.Practices.EnterpriseLibrary.Logging;
  11. using System.Diagnostics;
  12. using System.Text;
  13. using ThinkEmailFormatter.ThinkOdata;
  14. namespace ThinkEmailFormatter.Models.Extensions.ThinkObj
  15. {
  16. public static class templateSettingExt
  17. {
  18. public static TemplateSetting CastFromThinkObj(this TemplateSetting templateSetting, EmailTemplate templateThinkSetting)
  19. {
  20. templateSetting.Guid = templateThinkSetting.email_template_id;
  21. templateSetting.Name = templateThinkSetting.name;
  22. templateSetting.Subject = templateThinkSetting.subject;
  23. templateSetting.Description = templateThinkSetting.description;
  24. templateSetting.FromEmail = templateThinkSetting.from_email;
  25. templateSetting.OrderClass = new Identifier()
  26. {
  27. Id = templateThinkSetting.oc_id
  28. };
  29. templateSetting.DefaultEnabled = templateThinkSetting.enable_default;
  30. templateSetting.TaxInvoiceCheckEnabled = templateThinkSetting.enable_tax_invoice_check;
  31. if (templateThinkSetting.TransactionEvent != null)
  32. {
  33. templateSetting.EventType = new Identifier()
  34. {
  35. Id = templateThinkSetting.TransactionEvent.transaction_event_id,
  36. Name = templateThinkSetting.TransactionEvent.transaction_name
  37. };
  38. }
  39. if (templateThinkSetting.EmailFilterOptions != null && templateThinkSetting.EmailFilterOptions.Any())
  40. {
  41. templateSetting.Filters = new List<Filter>();
  42. foreach (var filter in templateThinkSetting.EmailFilterOptions)
  43. {
  44. templateSetting.Filters.Add(new Filter()
  45. {
  46. Guid = filter.email_filter_id,
  47. OrderCode = filter.order_code_id != null ? new Identifier() { Id = (int)filter.order_code_id } : null,
  48. SourceCode = filter.source_code_id != null ? new Identifier() { Id = (int)filter.source_code_id } : null,
  49. SubscriptionDefinition = filter.subscription_def_id != null ? new Identifier() { Id = (int)filter.subscription_def_id } : null,
  50. Active = filter.active
  51. });
  52. }
  53. }
  54. return templateSetting;
  55. }
  56. }
  57. }