} //Барьцаа хайж жагсаалт авах public Result Txn601001(ClientInfo ci, RequestInfo ri, DbConnections db, ref Log lg) { Result res = null; DbConnection conn = null; try { #region Prepare parameters string pledgeno = Static.ToStr(ri.ReceivedParam[0]); int typeid = Static.ToInt(ri.ReceivedParam[1]); string docno = Static.ToStr(ri.ReceivedParam[2]); decimal custno = Static.ToDecimal(ri.ReceivedParam[3]); string custname = Static.ToStr(ri.ReceivedParam[4]); string phone = Static.ToStr(ri.ReceivedParam[5]); string memo = Static.ToStr(ri.ReceivedParam[6]); #endregion #region Шалгалт1 string sql = @"select p.pledgeno, p.custname, p.contact from pledgedoc p where p.custno=:1 and status=0"; object[] param = new object[] { custno }; res = db.ExecuteQuery("core", sql, enumCommandType.SELECT, "Txn601001", param); if (res != null && res.ResultNo != 0) { goto OnExit; } if (res.AffectedRows > 0) { DataTable dt = res.Data.Tables[0]; pledgeno = Static.ToStr(dt.Rows[0]["pledgeno"]); custname = Static.ToStr(dt.Rows[0]["custname"]); res.ResultNo = 6010011; res.ResultDesc = string.Format("[{0}] харилцагч [{1}-{2}] барьцаан дээр холбоотой байна! ", custno, pledgeno, custname); res.Data = null; goto OnExit; } #endregion #region Барьцааны шинэ дугаарлалт авах IPos.Core.AutoNumEnum enums = new IPos.Core.AutoNumEnum(); enums.Y = Static.ToStr(Static.ToDate(DateTime.Now).Year); enums.L = Static.ToStr(typeid); res = IPos.Core.SystemProp.gAutoNum.GetNextNumber(db, 8, "", enums); if (res != null && res.ResultNo != 0) { if (string.IsNullOrEmpty(res.ResultDesc)) { res.ResultNo = 9110068; res.ResultDesc = "Автомат дугаарлалтын хөрвүүлэлт дээр алдаа гарлаа. [ID:12]["; res.Param = null; res.Data = null; } goto OnExit; } pledgeno = res.ResultDesc; #endregion #region Барьцааг pledgedoc тэйбэлд бүртгэх conn = db.BeginTransaction("core", "Txn601001"); sql = @"insert into pledgedoc (pledgeno,doctype,docno,holddate,holduser,status,custno,custname,contact,memo) values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10)"; param = new object[] { pledgeno, typeid, docno, DateTime.Now, ri.UserNo, 0, custno, custname, phone, memo }; res = conn.ExecuteQuery(sql, enumCommandType.INSERT, "Txn601001", param); if (res != null && res.ResultNo != 0) { goto OnExit; } #endregion #region Харилцагчийг pledgemain тэйбэлд бүртгэх sql = @"insert into pledgemain (custno,pledgeno) values(:1,:2)"; param = new object[] { custno, pledgeno }; res = conn.ExecuteQuery(sql, enumCommandType.INSERT, "Txn601001", param); if (res != null && res.ResultNo != 0) { goto OnExit; } #endregion #region Барьцааны үндсэн харилцагчийг холбоотой үйлчлүүлэгчийн тэйбэлд оруулах ////sql = "insert into pledgemain(custno,pledgeno) values(:1,:2)"; //sql = "insert into customeriddevice(custno,parentno) values(:1,:2)"; //param = new object[] { custno, custno }; //res = conn.ExecuteQuery(sql, enumCommandType.INSERT, "Txn601001", param); //if (res.ResultNo == 1) //{ // //Хэрэв өмнө нь бичлэг үүссэн бол шууд ашиглана. // res.ResultNo = 0; // res.ResultDesc = ""; //} if (res.ResultNo == 0) { res.ResultDesc = pledgeno; } #endregion } catch (Exception ex) { res = new Result(9110002, "Програм руу нэвтрэхэд алдаа гарлаа" + ex.Message); } finally { if (conn != null) { if (res != null && res.ResultNo == 0) { conn.Commit(); } else { conn.Rollback(); } } } OnExit: return(res); } //Барьцаа шинээр үүсгэх
public Result Txn601001(ClientInfo ci, RequestInfo ri, DbConnections db, ref Log lg) { Result res = null; DbConnection conn = null; try { #region Prepare parameters string pledgeno = Static.ToStr(ri.ReceivedParam[0]); int typeid = Static.ToInt(ri.ReceivedParam[1]); string docno = Static.ToStr(ri.ReceivedParam[2]); decimal custno = Static.ToDecimal(ri.ReceivedParam[3]); string custname = Static.ToStr(ri.ReceivedParam[4]); string phone = Static.ToStr(ri.ReceivedParam[5]); string memo = Static.ToStr(ri.ReceivedParam[6]); #endregion #region New autonum for registeration IPos.Core.AutoNumEnum enums = new IPos.Core.AutoNumEnum(); enums.Y = Static.ToStr(Static.ToDate(DateTime.Now).Year); res = IPos.Core.SystemProp.gAutoNum.GetNextNumber(db, 8, enums); if (res.ResultNo != 0) { if (string.IsNullOrEmpty(res.ResultDesc)) { res.ResultNo = 9110068; res.ResultDesc = "Автомат дугаарлалтын хөрвүүлэлт дээр алдаа гарлаа. [ID:12]["; res.Param = null; res.Data = null; } goto OnExit; } #endregion #region Барьцааг pledgedoc тэйбэлд бүртгэх pledgeno = res.ResultDesc; conn = db.BeginTransaction("core", "Txn601001"); string sql = @"insert into pledgedoc (pledgeno,doctype,docno,holddate,holduser,status,custno,custname,contact,memo) values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10)"; object[] param = new object[] { pledgeno, typeid, docno, DateTime.Now, ri.UserNo, 0, custno, custname, phone, memo }; res = conn.ExecuteQuery(sql, enumCommandType.INSERT, "Txn601001", param); if (res.ResultNo != 0) { goto OnExit; } #endregion #region Барьцааны үндсэн харилцагчийг холбоотой үйлчлүүлэгчийн тэйбэлд оруулах sql = "insert into pledgemain(custno,pledgeno) values(:1,:2)"; param = new object[] { custno, pledgeno }; res = conn.ExecuteQuery(sql, enumCommandType.INSERT, "Txn601001", param); if (res.ResultNo == 0) { res.ResultDesc = pledgeno; } #endregion } catch (Exception ex) { res = new Result(9110002, "Програм руу нэвтрэхэд алдаа гарлаа" + ex.Message); } finally { if (conn != null) { if (res != null && res.ResultNo != 0) { conn.Commit(); } else { conn.Rollback(); } } } OnExit: return(res); } //Барьцаа шинээр үүсгэх
public Result GetNextNumber(DbConnections db, long ID, string Code, AutoNumEnum anumenum) { Result ret = new Result(); Hashtable hash = new Hashtable(); string newnumber = ""; try { if (_AutoNums.ContainsKey(Static.ToStr(ID) + "-" + Code)) { #region [ Хэрэв автомат дугаарлалтыг олох хувьсагч нь хоосон байвал алдаа өгдөг байна] string keys = Get(ID, Code).Keys; string mask = Get(ID, Code).Mask; string ch = ""; string key = ""; for (int i = 0; i < keys.Length; i++) { ch = keys.Substring(i, 1); switch (ch) { case "Y": key += Static.ToStr(anumenum.Y) + "-"; hash.Add("Y", Static.ToStr(anumenum.Y)); break; case "Q": key += Static.ToStr(anumenum.Q) + "-"; hash.Add("Q", Static.ToStr(anumenum.Q)); break; case "M": key += Static.ToStr(anumenum.M) + "-"; hash.Add("M", Static.ToStr(anumenum.M)); break; case "D": key += Static.ToStr(anumenum.D) + "-"; hash.Add("D", Static.ToStr(anumenum.D)); break; case "B": key += Static.ToStr(anumenum.B) + "-"; hash.Add("B", Static.ToStr(anumenum.B)); break; case "C": key += Static.ToStr(anumenum.C) + "-"; hash.Add("C", Static.ToStr(anumenum.C)); break; case "F": key += Static.ToStr(anumenum.F) + "-"; hash.Add("F", Static.ToStr(anumenum.F)); break; case "G": key += Static.ToStr(anumenum.G) + "-"; hash.Add("G", Static.ToStr(anumenum.G)); break; case "P": key += Static.ToStr(anumenum.P) + "-"; hash.Add("P", Static.ToStr(anumenum.P)); break; case "R": key += Static.ToStr(anumenum.R) + "-"; hash.Add("R", Static.ToStr(anumenum.R)); break; case "T": key += Static.ToStr(anumenum.T) + "-"; hash.Add("T", Static.ToStr(anumenum.T)); break; case "Z": key += Static.ToStr(anumenum.Z) + "-"; hash.Add("Z", Static.ToStr(anumenum.Z)); break; case "L": key += Static.ToStr(anumenum.L) + "-"; hash.Add("L", Static.ToStr(anumenum.L)); break; case "S": if (i == 0) { key = "-"; } break; default: { ret.ResultNo = 1; ret.ResultDesc = ch + "Ийм кодтой автомат дугаарлалтын элемент байхгүй байна"; return(ret); } } } #endregion #region [ Next дугаарыг олно ] long next = SystemProp.gAutoNumValue.GetNext(db, ID, Code, key); hash.Add("S", next); newnumber = ISM.Lib.Static.ToMask(mask, hash); ret.ResultNo = 0; ret.ResultDesc = newnumber; #endregion } else { ret.ResultNo = 1; ret.ResultDesc = Static.ToStr(ID) + "-" + Code + "Ийм дугаартай автомат дугаарлалт бүртгэгдээгүй байна"; } } catch (Exception ex) { EServ.Shared.Static.WriteToLogFile("ex=" + ex.ToString()); ret.ResultNo = 1; ret.ResultDesc = ex.Message; } return(ret); }