Exemplo n.º 1
0
        public async Task AddMessage(List <EmployeeDto> employeeDtos, MessageStatusEnum messageStatus,
                                     MessageTypeEnum messageType, CancellationToken cancellationToken = default)
        {
            if (!employeeDtos.Any())
            {
                return;
            }

            foreach (var employee in employeeDtos)
            {
                var messageExists = await _messageQueueRepository.GetBySystemUniqueId(employee.Id, messageType);

                if (messageExists != null)
                {
                    continue;
                }

                var message = new MessageQueue
                {
                    Id               = Guid.NewGuid(),
                    SystemUniqueId   = employee.Id,
                    SourceRawJson    = JsonConverter.ConvertToJson(employee),
                    IsBusyProcessing = false,
                    RetryCount       = -1,
                    MessageStatus    = messageStatus,
                    MessageType      = messageType,
                    CreatedDate      = DateTime.UtcNow
                };
                _messageQueueRepository.Add(message);
            }

            await _messageQueueRepository.SaveChangesAsync(cancellationToken);
        }
Exemplo n.º 2
0
 public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
     _output.Dispatcher.BeginInvoke(new Action(() =>
     {
         _output.AppendText(str + '\n');
         _output.ScrollToEnd();
     }));
 }
Exemplo n.º 3
0
 public int Execute(long businessId, int messageId, MessageStatusEnum messageStatus, Guid updatedByUserId)
 {
     // in parameters
     var parameters = new List<SqlParameter>
     {
         DbHelper.CreateParameter(Parameters.BusinessId, businessId),
         DbHelper.CreateParameter(Parameters.MessageId, messageId),
         DbHelper.CreateParameter(Parameters.MessageStatusCode, messageStatus.GetCode()),
         DbHelper.CreateParameter(Parameters.UpdatedByUserId, updatedByUserId),
     };
     
     return DbHelper.ExecuteNonQueryCommand(this, parameters);
 }
Exemplo n.º 4
0
        /// <summary>
        /// Mark a list of messages as read, unread or deleted
        /// </summary>
        /// <param name="businessId">The id of the business making the change</param>
        /// <param name="messageId">The message id to mark as read, unread or deleted</param>
        /// <param name="messageStatusEnum">The status to mark the messages ie. read, unread or deleted</param>
        /// <returns>True if the notification message was successfully marked as read, unread or deleted</returns>
        public bool ModifyMessageStatus(long businessId, int messageId, MessageStatusEnum messageStatusEnum)
        {
            var updatedByUserId = AuditFieldsHelper.GetUserId();
            int rowsAffected = new StoredProcedures.Notification.UpdateMessageStatusMapper().Execute(businessId, messageId, messageStatusEnum, updatedByUserId);
           
            // Check if the update was successful
            if (rowsAffected > 0)
            {
                return true;
            }

            throw new ExpectedResultException(ErrorFactory.CreateAndLogError(Errors.SRVEX30027, "MessageDao.ModifyMessageStatus",
                    additionalDescriptionParameters: new object[] { typeof(Message).Name, messageId },
                    arguments: new object[] { typeof(Message).Name, messageId }
                ));
        }
Exemplo n.º 5
0
 /// <summary>
 /// Set up simple message
 /// messageType = eviivo
 /// contentType = plain text
 /// Status = unread
 /// text = "Test text"
 /// business id = 1
 /// message id = 1
 /// </summary>
 /// <param name="businessId">business to create message for, default 1</param>
 /// <param name="messageId">id of message, default 1</param>
 /// <param name="messageTypeEnum">message type, default eviivo</param>
 /// <param name="contentTypeEnum">content type, default plain</param>
 /// <param name="messageStatusEnum">message status, default unread</param>
 /// <param name="content">content text, default "Test text"</param>
 /// <returns>a new Message</returns>
 public static Message BuildSimple(long businessId = 1, int messageId = 1,
                                   MessageTypeEnum messageTypeEnum = MessageTypeEnum.EviivoMessage,
                                   ContentTypeEnum contentTypeEnum = ContentTypeEnum.PlainText,
                                   MessageStatusEnum messageStatusEnum = MessageStatusEnum.Unread,
                                   string content = "Test text")
 {
     return new Message
         {
             BusinessId = businessId,
             Id = messageId,
             MessageStatusEnum = messageStatusEnum,
             MessageTypeEnum = messageTypeEnum,
             ContentTypeEnum = contentTypeEnum,
             Content = content,
             CreatedDateTime = DateTime.Now,
             Events = new System.Collections.Generic.List<MessageEvent>()
         };
 }
Exemplo n.º 6
0
        public static void Echo(string text, MessageStatusEnum status = MessageStatusEnum.Ordinary)
        {
            if (status == MessageStatusEnum.Ordinary)
            {
                Output.WriteLine(text);
            }
            else
            {
                ConsoleColor oldColor = Output.TextColor;
                ConsoleColor newColor;

                switch (status)
                {
                case MessageStatusEnum.Information:
                    newColor = ConsoleColor.Green;
                    break;

                case MessageStatusEnum.Attention:
                    newColor = ConsoleColor.Yellow;
                    break;

                case MessageStatusEnum.Important:
                case MessageStatusEnum.VeryImportant:
                    newColor = ConsoleColor.Red;
                    break;

                default:
                    newColor = oldColor;
                    break;
                }

                try
                {
                    Output.TextColor = newColor;
                    Output.WriteLine(text);
                }
                finally
                {
                    Output.TextColor = oldColor;
                }
            }
        }
Exemplo n.º 7
0
        public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
        {
            if (status == MessageStatusEnum.Ordinary)
            {
                Console.WriteLine(str);
            }
            else
            {
                var          oldColor = Console.ForegroundColor;
                ConsoleColor newColor;

                switch (status)
                {
                case MessageStatusEnum.Information:
                    newColor = ConsoleColor.Green;
                    break;

                case MessageStatusEnum.Attention:
                    newColor = ConsoleColor.Yellow;
                    break;

                case MessageStatusEnum.Important:
                case MessageStatusEnum.VeryImportant:
                    newColor = ConsoleColor.Red;
                    break;

                default:
                    newColor = oldColor;
                    break;
                }

                try
                {
                    Console.ForegroundColor = newColor;
                    Console.WriteLine(str);
                }
                finally
                {
                    Console.ForegroundColor = oldColor;
                }
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Create Message Event record
        /// </summary>
        /// <param name="messageId">The id for the message</param>
        /// <param name="messageStatus">The status of the message</param>
        public void CreateMessageEvent(int messageId, MessageStatusEnum messageStatus)
        {
            // Get the correct event type based on the message status
            var messageEventType = MessageEventType.Unknown;
            switch (messageStatus)
            {
                case MessageStatusEnum.Read:
                    messageEventType = MessageEventType.Read;
                    break;
                case MessageStatusEnum.Unread:
                    messageEventType = MessageEventType.Unread;
                    break;
                case MessageStatusEnum.Deleted:
                    messageEventType = MessageEventType.Deleted;
                    break;
            }

            var createdByUserId = AuditFieldsHelper.GetUserId();
            new StoredProcedures.Notification.InsertMessageEventMapper().Execute(messageId, messageEventType, createdByUserId);
        }
        public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.WithoutStatus)
        {
            switch (status)
            {
            case MessageStatusEnum.WithoutStatus:
                _logger.LogDebug(str);
                break;

            case MessageStatusEnum.Ordinary:
            case MessageStatusEnum.Information:
                _logger.LogInformation(str);
                break;

            case MessageStatusEnum.Important:
            case MessageStatusEnum.VeryImportant:
                _logger.LogError(str);
                break;

            case MessageStatusEnum.Attention:
                _logger.LogWarning(str);
                break;
            }
        }
Exemplo n.º 10
0
        public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
        {
            if (!_isContentEchoed)
            {
                if (!IsHeaderWritten("Content-type"))
                {
                    Header("Content-type", "text/html");
                }
                if (!IsHeaderWritten("Content-encoding"))
                {
                    Header("Content-encoding", Encoding.BodyName);
                }
                oscript.Output.WriteLine();

                _isContentEchoed = true;
            }

            if (str != "")
            {
                Output(str);
                oscript.Output.WriteLine();
            }
        }
 public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
     Console.WriteLine(str);
 }
 public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
     // Обработчик Сообщить, в HTTPСервисе ничего не делает, также поступаем и мы
 }
Exemplo n.º 13
0
 public void Echo(string text, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
     ConsoleHostImpl.Echo(text, status);
 }
Exemplo n.º 14
0
 public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
 }
Exemplo n.º 15
0
 public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
     _output.AppendText(str + '\n');
     _output.ScrollToEnd();
 }
Exemplo n.º 16
0
        public IEnumerable <MessageViewModel> QuerySend(string key, int offset, int limit, out int count, MessageStatusEnum status, MessageTypeEnum type, string ownerId = "")
        {
            var query = uow.Set <Message>().Where(x => x.IsDelete == false && (x.Status & status) != 0 && (x.Type & type) != 0);

            if (!string.IsNullOrEmpty(key))
            {
                query = query.Where(x => x.Title.Contains(key) || x.Accepter.UserName.Contains(key) || x.Accepter.Name.Contains(key) || x.Content.Contains(key));
            }
            if (!string.IsNullOrEmpty(ownerId))
            {
                query = query.Where(x => x.Sender.Id == ownerId);
            }
            count = query.Count();
            return(query.OrderByDescending(x => x.CreateAt).Skip(offset).Take(limit).ToList().Select(x => new MessageViewModel(x)));
        }
Exemplo n.º 17
0
 public void CancelMessage(string comment, MessageStatusEnum status)
 {
     Status = status;
     //IsCanceled = true;
     StatusComment = comment;
 }
        private List <ReportItem> GetReportItemsFromReportDetailItems(List <ReportDetailItem> reportDetailItems, MessageStatusEnum status)
        {
            if (reportDetailItems == null || !reportDetailItems.Any())
            {
                return(null);
            }

            List <ReportItem> results = new List <ReportItem>();

            foreach (ReportDetailItem reportDetailItem in reportDetailItems)
            {
                if (reportDetailItem == null)
                {
                    continue;
                }

                ReportItem item = new ReportItem();

                item.DeliveredOn = GetDeliveryTimeFromReportDetailItem(reportDetailItem);
                item.PhoneNumber = reportDetailItem.Number;
                item.Status      = status;
                item.Operator    = GetOperatorFromReportDetailItem(reportDetailItem);

                if (item.Status == MessageStatusEnum.Failed)
                {
                    item.FailReason = GetFailReasonFromReportDetailItem(reportDetailItem);
                }

                results.Add(item);
            }

            return(results);
        }
Exemplo n.º 19
0
        /// <summary>
        /// Mark a list of messages as read, unread or deleted
        /// </summary>
        /// <param name="businessId">The id of the business making the change</param>
        /// <param name="messageIds">The list of messages to mark as read, unread or deleted</param>
        /// <param name="messageStatusEnum">The status to mark the messages ie. read, unread or deleted</param>
        /// <returns>True if the notification messages successfully marked as read, unread or deleted</returns>
        public bool ChangeMessageStatusBulk(long businessId, IList<int> messageIds, MessageStatusEnum messageStatusEnum)
        {
            bool result = false;
            using (var tx = new BusinessTransaction())
            {
                // Modify the status for each id in the list
                foreach (var messageId in messageIds)
                {
                    result = messageDao.ModifyMessageStatus(businessId, messageId, messageStatusEnum);
                    if (result)
                    {
                        // SHOULD BE EVENT TASK MANAGER
                        messageEventDao.CreateMessageEvent(messageId, messageStatusEnum);
                    }
                }
                tx.Commit();
            }

            return result;
        }
Exemplo n.º 20
0
        /// <summary>
        /// Mark a single message as read, unread or deleted
        /// </summary>
        /// <param name="businessId">The id of the business making the change</param>
        /// <param name="messageId">The id of the message to mark as read, unread or deleted</param>
        /// <param name="messageStatusEnum">The status to mark the messages ie. read, unread or deleted</param>
        /// <returns>True if the notification message was successfully marked as read, unread or deleted</returns>
        public bool ChangeMessageStatus(long businessId, int messageId, MessageStatusEnum messageStatusEnum)
        {
            bool result = false;
            using (var transaction = new BusinessTransaction())
            {
                result = messageDao.ModifyMessageStatus(businessId, messageId, messageStatusEnum);
                if (result)
                {
                    // SHOULD BE EVENT TASK MANAGER
                    messageEventDao.CreateMessageEvent(messageId, messageStatusEnum);
                }

                transaction.Commit();
            }

            return result;
        }
Exemplo n.º 21
0
 public void Echo(string str, MessageStatusEnum status = MessageStatusEnum.Ordinary)
 {
     _output.AppendText(str + '\n');
     _output.ScrollToEnd();
     System.Windows.Forms.Application.DoEvents();
 }
Exemplo n.º 22
0
        public int QuerySendCount(string userId, MessageStatusEnum status, MessageTypeEnum type)
        {
            var query = uow.Set <Message>().Where(x => x.IsDelete == false);

            return(query.Where(x => x.Sender.Id == userId && (x.Status & status) != 0 && (x.Type & type) != 0).Count());
        }
        //int default(0),

        public MessageDetail()
        {
            this.MsgStatus = MessageStatusEnum.Unread;
            this.Date      = System.DateTime.Now;
        }