public List <IDGenCriteriaInfo> GetObjectByID(SqlTransaction objTransaction, IDGenCriteriaInfo objIDGenCriteriaInfo) { string pCompanyCode = String.Empty; pCompanyCode = objIDGenCriteriaInfo.CompanyCode_FK.ToString(); List <IDGenCriteriaInfo> objIDGenCriteriaInfoList = new List <IDGenCriteriaInfo>(); IDGenCriteriaInfo IDGenCriteriaInfo = new IDGenCriteriaInfo(); StringBuilder vComText = new StringBuilder(); vComText.Append("SELECT CriteriaCode,CAST(CriteriaID as NUMERIC) CriteriaID,CriteriaName,CompanyCode,UserCode,ActionDate,ActionType,CriteriaConditionText FROM LS_IDGenCriteria Where CompanyCode =" + pCompanyCode + ""); if (!string.IsNullOrEmpty(objIDGenCriteriaInfo.CriteriaCode_PK)) { vComText.Append(" AND CriteriaCode='" + objIDGenCriteriaInfo.CriteriaCode_PK + "'"); } else if (!string.IsNullOrEmpty(objIDGenCriteriaInfo.CriteriaID)) { vComText.Append(" AND CriteriaID='" + objIDGenCriteriaInfo.CriteriaID + "'"); } vComText.Append(" Order By CriteriaId"); SqlConnection connection = _supplierDbContext.GetConn(); connection.Open(); SqlDataReader dr; SqlCommand objDbCommand = new SqlCommand(vComText.ToString(), connection); dr = objDbCommand.ExecuteReader(); while (dr.Read()) { IDGenCriteriaInfo = new IDGenCriteriaInfo(); IDGenCriteriaInfo.IsNew = false; IDGenCriteriaInfo.CompanyCode_FK = Convert.ToInt16(dr["CompanyCode"]); IDGenCriteriaInfo.UserCode = dr["UserCode"].ToString(); IDGenCriteriaInfo.ActionDate = dr["ActionDate"].ToString(); IDGenCriteriaInfo.ActionType = dr["ActionType"].ToString(); IDGenCriteriaInfo.CriteriaCode_PK = dr["CriteriaCode"].ToString(); IDGenCriteriaInfo.CriteriaID = dr["CriteriaID"].ToString(); IDGenCriteriaInfo.CriteriaName = dr["CriteriaName"].ToString(); IDGenCriteriaInfo.CriteriaConditionText = dr["CriteriaConditionText"].ToString(); objIDGenCriteriaInfoList.Add(IDGenCriteriaInfo); } dr.Close(); if (objIDGenCriteriaInfoList.Count == 1) { IDGenCriteriaInfo.IDGenCriteriaConditionList_VW = GetCriteriaConditionList(objTransaction, IDGenCriteriaInfo); } return(objIDGenCriteriaInfoList); }
public string GenerateIDWithDate(SqlTransaction objTransaction, object objModel, EnumIdCategory pCriteriaId, DateTime pDateTime) { IDGenCriteriaInfo objIDGenCriteriaInfo = new IDGenCriteriaInfo(); objIDGenCriteriaInfo.CriteriaID = ((int)pCriteriaId).ToString(); PropertyInfo pi = objModel.GetType().GetProperty("CompanyCode_FK"); if (pi == null) { pi = objModel.GetType().GetProperty("CompanyCode"); objIDGenCriteriaInfo.CompanyCode_FK = Convert.ToInt32(pi.GetValue(objModel, null)); } else { objIDGenCriteriaInfo.CompanyCode_FK = (int)pi.GetValue(objModel, null); } List <IDGenCriteriaInfo> objIDGenCriteriaInfoList = GetObjectByID(objTransaction, objIDGenCriteriaInfo); StringBuilder sbGenId = new StringBuilder(); if (objIDGenCriteriaInfoList.Count > 0) { List <IDGenCriteriaCondition> objCriteriaConditionList = objIDGenCriteriaInfoList[0].IDGenCriteriaConditionList_VW; for (int i = 0; i < objCriteriaConditionList.Count; i++) { IDGenCriteriaCondition objCriteriaCondition = (IDGenCriteriaCondition)objCriteriaConditionList[i]; switch (objCriteriaCondition.ConditionType) { case "0": //"Business Object"; Type tp = objModel.GetType(); PropertyInfo objProperty = tp.GetProperty(objCriteriaCondition.ConditionValue.Split('.')[1].ToString()); if (objProperty != null) { string vText = objProperty.GetValue(objModel, null).ToString(); if (vText.Length > objCriteriaCondition.ConditionValueLength) { vText = vText.Substring(0, objCriteriaCondition.ConditionValueLength); } else { if (!string.IsNullOrEmpty(objCriteriaCondition.PaddingText)) { char PaddingText = objCriteriaCondition.PaddingText[0]; vText = vText.PadRight(objCriteriaCondition.ConditionValueLength, PaddingText); } else { vText = vText.PadLeft(objCriteriaCondition.ConditionValueLength, '0'); } } sbGenId.Append(vText); } break; case "2": //"System Year"; if (objCriteriaCondition.ConditionValueLength > 0) { string vYear = pDateTime.Year.ToString(); if (vYear.Length >= objCriteriaCondition.ConditionValueLength) { vYear = vYear.Substring(vYear.Length - objCriteriaCondition.ConditionValueLength, objCriteriaCondition.ConditionValueLength); sbGenId.Append(vYear); } else { sbGenId.Append(vYear); } } break; case "3": //"System Month"; if (objCriteriaCondition.ConditionValue.ToUpper() == "MMM") { sbGenId.Append(pDateTime.ToString("MMM")); } else if (objCriteriaCondition.ConditionValue.ToUpper() == "MM") { sbGenId.Append(pDateTime.ToString("MM")); } else { sbGenId.Append(pDateTime.ToString("MM")); } break; case "4": //"System Day"; //Bug Fixed [01-01-2012] By Bashar string tempDay = pDateTime.Day.ToString(); string tempDayPad = tempDay.PadLeft(tempDay.Length + 2, '0'); sbGenId.Append(tempDayPad.Substring(tempDayPad.Length - 2, 2)); //sbGenId.Append(DateTime.Now.Day.ToString()); break; case "5": //"System Hour"; sbGenId.Append(DateTime.Now.Hour.ToString()); break; case "6": //"System Min"; sbGenId.Append(DateTime.Now.Minute.ToString()); break; case "7": //"System Sec"; sbGenId.Append(DateTime.Now.Second.ToString()); break; case "8": //"Static Value"; sbGenId.Append(objCriteriaCondition.ConditionValue.ToString()); break; case "9": //"Auto Increment"; sbGenId = GetAutoIncrimentValue(objTransaction, objModel, objCriteriaCondition, sbGenId, objCriteriaConditionList, pDateTime); break; } } } return(sbGenId.ToString()); }
public List <IDGenCriteriaCondition> GetCriteriaConditionList(SqlTransaction objTransaction, IDGenCriteriaInfo objIDGenCriteriaInfo) { string pCompanyCode = String.Empty; pCompanyCode = objIDGenCriteriaInfo.CompanyCode_FK.ToString(); List <IDGenCriteriaCondition> CriteriaConditionList = new List <IDGenCriteriaCondition>(); IDGenCriteriaCondition objCriteriaCondition; if (!string.IsNullOrEmpty(objIDGenCriteriaInfo.CriteriaCode_PK)) { string vComText = @"SELECT * FROM LS_IDGenCriteriaCondition WHERE CompanyCode = " + pCompanyCode + " AND CriteriaCode='" + objIDGenCriteriaInfo.CriteriaCode_PK + "' And ActionType !='Delete' ORDER BY SortOrder"; SqlConnection connection = _supplierDbContext.GetConn(); connection.Open(); SqlDataReader dr; SqlCommand objDbCommand = new SqlCommand(vComText.ToString(), connection); dr = objDbCommand.ExecuteReader(); while (dr.Read()) { objCriteriaCondition = new IDGenCriteriaCondition(); objCriteriaCondition.IsNew = false; objCriteriaCondition.UserCode = dr["UserCode"].ToString(); objCriteriaCondition.CompanyCode_FK = Convert.ToInt16(dr["CompanyCode"]); objCriteriaCondition.ActionDate = dr["ActionDate"].ToString(); objCriteriaCondition.ActionType = dr["ActionType"].ToString(); objCriteriaCondition.ConditionCode_PK = dr["ConditionCode"].ToString(); objCriteriaCondition.SortOrder = Convert.ToInt16(dr["SortOrder"]); objCriteriaCondition.ConditionText = dr["ConditionText"].ToString(); objCriteriaCondition.ConditionType = dr["ConditionType"].ToString(); objCriteriaCondition.ConditionValue = dr["ConditionValue"].ToString(); objCriteriaCondition.ConditionValueLength = Convert.ToInt16(dr["ConditionValueLength"]); objCriteriaCondition.CriteriaCode_FK = dr["CriteriaCode"].ToString(); objCriteriaCondition.AutoIncrementCriteria = dr["AutoIncrementCriteria"].ToString(); objCriteriaCondition.PaddingText = dr["PaddingText"].ToString(); CriteriaConditionList.Add(objCriteriaCondition); } dr.Close(); } return(CriteriaConditionList); }