Example #1
0
        /// <summary>
        /// 修改销售订单
        /// </summary>
        /// <param name="sale_order"></param>
        /// <param name="udfValue"></param>
        /// <param name="user_id"></param>
        /// <returns></returns>
        public ERROR_CODE EditSaleOrder(crm_sales_order sale_order, List <UserDefinedFieldValue> udfValue, long user_id)
        {
            if (sale_order.status_id == 0 || sale_order.contact_id == 0 || sale_order.owner_resource_id == 0)
            {
                return(ERROR_CODE.PARAMS_ERROR);
            }
            if (sale_order.begin_date.ToString("yyyy-MM-dd") == "0001-01-01" || sale_order.end_date == null || ((DateTime)sale_order.end_date).ToString("yyyy-MM-dd") == "0001-01-01")
            {
                return(ERROR_CODE.PARAMS_ERROR);
            }
            var user = UserInfoBLL.GetUserInfo(user_id);

            if (user == null)
            {
                return(ERROR_CODE.USER_NOT_FIND);
            }

            var old_sale_order = new crm_sales_order_dal().GetSingleSalesOrderByWhere($" and id= {sale_order.id}");

            sale_order.oid            = old_sale_order.oid;
            sale_order.opportunity_id = old_sale_order.opportunity_id;
            sale_order.create_user_id = old_sale_order.create_user_id;
            sale_order.create_time    = old_sale_order.create_time;
            sale_order.update_user_id = user.id;
            sale_order.update_time    = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now);
            _dal.Update(sale_order);

            new sys_oper_log_dal().Insert(new sys_oper_log()
            {
                user_cate           = "用户",
                user_id             = user_id,
                name                = user.name,
                phone               = user.mobile == null ? "" : user.mobile,
                oper_time           = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now),
                oper_object_cate_id = (int)OPER_LOG_OBJ_CATE.SALE_ORDER,
                oper_object_id      = sale_order.id,// 操作对象id
                oper_type_id        = (int)OPER_LOG_TYPE.UPDATE,
                oper_description    = _dal.CompareValue(old_sale_order, sale_order),
                remark              = "修改销售订单"
            });



            // 销售订单自定义

            var udf_sales_list = new UserDefinedFieldsBLL().GetUdf(DicEnum.UDF_CATE.SALES);

            new UserDefinedFieldsBLL().UpdateUdfValue(DicEnum.UDF_CATE.SALES, udf_sales_list, sale_order.id, udfValue, user, OPER_LOG_OBJ_CATE.SALE_ORDER);


            return(ERROR_CODE.SUCCESS);
        }