public ActionResult CreateOrUpdate(ShipperCreateOrUpdateViewModel vm)
        {
            if (vm.PostedDeliveryOfVehicleTypes != null && vm.PostedDeliveryOfVehicleTypes.Any())
            {
                StringBuilder deliveryOfVehicleSB = new StringBuilder();
                vm.PostedDeliveryOfVehicleTypes.Each((i, s) => {
                    deliveryOfVehicleSB.Append(s).Append("|");
                });
                deliveryOfVehicleSB.Remove(deliveryOfVehicleSB.Length - 1, 1);
                vm.Shipper.DeliveryOfVehicleType = deliveryOfVehicleSB.ToString();
            }

            if (vm.PostedSixCards != null && vm.PostedSixCards.Any())
            {
                StringBuilder sixCardsSB = new StringBuilder();
                vm.PostedSixCards.Each((i, s) =>
                {
                    sixCardsSB.Append(s).Append("|");
                });
                sixCardsSB.Remove(sixCardsSB.Length - 1, 1);
                vm.Shipper.SixCard = sixCardsSB.ToString();
            }

            if (vm.PostedTermialOfVehicleTypes != null && vm.PostedTermialOfVehicleTypes.Any())
            {
                StringBuilder termialOfVehicleTypeSB = new StringBuilder();
                vm.PostedTermialOfVehicleTypes.Each((i, s) =>
                {
                    termialOfVehicleTypeSB.Append(s).Append("|");
                });
                termialOfVehicleTypeSB.Remove(termialOfVehicleTypeSB.Length - 1, 1);
                vm.Shipper.TermialOfVehicleType = termialOfVehicleTypeSB.ToString();
            }

            if (vm.PostedTransportModes != null && vm.PostedTransportModes.Any())
            {
                StringBuilder transportModesSB = new StringBuilder();
                vm.PostedTransportModes.Each((i, s) =>
                {
                    transportModesSB.Append(s).Append("|");
                });
                transportModesSB.Remove(transportModesSB.Length - 1, 1);
                vm.Shipper.TransportMode = transportModesSB.ToString();
            }


            if (vm.PostedTrunkOfVehicleTypes != null && vm.PostedTrunkOfVehicleTypes.Any())
            {
                StringBuilder trunkOfVehicleTypesSB = new StringBuilder();
                vm.PostedTrunkOfVehicleTypes.Each((i, s) =>
                {
                    trunkOfVehicleTypesSB.Append(s).Append("|");
                });
                trunkOfVehicleTypesSB.Remove(trunkOfVehicleTypesSB.Length - 1, 1);
                vm.Shipper.TrunkOfVehicleType = trunkOfVehicleTypesSB.ToString();
            }
            //创建时间,创建人,更新时间,更新人
            if (vm.ViewType == 1)
            {
                vm.Shipper.Creator    = base.UserInfo.Name;
                vm.Shipper.CreateTime = DateTime.Now;
            }

            vm.Shipper.UpdateTime = DateTime.Now;
            vm.Shipper.Updator    = base.UserInfo.Name;
            //
            var insertOrUpdateCRMShipperResponse = new ShipperManagementService().AddOrUpdateShippers(new AddOrUpdateCRMShippersRequest()
            {
                ShipperCollection = new List <Shipper> {
                    vm.Shipper
                }
            });


            // 插入更新结果如果成功
            if (insertOrUpdateCRMShipperResponse.IsSuccess)
            {
                if (insertOrUpdateCRMShipperResponse.Result != null && insertOrUpdateCRMShipperResponse.Result.Any())
                {
                    long id = insertOrUpdateCRMShipperResponse.Result.First();
                    var  getCRMShipperResponse = new ShipperManagementService().GetCRMShipperInfo(new CRMShipperOperationRequest()
                    {
                        CRMShipperID = id
                    });
                    if (getCRMShipperResponse.IsSuccess)
                    {
                        vm.ViewType = 0;
                        vm.Shipper  = getCRMShipperResponse.Result.Shipper;
                        vm.ShipperCooperationCollection        = getCRMShipperResponse.Result.ShipperCooperationCollection;
                        vm.ShipperTransportationLineCollection = getCRMShipperResponse.Result.ShipperTransportationLineCollection;
                        return(View(vm));
                    }
                }
            }
            return(View(vm));
        }
        public ActionResult CreateOrUpdate(long?id, int?ViewType)
        {
            ShipperCreateOrUpdateViewModel vm = new ShipperCreateOrUpdateViewModel();

            if (!id.HasValue)
            {
                vm.ViewType = 1;
                vm.Shipper  = new Shipper();
                vm.Shipper.AttachmentGroupID = Guid.NewGuid().ToString();
                vm.Shipper.Str3 = Guid.NewGuid().ToString();
            }
            else
            {
                var getCRMShipperResponse = new ShipperManagementService().GetCRMShipperInfo(new CRMShipperOperationRequest()
                {
                    CRMShipperID = id
                });
                if (getCRMShipperResponse.IsSuccess)
                {
                    vm.Shipper = getCRMShipperResponse.Result.Shipper;
                    if (vm.Shipper == null)
                    {
                        vm.Shipper = new Shipper();
                    }

                    if (!string.IsNullOrEmpty(vm.Shipper.DeliveryOfVehicleType))
                    {
                        IList <SelectListItem> selectedDeliveryOfVehicleTypes = new List <SelectListItem>();
                        vm.Shipper.DeliveryOfVehicleType.Split('|').Each((i, s) => {
                            selectedDeliveryOfVehicleTypes.Add(new SelectListItem()
                            {
                                Text = s, Value = s
                            });
                        });
                        vm.SelectedDeliveryOfVehicleTypes = selectedDeliveryOfVehicleTypes;
                    }

                    if (!string.IsNullOrEmpty(vm.Shipper.SixCard))
                    {
                        IList <SelectListItem> selectedSixCards = new List <SelectListItem>();
                        vm.Shipper.SixCard.Split('|').Each((i, s) =>
                        {
                            selectedSixCards.Add(new SelectListItem()
                            {
                                Text = s, Value = s
                            });
                        });
                        vm.SelectedSixCards = selectedSixCards;
                    }

                    if (!string.IsNullOrEmpty(vm.Shipper.TermialOfVehicleType))
                    {
                        IList <SelectListItem> selectedTermialOfVehicleTypes = new List <SelectListItem>();
                        vm.Shipper.TermialOfVehicleType.Split('|').Each((i, s) =>
                        {
                            selectedTermialOfVehicleTypes.Add(new SelectListItem()
                            {
                                Text = s, Value = s
                            });
                        });
                        vm.SelectedTermialOfVehicleTypes = selectedTermialOfVehicleTypes;
                    }

                    if (!string.IsNullOrEmpty(vm.Shipper.TransportMode))
                    {
                        IList <SelectListItem> selectedTransportModes = new List <SelectListItem>();
                        vm.Shipper.TransportMode.Split('|').Each((i, s) =>
                        {
                            selectedTransportModes.Add(new SelectListItem()
                            {
                                Text = s, Value = s
                            });
                        });
                        vm.SelectedTransportModes = selectedTransportModes;
                    }

                    if (!string.IsNullOrEmpty(vm.Shipper.TrunkOfVehicleType))
                    {
                        IList <SelectListItem> selectedTrunkOfVehicleTypes = new List <SelectListItem>();
                        vm.Shipper.TrunkOfVehicleType.Split('|').Each((i, s) =>
                        {
                            selectedTrunkOfVehicleTypes.Add(new SelectListItem()
                            {
                                Text = s, Value = s
                            });
                        });
                        vm.SelectedTrunkOfVehicleTypes = selectedTrunkOfVehicleTypes;
                    }

                    vm.ShipperCooperationCollection        = getCRMShipperResponse.Result.ShipperCooperationCollection;
                    vm.ShipperTransportationLineCollection = getCRMShipperResponse.Result.ShipperTransportationLineCollection;
                    vm.ShipperTerminalInfoCollection       = getCRMShipperResponse.Result.ShipperTerminalInfoCollection;

                    if (string.IsNullOrEmpty(vm.Shipper.Str3))
                    {
                        vm.Shipper.Str3 = Guid.NewGuid().ToString();
                    }

                    if (string.IsNullOrEmpty(vm.Shipper.AttachmentGroupID))
                    {
                        vm.Shipper.AttachmentGroupID = Guid.NewGuid().ToString();
                    }
                }

                if (!ViewType.HasValue)
                {
                    vm.ViewType = 0;
                }
                else
                {
                    vm.ViewType = ViewType.Value;
                }

                vm.ShowEditButton = true;
            }

            return(View(vm));
        }