private GetOrderDetailResponse GetOrderDetail(GetOrderDetailRequest request)
        {
            var order = this.PersistenceContext.GetBroker <IOrderBroker>().Load(request.OrderRef);

            var createOrderDetailOptions = new OrderAssembler.CreateOrderDetailOptions
            {
                IncludeVisit              = request.IncludeVisit && (new WorkflowConfigurationReader()).EnableVisitWorkflow,
                IncludeProcedures         = request.IncludeProcedures,
                IncludeNotes              = request.IncludeNotes,
                IncludeVirtualNotes       = request.IncludeNotes,               // include virtual notes, if including notes at all
                NoteCategoriesFilter      = request.NoteCategoriesFilter,
                IncludeAttachments        = request.IncludeAttachments,
                IncludeResultRecipients   = request.IncludeResultRecipients,
                IncludeExtendedProperties = request.IncludeExtendedProperties
            };

            var response       = new GetOrderDetailResponse();
            var orderAssembler = new OrderAssembler();

            response.Order = orderAssembler.CreateOrderDetail(order, createOrderDetailOptions, this.PersistenceContext);

            if (request.IncludeAlerts)
            {
                var alertAssembler = new AlertAssembler();
                response.OrderAlerts =
                    CollectionUtils.Map <AlertNotification, AlertNotificationDetail>(
                        AlertHelper.Instance.Test(order, this.PersistenceContext),
                        alertAssembler.CreateAlertNotification);
            }

            return(response);
        }
示例#2
0
        public static GetOrderDetailResponse Unmarshall(UnmarshallerContext _ctx)
        {
            GetOrderDetailResponse getOrderDetailResponse = new GetOrderDetailResponse();

            getOrderDetailResponse.HttpResponse = _ctx.HttpResponse;
            getOrderDetailResponse.RequestId    = _ctx.StringValue("GetOrderDetail.RequestId");
            getOrderDetailResponse.Message      = _ctx.StringValue("GetOrderDetail.Message");
            getOrderDetailResponse.Code         = _ctx.StringValue("GetOrderDetail.Code");
            getOrderDetailResponse.Success      = _ctx.BooleanValue("GetOrderDetail.Success");

            GetOrderDetailResponse.GetOrderDetail_Data data = new GetOrderDetailResponse.GetOrderDetail_Data();
            data.TotalCount = _ctx.IntegerValue("GetOrderDetail.Data.TotalCount");
            data.PageSize   = _ctx.IntegerValue("GetOrderDetail.Data.PageSize");
            data.PageNum    = _ctx.IntegerValue("GetOrderDetail.Data.PageNum");
            data.HostName   = _ctx.StringValue("GetOrderDetail.Data.HostName");

            List <GetOrderDetailResponse.GetOrderDetail_Data.GetOrderDetail_Order> data_orderList = new List <GetOrderDetailResponse.GetOrderDetail_Data.GetOrderDetail_Order>();

            for (int i = 0; i < _ctx.Length("GetOrderDetail.Data.OrderList.Length"); i++)
            {
                GetOrderDetailResponse.GetOrderDetail_Data.GetOrderDetail_Order order = new GetOrderDetailResponse.GetOrderDetail_Data.GetOrderDetail_Order();
                order._Operator         = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].Operator");
                order.AfterTaxAmount    = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].AfterTaxAmount");
                order.SubOrderId        = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].SubOrderId");
                order.Config            = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].Config");
                order.Tax               = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].Tax");
                order.PaymentTime       = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].PaymentTime");
                order.PaymentCurrency   = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].PaymentCurrency");
                order.UsageEndTime      = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].UsageEndTime");
                order.SubscriptionType  = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].SubscriptionType");
                order.PretaxGrossAmount = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].PretaxGrossAmount");
                order.OrderType         = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].OrderType");
                order.Currency          = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].Currency");
                order.UsageStartTime    = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].UsageStartTime");
                order.OriginalConfig    = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].OriginalConfig");
                order.PaymentStatus     = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].PaymentStatus");
                order.ProductCode       = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].ProductCode");
                order.CreateTime        = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].CreateTime");
                order.ProductType       = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].ProductType");
                order.RelatedOrderId    = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].RelatedOrderId");
                order.Quantity          = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].Quantity");
                order.OrderId           = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].OrderId");
                order.PretaxAmount      = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].PretaxAmount");
                order.OrderSubType      = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].OrderSubType");
                order.Region            = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].Region");
                order.InstanceIDs       = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].InstanceIDs");
                order.PretaxAmountLocal = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].PretaxAmountLocal");
                order.CommodityCode     = _ctx.StringValue("GetOrderDetail.Data.OrderList[" + i + "].CommodityCode");

                data_orderList.Add(order);
            }
            data.OrderList = data_orderList;
            getOrderDetailResponse.Data = data;

            return(getOrderDetailResponse);
        }
示例#3
0
        public async void SendNextEmail(GetOrderDetailResponse request)
        {
            var format          = _orderDataAccess.GetEmailFormat(request.IdStateOrder);
            var sendEmailEntity = new SendEmailEntity()
            {
                Email     = request.ClientEmail,
                NameEmail = request.ClientName + request.ClientSurname,
                Subject   = "Orden de compra n° " + request.IdOrder,
                Body      = format
            };

            sendEmailEntity.Body = sendEmailEntity.Body.Replace("{OrderNumber}", request.IdOrder.ToString());
            await _mailer.SendEmailAsync(sendEmailEntity);
        }
示例#4
0
 public void NextStateOrder(GetOrderDetailResponse request)
 {
     try
     {
         StatesOrdersEntity actualState = context.StatesOrdersEntity.Find(request.IdStateOrder);
         if (actualState != null)
         {
             actualState.IdState = actualState.IdState + 1;
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("OrderDataAccess.NextStateOrder : ERROR : " + ex.Message);
         throw;
     }
 }
示例#5
0
        public GetOrderDetailResponse GetOrderDetail(int IdOrder)
        {
            var getOrderDetailResponse = new GetOrderDetailResponse();

            try
            {
                var query = from or in context.OrdersEntity
                            join stat in context.StatesOrdersEntity on or.IdOrder equals stat.IdOrder
                            join buy in context.BuysEntity on or.IdOrder equals buy.IdOrder
                            join cl in context.ClientsEntity on buy.IdClient equals cl.IdClient
                            where (or.IdOrder == IdOrder)
                            select new
                {
                    orderDetail = new GetOrderDetailResponse
                    {
                        ClientName    = cl.Name,
                        ClientSurname = cl.Surname,
                        ClientEmail   = cl.Email,
                        IdOrder       = or.IdOrder,
                        IdOrderType   = or.IdTypeOrder,
                        IdState       = stat.IdState,
                        IdStateOrder  = stat.IdStateOrder
                    }
                };
                foreach (var obj in query)
                {
                    getOrderDetailResponse = obj.orderDetail;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("OrderDataAccess.GetOrderDetail : ERROR : " + ex.Message);
                throw;
            }
            return(getOrderDetailResponse);
        }
示例#6
0
        public GetOrderDetailResponse GetOrderDetail()
        {
            var response = new GetOrderDetailResponse();

            return(response);
        }