Exemple #1
0
        private void SendReportsToActors(SendReportRequestList sendReportRequest)
        {
            var repo = new UserRepository();

            // Send report to every request
            foreach (var request in sendReportRequest.Requests)
            {
                var users = repo.GetUsersFromActor(request.ActorId, request.RetailerChainId);

                // Validate mailAddresses
                foreach (var user in users)
                {
                    var mailAddress = new MailAddress(user.Email, $"{user.FirstName} {user.LastName}");

                    SendReportToActor(mailAddress, request.OrderNumber);
                }
            }
        }
Exemple #2
0
        public void SendReportsToActors(IdList ids)
        {
            log.Info(string.Format(LogMessages.RequestMethod, RequestContext.Principal.Identity.Name, $"Reports\\send"));
            var sb = new StringBuilder();

            for (var i = 0; i < ids.Ids.Count; i++)
            {
                sb.Append(ids.Ids[i]);
                if (i + 1 < ids.Ids.Count)
                {
                    sb.Append(",");
                }
            }
            var reportRequest = new SendReportRequestList
            {
                Requests = new List <SendReportRequest>()
            };

            var repo   = new OrderListRepository();
            var result = repo.GetOrders(new OrderRequest {
                OrderId = sb.ToString()
            });

            foreach (var order in result)
            {
                var actorId     = Convert.ToInt32(order.FROM_ACTOR_ID);
                var retailChain = order.RETAILER_CHAIN_ID;
                var orderNumber = Convert.ToInt32(order.ID_ORDER);

                reportRequest.Requests.Add(new SendReportRequest {
                    ActorId = actorId, OrderNumber = orderNumber, RetailerChainId = retailChain
                });
            }

            SendReportsToActors(reportRequest);
        }