public Coderule CreateCoderule(Coderule info) { try { string sqlCommand = @"INSERT INTO ""CODERULE"" (""CODEPREFIX"",""RULENAME"",""ISNEEDCODEPREFIX"",""ISDEFAULT"",""STARTNUMBER"",""NUMBERWIDTH"",""YEARWIDTH"",""CURRENTNO"",""CURRENTSERIALNUMBER"") VALUES (:Codeprefix,:Rulename,:Isneedcodeprefix,:Isdefault,:Startnumber,:Numberwidth,:Yearwidth,:Currentno,:Currentserialnumber)"; this.Database.AddInParameter(":Codeprefix", info.Codeprefix);//DBType:VARCHAR2 this.Database.AddInParameter(":Rulename", info.Rulename);//DBType:NVARCHAR2 this.Database.AddInParameter(":Isneedcodeprefix", info.Isneedcodeprefix);//DBType:NUMBER this.Database.AddInParameter(":Isdefault", info.Isdefault);//DBType:NUMBER this.Database.AddInParameter(":Startnumber", info.Startnumber);//DBType:NUMBER this.Database.AddInParameter(":Numberwidth", info.Numberwidth);//DBType:NUMBER this.Database.AddInParameter(":Yearwidth", info.Yearwidth);//DBType:NUMBER this.Database.AddInParameter(":Currentno", info.Currentno);//DBType:NUMBER this.Database.AddInParameter(":Currentserialnumber", info.Currentserialnumber);//DBType:VARCHAR2 this.Database.ExecuteNonQuery(sqlCommand); } finally { this.Database.ClearParameter(); } return info; }
/// <summary> /// //�����ʽ��ǰ+��+��+��ˮ�ţ�3λ��,���磺201106001 /// </summary> /// <param name="codePreFix"></param> /// <returns></returns> public string GenerateCodeRule(string codePreFix,bool isDefaultYYYYMMDD) { if (string.IsNullOrEmpty(codePreFix)) { return string.Empty; } var codeRules = this.RetrieveCoderuleByCodeprefix(codePreFix); if (codeRules == null) { codeRules = new Coderule(); codeRules.Codeprefix = codePreFix; codeRules.Currentno = 0; //codeRules.Isneedcodeprefix = 1; codeRules.Isneedcodeprefix = true; codeRules.Isdefault = isDefaultYYYYMMDD; codeRules.Startnumber = 1; codeRules.Numberwidth = 4; try { this.BeginTransaction(); this.CreateCoderule(codeRules); this.Commit(); } catch{this.Rollback();} } var content = new StringBuilder(); //if (codeRules.Isneedcodeprefix==1) if (codeRules.Isneedcodeprefix) { content.Append(codeRules.Codeprefix); } //switch (codeRules.CodeMode) //{ // case CodeMode.Day: // if (codeRules.YearWidth == 4) // { if(codeRules.Isdefault) {content.Append(DateTime.Today.ToString("yyyyMMdd"));} // } // else // { // content.Append(DateTime.Today.ToString("yyMMdd")); // } // break; // case CodeMode.Month: // if (codeRules.YearWidth == 4) // { // content.Append(DateTime.Today.ToString("yyyyMM")); // } // else // { // content.Append(DateTime.Today.ToString("yyMM")); // } // break; // case CodeMode.Year: // if (codeRules.YearWidth == 4) // { // content.Append(DateTime.Today.ToString("yyyy")); // } // else // { // content.Append(DateTime.Today.ToString("yy")); // } // break; // default: // break; //} if (codeRules.Currentno == 0) { codeRules.Currentno = codeRules.Startnumber; } else { codeRules.Currentno += 1; } content.Append(ToLengthString((int)codeRules.Currentno, (int)codeRules.Numberwidth)); codeRules.Currentserialnumber = content.ToString(); this.UpdateCoderuleByCodeprefix(codeRules); return codeRules.Currentserialnumber; }
public Coderule UpdateCoderuleByCodeprefix(Coderule info) { try { this.Database.AddInParameter(":Codeprefix", info.Codeprefix);//DBType:VARCHAR2 this.Database.AddInParameter(":Rulename", info.Rulename);//DBType:NVARCHAR2 this.Database.AddInParameter(":Isneedcodeprefix", info.Isneedcodeprefix);//DBType:NUMBER this.Database.AddInParameter(":Isdefault", info.Isdefault);//DBType:NUMBER this.Database.AddInParameter(":Startnumber", info.Startnumber);//DBType:NUMBER this.Database.AddInParameter(":Numberwidth", info.Numberwidth);//DBType:NUMBER this.Database.AddInParameter(":Yearwidth", info.Yearwidth);//DBType:NUMBER this.Database.AddInParameter(":Currentno", info.Currentno);//DBType:NUMBER this.Database.AddInParameter(":Currentserialnumber", info.Currentserialnumber);//DBType:VARCHAR2 string sqlCommand = @"UPDATE ""CODERULE"" SET ""RULENAME""=:Rulename , ""ISNEEDCODEPREFIX""=:Isneedcodeprefix , ""ISDEFAULT""=:Isdefault , ""STARTNUMBER""=:Startnumber , ""NUMBERWIDTH""=:Numberwidth , ""YEARWIDTH""=:Yearwidth , ""CURRENTNO""=:Currentno , ""CURRENTSERIALNUMBER""=:Currentserialnumber WHERE ""CODEPREFIX""=:Codeprefix"; this.Database.ExecuteNonQuery(sqlCommand); } finally { this.Database.ClearParameter(); } return info; }