ModalBodyViewModel.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. namespace WeOnlineApp.Views.Shared.Modals
  4. {
  5. public class ModalBodyViewModel
  6. {
  7. public ModalBodyViewModel(List<Input> inputs, string formId = "form", string modalId = "modalId", string labelLayoutDefaultClass = "", string inputLayoutDefaultClass = "", string divClass = "form-group row", List<SpecialInputModel> specials = null)
  8. {
  9. FormId = formId;
  10. ModalId = modalId;
  11. _inputs = inputs;
  12. LabelLayoutDefaultClass = labelLayoutDefaultClass;
  13. InputLayoutDefaultClass = inputLayoutDefaultClass;
  14. Specials = specials;
  15. DivClass = divClass;
  16. }
  17. public string FormId { get; set; }
  18. public string ModalId { get; set; }
  19. public string DivClass { get; set; }
  20. public string LabelLayoutDefaultClass { get; set; }
  21. public string InputLayoutDefaultClass { get; set; }
  22. private readonly List<Input> _inputs;
  23. public List<Input> Inputs => _inputs.Select(SetDefault).ToList();
  24. public List<SpecialInputModel> Specials { get; set; }
  25. private Input SetDefault(Input input)
  26. {
  27. if (string.IsNullOrEmpty(input.LabelLayoutClass))
  28. {
  29. input.LabelLayoutClass = LabelLayoutDefaultClass;
  30. }
  31. if (string.IsNullOrEmpty(input.InputLayoutClass))
  32. {
  33. input.InputLayoutClass = InputLayoutDefaultClass;
  34. }
  35. if (string.IsNullOrEmpty(input.DivClass))
  36. {
  37. input.DivClass = DivClass;
  38. }
  39. input.DefaultTarget = $"#{ModalId}";
  40. return input;
  41. }
  42. }
  43. }