/// <summary> /// NumberGenerationType 0 then Admission Number /// NumberGenerationType 1 then Application Number /// Admission Number then param AppNo /// Application Number then param Semester,degreecode,collegecode,batchyear,seattype /// </summary> /// <param name="NumberGenerationType"> </param> /// <param name="Semester"></param> /// <param name="DegreeCode"></param> /// <param name="CollegeCode"></param> /// <param name="BatchYear"></param> /// <param name="SeatType"></param> /// <param name="appno"></param> /// <returns></returns> public string AdmissionNoAndApplicationNumberGeneration(int NumberGenerationType = 0, string Semester = "", string DegreeCode = "", string CollegeCode = "", string BatchYear = "", string SeatType = "", string appno = null, string Mode = null) { try { d2 = new InsproDirectAccess(); sp = new InsproStoreAccess(); StringBuilder sb = new StringBuilder(); DataSet ds = new DataSet(); DataSet autoGenDS = new DataSet(); string admissionNo = string.Empty; string GenerationNo = string.Empty; string GenerationNum = string.Empty; string query = string.Empty; string RunningSeries = string.Empty; /*if (NumberGenerationType == 0) * { * DataTable GetStudCollegeCode = d2.selectDataTable("select college_code from applyn where app_no='" + appno + "'"); * if (GetStudCollegeCode.Rows.Count > 0) * CollegeCode = Convert.ToString(GetStudCollegeCode.Rows[0]["college_code"]); * query = "select d.Acronym as degreeAcr,c.Coll_acronymn,a.current_semester,rtrim(ltrim(regcode))DegreeRegcode,a.degree_code,a.batch_year,c.acr,a.college_code,t.textval as SeatType,priority2 as SeatTypeNo from degree d,collinfo c,applyn a left join textvaltable t on a.college_code=t.college_code and TextCriteria='seat ' and a.seattype=t.TextCode where a.degree_code=d.Degree_Code and a.college_code=d.college_code and c.college_code=a.college_code and a.app_no='" + appno + "'";//a.degree_code * } * if (NumberGenerationType == 1) * { * query = "select d.Acronym as degreeAcr,c.Coll_acronymn,'" + Semester + "' current_semester,rtrim(ltrim(regcode))DegreeRegcode,'" + BatchYear + "' batch_year,c.acr'" + CollegeCode + "' college_code,t.textval as SeatType,priority2 as SeatTypeNo,d.degree_code from degree d,collinfo c left join textvaltable t on c.college_code=t.college_code and TextCriteria='seat ' where d.college_code=c.college_code and d.Degree_Code='" + DegreeCode + "' and c.college_code='" + CollegeCode + "' and t.TextCode='" + SeatType + "'";//'" + DegreeCode + "'degree_code * } * query += " select NumberLength,DifferentRange,HeaderCode,MasterValue,PrefixOrSufix,StartNo,t.MasterCriteria1,NumberType,g.collegeCode,MasterCriteria1 from AdmissionNoGeneration G,CO_MasterValues t where g.HeaderCode=t.MasterCode and g.collegecode='" + CollegeCode + "' and NumberType='" + NumberGenerationType + "' order by frange,trange"; * ds = d2.selectDataSet(query);*/ Dictionary <string, string> ParametersDic = new Dictionary <string, string>(); ParametersDic.Add("@NumberType", Convert.ToString(NumberGenerationType)); ParametersDic.Add("@AppNo", appno); ParametersDic.Add("@BatchYear", BatchYear); ParametersDic.Add("@Semester", Semester); ParametersDic.Add("@DegreeCode", DegreeCode); ParametersDic.Add("@SeattypeNo", SeatType); ParametersDic.Add("@CollegeCode", CollegeCode); ds = sp.selectDataSet("AdmissionNumberGeneration", ParametersDic); if (ds.Tables[1].Rows.Count > 0 && ds.Tables[0].Rows.Count > 0) { string CodeValue = string.Empty; string Code = string.Empty; int StartNo = 0; if (NumberGenerationType == 0) { foreach (DataRow dr in ds.Tables[0].Rows) { //==========Rajkumar 7/3/2018 if (string.IsNullOrEmpty(DegreeCode)) { DegreeCode = Convert.ToString(dr["degree_code"]); } if (string.IsNullOrEmpty(CollegeCode)) { CollegeCode = Convert.ToString(dr["college_code"]); } if (string.IsNullOrEmpty(SeatType)) { SeatType = Convert.ToString(dr["SeatTypeNo"]); } if (string.IsNullOrEmpty(Semester)) { Semester = Convert.ToString(dr["current_semester"]); } if (string.IsNullOrEmpty(BatchYear)) { BatchYear = Convert.ToString(dr["batch_year"]); } //Lateral Entry or Transfer if (!string.IsNullOrEmpty(Mode)) { if (Mode == "2" || Mode == "3") { int Lateralyear = 0; int.TryParse(BatchYear, out Lateralyear); BatchYear = Convert.ToString(Lateralyear + 1); } } } } ParametersDic.Clear(); ParametersDic.Add("@NumberType", Convert.ToString(NumberGenerationType)); ParametersDic.Add("@BatchYear", BatchYear); ParametersDic.Add("@Semester", Semester); ParametersDic.Add("@DegreeCode", DegreeCode); ParametersDic.Add("@SeattypeNo", SeatType); ParametersDic.Add("@CollegeCode", CollegeCode); autoGenDS = sp.selectDataSet("AdmissionNumberGenerationSettings", ParametersDic); if (autoGenDS.Tables[0].Rows.Count == 0) { foreach (DataRow dr in ds.Tables[1].Rows) { int MasterCriteriaValue = 0; int PrefixSuffix = 0; int rangeDiff = 0; int Length = 0; string Value = string.Empty; CodeValue = string.Empty; int.TryParse(Convert.ToString(dr["MasterCriteria1"]), out MasterCriteriaValue); int.TryParse(Convert.ToString(dr["PrefixOrSufix"]), out PrefixSuffix); int.TryParse(Convert.ToString(dr["DifferentRange"]), out rangeDiff); #region Code Generation switch (MasterCriteriaValue) { case 1: Value = Convert.ToString(ds.Tables[0].Rows[0]["Coll_acronymn"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 2: Value = Convert.ToString(ds.Tables[0].Rows[0]["acr"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 3: Value = Convert.ToString(ds.Tables[0].Rows[0]["SeatTypeNo"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { CodeValue = Convert.ToString(ds.Tables[0].Rows[0]["SeatTypeNo"]); } else { sb.Append("Cannot form the digit The range is greater"); } break; case 4: Value = Convert.ToString(ds.Tables[0].Rows[0]["degreeAcr"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 5: Value = Convert.ToString(ds.Tables[0].Rows[0]["DegreeRegcode"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 6: string year = Convert.ToString(ds.Tables[0].Rows[0]["current_semester"]); CodeValue = returnYearforSem(year); break; case 7: Value = Convert.ToString(ds.Tables[0].Rows[0]["batch_year"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } if (!string.IsNullOrEmpty(Mode)) { if (Mode == "2" || Mode == "3") { int Lateralyear = 0; int.TryParse(CodeValue, out Lateralyear); CodeValue = Convert.ToString(Lateralyear + 1); } } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 8: CodeValue = Convert.ToString(ds.Tables[0].Rows[0]["current_semester"]); break; case 9: Code = admissionNo; int.TryParse(Convert.ToString(dr["StartNo"]), out StartNo); //RunningSeries = StartNo.ToString().PadLeft(rangeDiff+1, '0'); RunningSeries = generateApplicationNumber(StartNo, rangeDiff); //RunningSeries = StartNo; //+ 1; CodeValue = RunningSeries; break; } #endregion admissionNo += CodeValue; GenerationNo += Code; } } else { RunningSeries = Convert.ToString(autoGenDS.Tables[0].Rows[0]["RunningSeries"]); GenerationNum = Convert.ToString(autoGenDS.Tables[0].Rows[0]["GenerationNumber"]); int Runlen = 0; int RunningSerial = 0; int.TryParse(Convert.ToString(autoGenDS.Tables[0].Rows[0]["RunningSeriesLength"]), out Runlen); int.TryParse(RunningSeries, out RunningSerial); RunningSeries = generateApplicationNumber(RunningSerial, Runlen); admissionNo = Convert.ToString(GenerationNum + RunningSeries); } ParametersDic.Clear(); ParametersDic.Add("@NumberType", Convert.ToString(NumberGenerationType)); ParametersDic.Add("@BatchYear", BatchYear); ParametersDic.Add("@Semester", Semester); ParametersDic.Add("@DegreeCode", DegreeCode); ParametersDic.Add("@SeattypeNo", SeatType); ParametersDic.Add("@CollegeCode", CollegeCode); ParametersDic.Add("@RunningSeries", RunningSeries); ParametersDic.Add("@StartNo", Convert.ToString(StartNo)); ParametersDic.Add("@GenerateNo", GenerationNo); sp.insertData("AdmissionNumberGenerationUpdate", ParametersDic); } return(admissionNo); } catch (Exception e) { da.sendErrorMail(e, Convert.ToString(CollegeCode), "AdmissionNumber Genderation"); return(" "); } }
public string AdmissionNoAndApplicationNumberGeneration(int NumberGenerationType = 0, string Semester = "", string DegreeCode = "", string CollegeCode = "", string BatchYear = "", string SeatType = "", string appno = null) { try { dirAccess = new InsproDirectAccess(); StringBuilder sb = new StringBuilder(); DataSet ds = new DataSet(); DataSet autoGenDS = new DataSet(); string admissionNo = string.Empty; string GenerationNo = string.Empty; string GenerationNum = string.Empty; string query = string.Empty; string RunningSeries = string.Empty; if (NumberGenerationType == 0) { DataTable GetStudCollegeCode = dirAccess.selectDataTable("select college_code from applyn where app_no='" + appno + "'"); if (GetStudCollegeCode.Rows.Count > 0) { CollegeCode = Convert.ToString(GetStudCollegeCode.Rows[0]["college_code"]); } query = "select d.Acronym as degreeAcr,c.Coll_acronymn,a.current_semester,rtrim(ltrim(regcode))DegreeRegcode,a.degree_code,a.batch_year,c.acr,a.college_code,t.textval as SeatType,priority2 as SeatTypeNo from degree d,collinfo c,applyn a left join textvaltable t on a.college_code=t.college_code and TextCriteria='seat ' and a.seattype=t.TextCode where a.degree_code=d.Degree_Code and a.college_code=d.college_code and c.college_code=a.college_code and a.app_no='" + appno + "'";//a.degree_code } if (NumberGenerationType == 1) { query = "select d.Acronym as degreeAcr,c.Coll_acronymn,'" + Semester + "' current_semester,rtrim(ltrim(regcode))DegreeRegcode,'" + BatchYear + "' batch_year,c.acr'" + CollegeCode + "' college_code,t.textval as SeatType,priority2 as SeatTypeNo,a.degree_code from degree d,collinfo c left join textvaltable t on c.college_code=t.college_code and TextCriteria='seat ' where d.college_code=c.college_code and d.Degree_Code='" + DegreeCode + "' and c.college_code='" + CollegeCode + "' and t.TextCode='" + SeatType + "'";//'" + DegreeCode + "'degree_code } query += " select NumberLength,DifferentRange,HeaderCode,MasterValue,PrefixOrSufix,StartNo,t.MasterCriteria1,NumberType,g.collegeCode,MasterCriteria1 from AdmissionNoGeneration G,CO_MasterValues t where g.HeaderCode=t.MasterCode and g.collegecode='" + CollegeCode + "' and NumberType='" + NumberGenerationType + "' order by frange,trange"; ds = dirAccess.selectDataSet(query); if (ds.Tables[1].Rows.Count > 0 && ds.Tables[0].Rows.Count > 0) { string CodeValue = string.Empty; string Code = string.Empty; int StartNo = 0; if (NumberGenerationType == 0) { foreach (DataRow dr in ds.Tables[0].Rows) { Semester = Convert.ToString(dr["current_semester"]); DegreeCode = Convert.ToString(dr["degree_code"]); BatchYear = Convert.ToString(dr["batch_year"]); CollegeCode = Convert.ToString(dr["college_code"]); SeatType = Convert.ToString(dr["SeatTypeNo"]); } } query = " select GenerationNumber, case when isnull(RunningSeries,'')='' then StartSeries+1 else RunningSeries+1 end RunningSeries,len(RunningSeries) as RunningSeriesLength from AdmissionNoGenerationCode where NumberType='" + NumberGenerationType + "' and BatchYear ='" + BatchYear + "' and Semester ='" + Semester + "' and DegreeCode ='" + DegreeCode + "' and SeatTypeNo ='" + SeatType + "' and CollegeCode ='" + CollegeCode + "'"; autoGenDS = dirAccess.selectDataSet(query); if (autoGenDS.Tables[0].Rows.Count == 0) { foreach (DataRow dr in ds.Tables[1].Rows) { int MasterCriteriaValue = 0; int PrefixSuffix = 0; int rangeDiff = 0; int Length = 0; string Value = string.Empty; CodeValue = string.Empty; int.TryParse(Convert.ToString(dr["MasterCriteria1"]), out MasterCriteriaValue); int.TryParse(Convert.ToString(dr["PrefixOrSufix"]), out PrefixSuffix); int.TryParse(Convert.ToString(dr["DifferentRange"]), out rangeDiff); #region Code Generation switch (MasterCriteriaValue) { case 1: Value = Convert.ToString(ds.Tables[0].Rows[0]["Coll_acronymn"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 2: Value = Convert.ToString(ds.Tables[0].Rows[0]["acr"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 3: Value = Convert.ToString(ds.Tables[0].Rows[0]["SeatTypeNo"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { CodeValue = Convert.ToString(ds.Tables[0].Rows[0]["SeatTypeNo"]); } else { sb.Append("Cannot form the digit The range is greater"); } break; case 4: Value = Convert.ToString(ds.Tables[0].Rows[0]["degreeAcr"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 5: Value = Convert.ToString(ds.Tables[0].Rows[0]["DegreeRegcode"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 6: string year = Convert.ToString(ds.Tables[0].Rows[0]["current_semester"]); CodeValue = returnYearforSem(year); break; case 7: Value = Convert.ToString(ds.Tables[0].Rows[0]["batch_year"]); Length = 0; int.TryParse(Convert.ToString(Value.Length), out Length); if (Length >= rangeDiff) { if (PrefixSuffix == 1) { CodeValue = Convert.ToString(Value.Substring(0, rangeDiff)); } else if (PrefixSuffix == 2) { CodeValue = Convert.ToString(Value.Substring(Length - rangeDiff, rangeDiff)); } } else { sb.Append("Cannot form the digit The range is greater"); } break; case 8: CodeValue = Convert.ToString(ds.Tables[0].Rows[0]["current_semester"]); break; case 9: Code = admissionNo; int.TryParse(Convert.ToString(dr["StartNo"]), out StartNo); //RunningSeries = StartNo.ToString().PadLeft(rangeDiff+1, '0'); RunningSeries = generateApplicationNumber(StartNo, rangeDiff); //RunningSeries = StartNo; //+ 1; CodeValue = RunningSeries; break; } #endregion admissionNo += CodeValue; GenerationNo += Code; } } else { RunningSeries = Convert.ToString(autoGenDS.Tables[0].Rows[0]["RunningSeries"]); GenerationNum = Convert.ToString(autoGenDS.Tables[0].Rows[0]["GenerationNumber"]); int Runlen = 0; int RunningSerial = 0; int.TryParse(Convert.ToString(autoGenDS.Tables[0].Rows[0]["RunningSeriesLength"]), out Runlen); int.TryParse(RunningSeries, out RunningSerial); RunningSeries = generateApplicationNumber(RunningSerial, Runlen); admissionNo = Convert.ToString(GenerationNum + RunningSeries); } query = "if exists(select BatchYear from AdmissionNoGenerationCode where NumberType='" + NumberGenerationType + "' and BatchYear ='" + BatchYear + "' and Semester ='" + Semester + "' and DegreeCode ='" + DegreeCode + "' and SeatTypeNo ='" + SeatType + "' and CollegeCode ='" + CollegeCode + "')update AdmissionNoGenerationCode set RunningSeries='" + RunningSeries + "' where NumberType='" + NumberGenerationType + "' and BatchYear ='" + BatchYear + "' and Semester ='" + Semester + "' and DegreeCode ='" + DegreeCode + "' and SeatTypeNo ='" + SeatType + "' and CollegeCode ='" + CollegeCode + "' else insert into AdmissionNoGenerationCode(NumberType,BatchYear ,Semester ,DegreeCode ,SeatTypeNo ,CollegeCode ,StartSeries ,RunningSeries,GenerationNumber)values('" + NumberGenerationType + "','" + BatchYear + "','" + Semester + "','" + DegreeCode + "','" + SeatType + "','" + CollegeCode + "','" + StartNo + "','" + RunningSeries + "','" + GenerationNo + "')"; dirAccess.updateData(query); } return(admissionNo); } catch (Exception e) { d2.sendErrorMail(e, Convert.ToString(CollegeCode), "AdmissionNumber Genderation"); return(" "); } }
public ApplicationNumberGeneration() { dirAccess = new InsproDirectAccess(); }