/// <summary>
 /// 修改客户信息 2014-09-21 14:58:50 By 唐有炜
 /// </summary>
 /// <param name="customerId">客户id</param>
 /// <param name="cusBase">客户信息</param>
 /// <param name="cusCon">主联系人信息</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
 public bool EditCustomer(int customerId, TCusBase cusBase, TCusCon cusCon)
 {
     return CusBaseDao.EditCustomer(customerId, cusBase, cusCon);
 }
 /// <summary>
 /// 添加客户信息 2014-08-30 14:58:50 By 唐有炜
 /// </summary>
 /// <param name="cusBase">客户信息</param>
 /// <param name="cusCon">主联系人信息</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
 public bool AddCustomer(TCusBase cusBase, TCusCon cusCon)
 {
     return CusBaseDao.AddCustomer(cusBase, cusCon);
 }
Example #3
0
        public ResponseMessage AddCustomer([FromBody] string value)
        {
            ResponseMessage rmsg = new ResponseMessage();
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; //获取传统context
            HttpRequestBase request = context.Request; //定义传统request对象

            //基本参数
            string compNum = request.Params.Get("CompNum");
            var userId = int.Parse(request.Params.Get("UserId"));

            //获取客户扩展字段信息
            customerExpandFields = CustomerService.GetCustomerExpandFields(compNum, CustomerMyappId);
            //获取联系人扩展字段信息
            contactExpandFields =
                CustomerService.GetContactExpandFields(compNum, ContactMyappId);

            //客户赋值==============================================
            //基本字段
            TCusBase CusBase = new TCusBase();
            CusBase.CusNo = RandomHelper.GetCustomerNumber();
            CusBase.CompNum = compNum;
            CusBase.CusName = request.Params.Get("CusName");
            CusBase.CusSname = request.Params.Get("CusSname") ?? "";
            CusBase.CusLastid = 0;
            CusBase.CusTel = request.Params.Get("CusTel") ?? "";
            CusBase.CusCity = String.Format("{0},{1},{2}", request.Params.Get("cus_province") ?? "0",
                request.Params.Get("cus_city") ?? "0", request.Params.Get("cus_region") ?? "0");
            CusBase.CusAddress = request.Params.Get("CusAddress") ?? "";
            CusBase.CusNote = request.Params.Get("CusNote") ?? "";
            CusBase.ConId = int.Parse(request.Params.Get("con_id") ?? "0");
            CusBase.UserId = userId;
            CusBase.ConTeam = "17,21";
            CusBase.ConIsPub = 0;
            CusBase.ConBack = 0;
            //扩展字段
            Dictionary<string, object> cusFields = new Dictionary<string, object>();
            for (int i = 0; i < request.Params.Count; i++)
            {
                var field = request.Params.GetKey(i);
                var fvalue = request.Params.Get(field);
                foreach (var field2 in customerExpandFields)
                {
                    if (field2.ExpIsSys == 0) //不是内置字段
                    {
                        if (field == NamingConversion.Default.PropertyName(field2.ExpName))
                        {
                            cusFields.Add(field, fvalue);
                        }
                    }
                }
            }
            //存储扩展字段的值
            CusBase.CusFields = JsonConvert.SerializeObject(cusFields);

            //========================================================================

            //主联系人赋值
            var conBir = request.Params.Get("ConBir");
            if (String.IsNullOrEmpty(request.Params.Get("ConBir")))
            {
                conBir = DateTime.Now.ToString();
            }
            TCusCon CusCon = new TCusCon()
            {
                CompNum = compNum,
                ConName = request.Params.Get("ConName") ?? "",
                ConTel = request.Params.Get("ConTel") ?? "",
                ConQq = request.Params.Get("ConQq") ?? "",
                ConEmail = request.Params.Get("ConEmail") ?? "",
                ConBir = DateTime.Parse(conBir),
                ConNote = request.Params.Get("ConNote") ?? "",
                ConIsMain = 1,
                UserId = userId
            };
            Dictionary<string, object> conFields = new Dictionary<string, object>();
            for (int i = 0; i < request.Params.Count; i++)
            {
                var field_con = request.Params.GetKey(i);
                var value_con = request.Params.Get(field_con);
                foreach (var field_con2 in contactExpandFields)
                {
                    if (field_con2.ExpIsSys == 0) //不是内置字段
                    {
                        if (field_con == NamingConversion.Default.PropertyName(field_con2.ExpName))
                        {
                            //LogHelper.Debug("联系人扩展字段:"+field_con);
                            conFields.Add(field_con, value_con);
                        }
                    }
                }
            }
            //存储扩展字段的值
            CusCon.ConFields = JsonConvert.SerializeObject(conFields);
            //==============================================================
            //
            //添加提交
            bool add_status = false;
            add_status = CustomerService.AddCustomer(CusBase, CusCon);
            if (add_status)
            {
                rmsg.Status = add_status;
                rmsg.Msg = "客户添加成功!";
            }
            else
            {
                rmsg.Status = add_status;
                rmsg.Msg = "客户添加失败!";
            }

            return rmsg;
        }
Example #4
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool UpadateEntity(TCusBase entity)
 {
     using (teaCRMDBContext db=new teaCRMDBContext())
     {
        int rows= db.TCusBases.Update(entity);
        if (rows > 0)
         {
             return true;
         }
         else
         {
             return false;
         }
     }
 }
Example #5
0
        /// <summary>
        /// 修改客户信息 2014-09-21 14:58:50 By 唐有炜
        /// </summary>
        /// <param name="customerId">客户id</param>
        /// <param name="CusBase">客户信息</param>
        /// <param name="CusCon">主联系人信息</param>
        /// <returns></returns>
        public bool EditCustomer(int customerId, TCusBase CusBase, TCusCon CusCon)
        {
            using (teaCRMDBContext db = new teaCRMDBContext())
            {
                if (db.Connection.State != ConnectionState.Open)
                {
                    db.Connection.Open();
                }
                var tran = db.Connection.BeginTransaction();
                try
                {
                    //数据库操作
                    LogHelper.Info("修改客户事务开始...");
                    //更新客户
                    UpadateEntity(CusBase);
                    //更新联系人
                    db.TCusCons.Update(CusCon);

                    #region 更新主联系人

                    string strSqlCusConUpdate = @"UPDATE T_cus_base SET con_id=@con_id
WHERE id=@id";
                    LogHelper.Debug("update T_cus_base Sql," + strSqlCusConUpdate.ToString());
                    //添加参数
                    IDictionary<string, object> namedParametersCusConUpdate = new Dictionary<string, object>();
                    namedParametersCusConUpdate.Add(new KeyValuePair<string, object>("@con_id", CusBase.ConId));
                    namedParametersCusConUpdate.Add(new KeyValuePair<string, object>("@id", customerId));
                    db.DbHelper.ExecuteNonQuery(strSqlCusConUpdate, namedParametersCusConUpdate);

                    #endregion

                    tran.Commit();
                    //数据库操作
                    LogHelper.Info("修改客户事务结束...");
                    return true;
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    LogHelper.Error("修改客户事务执行失败,", ex);
                    return false;
                }
                finally
                {
                    if (db.Connection.State != ConnectionState.Closed)
                    {
                        db.Connection.Close();
                    }
                }
            }
        }
Example #6
0
        /// <summary>
        /// 添加客户信息 2014-08-30 14:58:50 By 唐有炜
        /// </summary>
        /// <param name="CusBase">客户信息</param>
        /// <param name="CusCon">主联系人信息</param>
        /// <returns></returns>
        public bool AddCustomer
            (TCusBase CusBase, TCusCon CusCon)
        {
            using (teaCRMDBContext db = new teaCRMDBContext())
            {
                if (db.Connection.State != ConnectionState.Open)
                {
                    db.Connection.Open();
                }
                var tran = db.Connection.BeginTransaction();
                try
                {
                    //数据库操作
                    LogHelper.Info("添加客户事务开始...");

                    #region 添加客户信息

                    //添加主表数据,并返回id
                    string strSqlCus = @"
INSERT INTO teacrm.dbo.t_cus_base
  (
    cus_no,
    comp_num,
    cus_name,
    cus_sname,
    cus_lastid,
    cus_tel,
    cus_city,
    cus_address,
    cus_note,
    con_id,
    USER_ID,
    con_team,
    con_is_pub,
    con_back,
    cus_fields
  )
VALUES
  (
    @cus_no,
    @comp_num,
    @cus_name,
    @cus_sname,
    @cus_lastid,
    @cus_tel,
    @cus_city,
    @cus_address,
    @cus_note,
    @con_id,
    @USER_ID,
    @con_team,
    @con_is_pub,
    @con_back,
    @cus_fields
  )
; SELECT SCOPE_IDENTITY();";
                    LogHelper.Info("addCusBaseSql," + strSqlCus);
                    //添加参数
                    IDictionary<string, object> namedParametersCus = new Dictionary<string, object>();
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_no", CusBase.CusNo));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@comp_num", CusBase.CompNum));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_name", CusBase.CusName));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_sname", CusBase.CusSname));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_lastid", CusBase.CusLastid));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_tel", CusBase.CusTel));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_city", CusBase.CusCity));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_address", CusBase.CusAddress));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_note", CusBase.CusNote));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@con_id", CusBase.ConId));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@USER_ID", CusBase.UserId));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@con_team", CusBase.ConTeam));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@con_is_pub", CusBase.ConIsPub));
                    namedParametersCus.Add(new KeyValuePair<string, object>("@con_back", CusBase.ConBack));
                    //扩展字段
                    namedParametersCus.Add(new KeyValuePair<string, object>("@cus_fields", CusBase.CusFields));

                    int indentity = Convert.ToInt32(db.DbHelper.ExecuteScalar(strSqlCus, namedParametersCus));
                    LogHelper.Info("刚插入的客户id为:" + indentity);

                    #endregion

                    #region 添加联系人信息

                    //添加主表数据,并返回id
                    string strSqlCon = @"
INSERT INTO teacrm.dbo.t_cus_con
           (cus_id
           ,comp_num
           ,con_name
           ,con_tel
           ,con_qq
           ,con_email
           ,con_bir
           ,con_note
           ,con_is_main
           ,user_id
           ,con_fields
)
     VALUES
           (
            @cus_id
           ,@comp_num
           ,@con_name
           ,@con_tel
           ,@con_qq
           ,@con_email
           ,@con_bir
           ,@con_note
           ,@con_is_main
           ,@user_id
           ,@con_fields
)
; SELECT SCOPE_IDENTITY();
";
                    LogHelper.Info("addCusConSql," + strSqlCon);
                    //添加参数
                    IDictionary<string, object> namedParametersCon = new Dictionary<string, object>();
                    namedParametersCon.Add("@cus_id", indentity);
                    namedParametersCon.Add(new KeyValuePair<string, object>("@comp_num", CusCon.CompNum));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_name", CusCon.ConName));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_tel", CusCon.ConTel));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_qq", CusCon.ConQq));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_email", CusCon.ConEmail));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_bir", CusCon.ConBir));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_note", CusCon.ConNote));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_is_main", CusCon.ConIsMain));
                    namedParametersCon.Add(new KeyValuePair<string, object>("@user_id", CusCon.UserId));
                    //扩展字段
                    namedParametersCon.Add(new KeyValuePair<string, object>("@con_fields", CusCon.ConFields));


                    int indentityCon = int.Parse(db.DbHelper.ExecuteScalar(strSqlCon, namedParametersCon).ToString());
                    LogHelper.Info("主联系人主表已插入。该联系人的id:" + indentityCon);

                    #endregion

                    #region 更新主联系人

                    string strSqlCusConUpdate = @"UPDATE T_cus_base SET con_id=@con_id
WHERE id=@id";
                    LogHelper.Debug("update T_cus_base Sql," + strSqlCusConUpdate.ToString());
                    //添加参数
                    IDictionary<string, object> namedParametersCusConUpdate = new Dictionary<string, object>();
                    namedParametersCusConUpdate.Add(new KeyValuePair<string, object>("@con_id", indentityCon));
                    namedParametersCusConUpdate.Add(new KeyValuePair<string, object>("@id", indentity));
                    db.DbHelper.ExecuteNonQuery(strSqlCusConUpdate, namedParametersCusConUpdate);

                    #endregion

                    tran.Commit();
                    //数据库操作
                    LogHelper.Info("添加客户事务结束...");
                    return true;
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    LogHelper.Error("客户事务执行失败,", ex);
                    return false;
                }
                finally
                {
                    if (db.Connection.State != ConnectionState.Closed)
                    {
                        db.Connection.Close();
                    }
                }
            }
        }