public BaseResult AddContactor(int userId, Contactor contactor, int compId) { var rs = new BaseResult { State = false, Value = -1, Desc = "数据操作层初始化" }; if (userId <= 0) { rs.Failed(-101, "userId无效"); return rs; } if (contactor.Equals(null)) { rs.Failed(-101, "contactor无效"); return rs; } _desc = "某个终端客户添加一个联系人,含分组,联系方式"; _procName = "UP_Addr_Contactor_AddContactor"; _methodName = MethodBase.GetCurrentMethod().Name; _log = new LogBuilder { Method = string.Format("类[{0}]方法[{1}]", ClassName, _methodName), Desc = _desc, Database = _databaseName, StroreProcedure = _procName }; _log.Append("userId", userId); try { //联系方式xml var wayClass = new XMLContactWayClass { XmlContactWay = contactor.CWays.Select( way => new XmlContactWay { ContactWayType = way.ContactWayType, Way = way.Way }).ToArray() }; var wayData = XmlHelper.XmlSerializer<XMLContactWayClass>(wayClass); wayData = wayData.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", ""); //分组xml var groupClass = new XMLContactGroupClass { XmlContactGroup = contactor.CGroups.Select( @group => new XmlContactGroup { ContactorGroupID = @group.ContactorGroupID }).ToArray() }; var groupData = XmlHelper.XmlSerializer<XMLContactGroupClass>(groupClass); groupData = groupData.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", ""); var parameters = new[] { _addrDatabase.MakeInParam("@userId", SqlDbType.Int, 4, userId), _addrDatabase.MakeInParam("@CompID", SqlDbType.Int, 4, compId), _addrDatabase.MakeInParam("@Name", SqlDbType.VarChar, 20, contactor.ContactorName), _addrDatabase.MakeInParam("@ContactWay", SqlDbType.Xml, int.MaxValue, wayData), _addrDatabase.MakeInParam("@ContactGroup", SqlDbType.Xml, int.MaxValue, groupData), _addrDatabase.MakeInParam("@ConfParticipatePhoneNo",SqlDbType.VarChar,50,contactor.ConfParticipatePhoneNo) }; _addrDatabase.ExecuteProc(_procName, parameters, out _result); if (_result != 0) { rs.Failed(-2, "todo"); return rs; } } catch (Exception ex) { rs.Failed(-1, ex.ToString()); _log.Exception = string.Format("{0},发生异常:{1}", _desc, ex.Message); _log.Error(); return rs; } finally { _addrDatabase.Close();//仅显式关闭链接,不做其它操作 } rs.Success(); return rs; }
public BaseResult SetContactorGroups(int userId, List<ContactorGroup> groups, int contactorID, int compId) { var rs = new BaseResult { State = false, Value = -1, Desc = "数据操作层初始化" }; if (userId <= 0) { rs.Failed(-101, "userId无效"); return rs; } if (groups.Equals(null)) { rs.Failed(-102, "groups无效"); return rs; } if (contactorID <= 0) { rs.Failed(-102, "contactorID无效"); return rs; } _desc = "更新单个联系人与多个联系组之间的所属关系(加入到组或从组中退出)"; _procName = "UP_Addr_Contactor_AddSingleToCGroups"; _methodName = MethodBase.GetCurrentMethod().Name; _log = new LogBuilder { Method = string.Format("类[{0}]方法[{1}]", ClassName, _methodName), Desc = _desc, Database = _databaseName, StroreProcedure = _procName }; _log.Append("userId", userId); _log.Append(" List<MODEL.Addr.ContactorGroup>", groups); _log.Append("contactorID", contactorID); try { //分组xml var groupClass = new XMLContactGroupClass { XmlContactGroup = groups.Select( @group => new XmlContactGroup { ContactorGroupID = @group.ContactorGroupID }).ToArray() }; var groupData = XmlHelper.XmlSerializer<XMLContactGroupClass>(groupClass); groupData = groupData.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", ""); var parameters = new[] { _addrDatabase.MakeInParam("@userId", SqlDbType.Int, 4, userId), _addrDatabase.MakeInParam("@CompID", SqlDbType.Int, 4, compId), _addrDatabase.MakeInParam("@ContactorID", SqlDbType.Int, 4, contactorID), _addrDatabase.MakeInParam("@ContactorGroupIDList", SqlDbType.Xml, int.MaxValue, groupData) }; _addrDatabase.ExecuteProc(_procName, parameters, out _result); if (_result != 0) { rs.Failed(-2, "todo"); return rs; } } catch (Exception ex) { rs.Failed(-1, ex.ToString()); _log.Exception = string.Format("{0},发生异常:{1}", _desc, ex.Message); _log.Error(); return rs; } finally { _addrDatabase.Close();//仅显式关闭链接,不做其它操作 } rs.Success(); return rs; }