/// <summary> /// 申请一个参数标识号 /// </summary> /// <param name="paramID">输出参数,申请到的参数标识号</param> /// <returns>IRAP系统通用错误对象,如果其中的ErrCode:0-执行成功;非0执行失败</returns> private IRAPError RequestParameterID(out int paramID) { #region 获取 ParameterID string sequenceName = "NextParameterID"; SequenceValueDTO rtnSequence = IRAPSequence.GetSequence(sequenceName, 1); if (rtnSequence.ErrCode != 0) { string msg = rtnSequence.ErrText; Log.InstanceID.WriteMsg <IRAPParameterSet>(Enums.LogType.ERROR, msg); paramID = 0; return (new IRAPError() { ErrCode = 9999, ErrText = rtnSequence.ErrText, }); } else { paramID = (int)rtnSequence.SequenceValue; Log.InstanceID.WriteMsg <IRAPParameterSet>( Enums.LogType.DEBUG, $"获得ParameterID={paramID}"); return (new IRAPError() { ErrCode = 0, ErrText = "申请参数标识成功", }); } #endregion }
/// <summary> /// 申请事实编号,如有错误会抛出异常,请捕捉异常 /// </summary> /// <param name="cnt">申请数量</param> /// <returns>事实编号</returns> public long GetFactNo(int cnt = 1) { var resDTO = IRAPSequence.GetSequence("NextFactNo", cnt); if (resDTO.ErrCode != 0) { throw new Exception(resDTO.ErrText); } return(resDTO.SequenceValue); }
/// <summary> /// 申请序列号 /// </summary> /// <param name="seqName">序列名称</param> /// <param name="cnt">申请数量</param> /// <returns></returns> public long GetSequenceValue(string seqName, int cnt = 1) { SequenceValueDTO error = IRAPSequence.GetSequence(seqName, cnt); if (error.ErrCode != 0) { throw new Exception($"申请序列号异常:{error.ErrText}"); } return(error.SequenceValue); }
/// <summary> /// 新增一个名称,并返回名称标识 /// </summary> /// <param name="communityID">社区标识</param> /// <param name="nameDescription">名称</param> /// <param name="languageID">语言标识 (默认: 30 简体中文) </param> /// <param name="nameID">名称标识(返回)</param> /// <returns>名称标识</returns> public IRAPError Add( int communityID, string nameDescription, int languageID, out int nameID) { nameID = FindNameID( communityID, nameDescription, languageID); if (nameID != 0) { return (new IRAPError() { ErrCode = 0, ErrText = "名称已存在,直接返回该名称的标识", }); } else { Repository <BizNameSpaceEntity> names = null; try { names = GetRepository(); } catch (Exception error) { string msg = $"获取[BizNameSpaceEntity]资源库的时候发生错误: {error.Message}"; Console.WriteLine(msg); return (new IRAPError() { ErrCode = 9999, ErrText = msg, }); } #region 获取 nameID string sequenceName = "NextNameID"; SequenceValueDTO rtnSequence = IRAPSequence.GetSequence(sequenceName, 1); if (rtnSequence.ErrCode != 0) { string msg = rtnSequence.ErrText; Console.WriteLine(msg); return (new IRAPError() { ErrCode = 9999, ErrText = rtnSequence.ErrText, }); } else { nameID = (int)rtnSequence.SequenceValue; } #endregion BizNameSpaceEntity entity = new BizNameSpaceEntity() { PartitioningKey = communityID * 10000, LanguageID = (short)languageID, NameDescription = nameDescription, NameID = nameID, }; try { names.Insert(entity); names.SaveChanges(); } catch (Exception error) { string msg = $"保存名称的时候发生错误:{error.Message}"; Console.WriteLine(msg); return (new IRAPError() { ErrCode = 9999, ErrText = msg, }); } return (new IRAPError() { ErrCode = 0, ErrText = "保存名称成功", }); } }