/// <summary>
        /// 新增客户
        /// </summary>
        /// <returns></returns>
        public ActionResult Add()
        {
            CustomerEntity          entity = WebUtil.GetFormObject <CustomerEntity>("Entity");
            List <CusAddressEntity> list   = WebUtil.GetFormObject <List <CusAddressEntity> >("List");
            string CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty);

            DataResult dataResult = new DataResult();

            if (entity.IsNull())
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "请填写客户信息";
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }
            if (list.IsNullOrEmpty())
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "请填写客户地址";
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }
            if (entity.CusName.IsEmpty())
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "请输入客户名";
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }
            entity.SnNum  = ConvertHelper.NewGuid();
            entity.CusNum = new TNumProvider(CompanyID).GetSwiftNum(typeof(CustomerEntity), 5);

            list.ForEach(a =>
            {
                a.SnNum      = a.SnNum.IsEmpty() ? ConvertHelper.NewGuid() : a.SnNum;
                a.CustomerSN = entity.SnNum;
            });

            CustomerProvider provider = new CustomerProvider(entity.CompanyID);
            int line = provider.AddCustomer(entity, list);

            if (line > 0)
            {
                dataResult.Code    = (int)EResponseCode.Success;
                dataResult.Message = "客户新增成功";
            }
            else
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "客户新增失败";
            }
            return(Content(JsonHelper.SerializeObject(dataResult)));
        }
        /// <summary>
        /// 编辑客户信息
        /// </summary>
        /// <returns></returns>
        public ActionResult Edit()
        {
            CustomerEntity          entity = WebUtil.GetFormObject <CustomerEntity>("Entity");
            List <CusAddressEntity> list   = WebUtil.GetFormObject <List <CusAddressEntity> >("List");

            DataResult dataResult = new DataResult();

            if (entity.IsNull())
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "请填写客户信息";
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }
            if (list.IsNullOrEmpty())
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "请填写客户地址";
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }
            if (entity.CusName.IsEmpty())
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "请输入客户名";
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }

            list.ForEach(a =>
            {
                a.SnNum      = a.SnNum.IsEmpty() ? ConvertHelper.NewGuid() : a.SnNum;
                a.CustomerSN = entity.SnNum;
            });
            CustomerProvider provider = new CustomerProvider(entity.CompanyID);
            int line = provider.Update(entity, list);;

            if (line > 0)
            {
                dataResult.Code    = (int)EResponseCode.Success;
                dataResult.Message = "客户编辑成功";
            }
            else
            {
                dataResult.Code    = (int)EResponseCode.Exception;
                dataResult.Message = "客户编辑失败";
            }
            return(Content(JsonHelper.SerializeObject(dataResult)));
        }
        public ActionResult Add()
        {
            string         SnNum  = WebUtil.GetQueryStringValue <string>("SnNum", string.Empty);
            CustomerEntity entity = null;
            ITopClient     client = new TopClientDefault();

            if (!SnNum.IsEmpty())
            {
                Dictionary <string, string> dic = new Dictionary <string, string>();

                dic.Add("CompanyID", CompanyID);
                dic.Add("SN", SnNum);

                string result = client.Execute(CustomerApiName.CustomerApiName_Single, dic);
                DataResult <CustomerEntity> dataResult = JsonConvert.DeserializeObject <DataResult <CustomerEntity> >(result);
                entity = dataResult.Result;
            }

            entity         = entity.IsNull() ? new CustomerEntity() : entity;
            ViewBag.Entity = entity;

            //加载客户地址
            if (!entity.SnNum.IsEmpty())
            {
                Dictionary <string, string> dic = new Dictionary <string, string>();

                dic.Add("CompanyID", CompanyID);
                dic.Add("CustomerSN", SnNum);
                string result = client.Execute(CustomerApiName.CustomerApiName_GetAddressList, dic);
                DataListResult <CusAddressEntity> dataResult  = JsonConvert.DeserializeObject <DataListResult <CusAddressEntity> >(result);
                List <CusAddressEntity>           listAddress = dataResult.Result;
                listAddress = listAddress.IsNull() ? new List <CusAddressEntity>() : listAddress;
                Session[SessionKey.SESSION_CUSTOMER_ADDRESS] = listAddress;
            }
            else
            {
                Session[SessionKey.SESSION_CUSTOMER_ADDRESS] = null;
            }
            ViewBag.CustomerType = EnumHelper.GetOptions <ECusType>(entity.CusType);

            return(View());
        }