Advertisement
Iyon_Groznyy

Untitled

Dec 6th, 2021
1,183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.75 KB | None | 0 0
  1. public async Task UpdateAsync(Message[] messages, CancellationToken cancellationToken)
  2.         {
  3.             var query = OdataQueries.FilterMethod;
  4.  
  5.             var messagesTemplate = messages.Select(message => $"{nameof(InformationRegister_МП_СообщенияПользователям.ТекстСообщения)} {OdataQueries.EqualOp} '{message.Title}' {OdataQueries.AndOp} {nameof(InformationRegister_МП_СообщенияПользователям.Документ_Key)} {OdataQueries.EqualOp} {OdataQueries.GuidSuffix}'{message.Id}' {OdataQueries.AndOp} {nameof(InformationRegister_МП_СообщенияПользователям.Менеджер_Key)} {OdataQueries.EqualOp} {OdataQueries.GuidSuffix}'{message.ManagerId}'");
  6.  
  7.             query += string.Join($"{OdataQueries.OrOp}", messagesTemplate);
  8.  
  9.             //query += $"{nameof(InformationRegister_МП_СообщенияПользователям.ТекстСообщения)} {OdataQueries.EqualOp} '{messages[0].Title}' {OdataQueries.AndOp} {nameof(InformationRegister_МП_СообщенияПользователям.Документ_Key)} {OdataQueries.EqualOp} {OdataQueries.GuidSuffix}'{messages[0].Id}' {OdataQueries.AndOp} {nameof(InformationRegister_МП_СообщенияПользователям.Менеджер_Key)} {OdataQueries.EqualOp} {OdataQueries.GuidSuffix}'{messages[0].ManagerId}'";
  10.  
  11.             var updatedClient = await GetAndUpdateAsync(messages, query.ToString());
  12.             try
  13.             {
  14.                 await this.client
  15.                     .For<InformationRegister_МП_СообщенияПользователям>()
  16.                     .Key(updatedClient)
  17.                     .QueryOptions(query.ToString())
  18.                     .Set(new
  19.                     {
  20.                         Показано = true
  21.                     })
  22.                     .UpdateEntryAsync(cancellationToken);
  23.             }
  24.             catch (Exception ex)
  25.             {
  26.  
  27.             }
  28.         }
  29.  
  30.         public async Task<InformationRegister_МП_СообщенияПользователям> GetAndUpdateAsync(Message[] messages, string query)
  31.         {
  32.             try
  33.             {
  34.                 var getMessageTask = this.client
  35.                     .For<InformationRegister_МП_СообщенияПользователям>()
  36.                     .QueryOptions(query)
  37.                     .FindEntryAsync();
  38.  
  39.                 await Task.WhenAll(getMessageTask);
  40.  
  41.                 var existingMessage = getMessageTask.Result;
  42.  
  43.                 existingMessage.Показано = messages.FirstOrDefault().IsRead;
  44.  
  45.                 return existingMessage;
  46.             }
  47.             catch(Exception ex)
  48.             {
  49.                 throw ex;
  50.             }
  51.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement