Exemplo n.º 1
0
        public async Task <Response <TotalMessage> > GetGlobalMessage(int messageId, int repId)
        {
            try
            {
                var msg = await _repo.GetGlobalMessage(messageId);

                if (msg == null)
                {
                    return(new Response <TotalMessage>("Error :Message Is not found "));
                }
                var gMsg = new TotalMessage
                {
                    Content   = msg.MessageContent.Content,
                    Id        = msg.Id,
                    DateTime  = msg.DateTime,
                    TypesEnum = NotificationTypesEnum.GlobalMessage
                };
                var handler        = new GlobalMessageRead(msg, _repo, repId);
                var readingHandler = new GlobalMessageReadingHandler(_repo, repId);
                readingHandler.SetObj(new List <IReadable <int> > {
                    handler
                });
                var readGlobal = readingHandler.ReadAll();
                await _unitWork.CommitAsync();

                if (readGlobal.Any())
                {
                    gMsg.Read = false;
                }

                return(new Response <TotalMessage>(gMsg));
            }
            catch (Exception e)
            {
                return(new Response <TotalMessage>($"Error :{e.Message}"));
            }
        }