Пример #1
0
        public async Task Consume(ConsumeContext <WorkItemUpdated> context)
        {
            try
            {
                if (context.Message == null)
                {
                    throw new ArgumentNullException("Message is null");
                }

                int workItemId = context.Message.WorkItemId;

                var workItem = await _workItemService.GetById(workItemId);

                if (workItem == null)
                {
                    throw new ArgumentException("Work item not found");
                }

                var userData = await _userService.GetById(workItem.AssigneeId);

                if (userData == null)
                {
                    throw new ArgumentNullException("Assignee not found");
                }

                if (context.Message.NewWorkItem.AssigneeId != context.Message.OldWorkItem.AssigneeId)
                {
                    await _bus.Publish(new EmailSend
                    {
                        To      = userData.Email,
                        Subject = "New work item assignee",
                        Body    = $"You are the new assignee for the work item # {workItemId}"
                    });

                    _logger.Information($"Bus published EmailSend contract with email: {userData.Email}. WorkItemId: {workItemId}");
                }

                if (context.Message.OldWorkItem != context.Message.NewWorkItem)
                {
                    var createdEntity = await _workItemAuditService.WIUpdated(context.Message.WorkItemId, context.Message.OldWorkItem, newWorkItem : context.Message.NewWorkItem);

                    _logger.Information($"Successfully logged work item editing. WorkItemAuditId: {createdEntity.Id}");
                }
            }
            catch (Exception exception)
            {
                _logger.Error(exception.Message);
                return;
            }
        }
        public async Task Consume(ConsumeContext <WorkItemDeleted> context)
        {
            try
            {
                if (context.Message == null)
                {
                    throw new ArgumentNullException("Message is null");
                }

                int workItemId = context.Message.WorkItemId;

                if (workItemId < 1)
                {
                    throw new ArgumentException($"Work item should be equal to 1 or higher. Current value: {workItemId}");
                }

                var createdEnitty = await _workItemAuditService.WIDeleted(workItemId, context.Message.OldWorkItem);

                _logger.Information($"Successfully logged work item deletion. WorkItemAuditId: {createdEnitty.Id}");
            }
            catch (Exception exception)
            {
                _logger.Error(exception.Message);
                return;
            }
        }
        public IActionResult Index()
        {
            _loggerAdapter.Debug("Logs Debug");
            _loggerAdapter.Information("Logs Information");
            _loggerAdapter.Warning("Logs Warning");
            _loggerAdapter.Error("Logs Error");
            _loggerAdapter.Fatal("Logs Fatal");
            _loggerAdapter.WriteMethodInfo("WriteMethodInfo");

            return(View());
        }
        public IActionResult Get()
        {
            var wObj = new Age(25);
            var obj  = new ParentObj("Tomas", wObj);

            string serializedObj = JsonConvert.SerializeObject(obj, Formatting.Indented);

            _log.Information(serializedObj);

            return(Ok());
        }
        public async Task Consume(ConsumeContext <EmailSend> context)
        {
            try
            {
                if (context.Message == null)
                {
                    throw new ArgumentNullException("Message is null");
                }

                if (context.Message.To == null)
                {
                    throw new ArgumentNullException("No email address provided");
                }

                if (context.Message.Subject == null)
                {
                    throw new ArgumentNullException("Message subject is not provided");
                }

                if (context.Message.Body == null)
                {
                    throw new ArgumentNullException("Body subject is not provided");
                }

                var message = context.Message;

                await _mailer.SendMessageAsync(message.To, message.Body, message.Subject);

                _logger.Information($"Email sent to: {context.Message.To}");
            }
            catch (Exception exception)
            {
                _logger.Error(exception.Message);
                return;
            }
        }