UseItemBankService.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Threading.Tasks;
  5. using TEAMModelOS.Model.Evaluation.Dtos.Own;
  6. using TEAMModelOS.Model.EvaluaTion.Models;
  7. using TEAMModelOS.SDK.Helper.Common.JsonHelper;
  8. using TEAMModelOS.Service.Core.Implements;
  9. using TEAMModelOS.Service.EvaluaTion.Interfaces;
  10. namespace TEAMModelOS.Service.EvaluaTion.Implements
  11. {
  12. public class UseItemBankService : BaseService, IUseItemBankService
  13. {
  14. public async Task<List<UseItemBank>> GetItemBanks(Dictionary<string, object> map)
  15. {
  16. List<UseItemBank> itemBanks = await FindListByDict<UseItemBank>(map);
  17. return itemBanks;
  18. }
  19. public async Task<List<UseItemBankDto>> SaveOrUpdateAsync(List<UseItemBankDto> items,string lang)
  20. {
  21. List<UseItemBank> itemBanks = new List<UseItemBank>();
  22. items.ForEach(p =>
  23. {
  24. if (p.PartitionKey != null)
  25. {
  26. itemBanks.Add(new UseItemBank()
  27. {
  28. RowKey = p.RowKey,
  29. PartitionKey = lang,
  30. Question = p.Question,
  31. Option = MessagePackHelper.ObjectToJson(p.Option),
  32. Answer = MessagePackHelper.ObjectToJson(p.Answer),
  33. Explain = p.Explain,
  34. Type = p.Type,
  35. Pid = p.Pid
  36. });
  37. }
  38. else {
  39. itemBanks.Add(new UseItemBank()
  40. {
  41. RowKey = Guid.NewGuid().ToString(),
  42. PartitionKey = lang,
  43. Question = p.Question,
  44. Option = MessagePackHelper.ObjectToJson(p.Option),
  45. Answer = MessagePackHelper.ObjectToJson(p.Answer),
  46. Explain = p.Explain,
  47. Type = p.Type,
  48. Pid = p.Pid
  49. });
  50. }
  51. });
  52. await SaveOrUpdateAll(itemBanks);
  53. return items;
  54. }
  55. }
  56. }