예제 #1
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();
                    }
                }
            }
        }
예제 #2
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool UpdateEntity(TCusBase entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TCusBases.Update(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
예제 #3
0
 /// <summary>
 /// 添加实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool InsertEntity(TCusBase entity)
 {
     using (teaCRMDBContext db = new teaCRMDBContext())
     {
         int rows = db.TCusBases.Insert(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
예제 #4
0
 /// <summary>
 /// 删除实体
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 public bool DeleteEntity(Expression <Func <TCusBase, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         TCusBase entity = db.TCusBases.Where(predicate).First();
         int      rows   = db.TCusBases.Delete(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
예제 #5
0
        /// <summary>
        /// 修改信息  2014-11-05 20:23:33 By 唐有炜
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="TCusBase">TCusBase</param>
        /// <returns>添加状态</returns>
        public bool EditCusBase(TCusBase CusBase)
        {
            var status = false;

            try
            {
                status = TCusBaseDao.UpdateEntity(CusBase);
            }
            catch (Exception ex)
            {
                LogHelper.Error("获取CusBase失败。", ex);
                status = false;
            }

            return(status);
        }
예제 #6
0
 /// <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));
 }
예제 #7
0
 /// <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));
 }
예제 #8
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();
                    }
                }
            }
        }
예제 #9
0
        public ResponseMessage EditCustomer([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"));
            int    customerId = int.Parse(request.Params.Get("CustomerId"));

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

            //客户赋值==============================================
            //基本字段
            TCusBase CusBase = new TCusBase();

            CusBase.Id        = customerId;
            CusBase.CusNo     = request.Params.Get("CusNo");
            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("ConId") ?? "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 edit_status = false;

            edit_status = CustomerService.EditCustomer(customerId, CusBase, CusCon);
            if (edit_status)
            {
                rmsg.Status = edit_status;
                rmsg.Msg    = "客户修改成功!";
            }
            else
            {
                rmsg.Status = edit_status;
                rmsg.Msg    = "客户修改失败!";
            }

            return(rmsg);
        }