コード例 #1
0
        private IEnumerable <ShippingDetailViewData> GetShippingDetailUserPair(long orderDetailId)
        {
            var shippingDetailViewDatas = new List <ShippingDetailViewData>();
            var shippingDetails         = _shippingDetailRepository.GetCancelledShippingDetailsForOrder(orderDetailId);

            foreach (var shippingDetail in shippingDetails)
            {
                ShippingDetail detail = shippingDetail;
                var            organizationRoleUserCreator = GetOrganizationRoleUser(detail,
                                                                                     sd => sd.DataRecorderMetaData.DataRecorderCreator.Id);

                // Add a new entry for the cancelled status.
                if (detail.Status == ShipmentStatus.Cancelled && organizationRoleUserCreator != null)
                {
                    var shippingDetailViewData = GetShippingDetailViewData(detail, organizationRoleUserCreator);
                    shippingDetailViewData.Status = ShipmentStatus.Processing.ToString();

                    shippingDetailViewDatas.Add(shippingDetailViewData);
                }

                if (organizationRoleUserCreator != null)
                {
                    var shippingDetailViewData = GetShippingDetailViewData(detail, organizationRoleUserCreator);
                    shippingDetailViewData.Status = detail.Status.ToString();
                    shippingDetailViewDatas.Add(shippingDetailViewData);
                }
            }
            return(shippingDetailViewDatas);
        }