private void SetTemporarySSN(AddStudetnDTO student) { var lastTempStudent = _abstractUnitOfWork.Repository <Students>().Get(c => c.Ssn.StartsWith('#')).LastOrDefault(); if (lastTempStudent == null) { student.Ssn = "#-1"; return; } int lastTempStudentNumber = Convert.ToInt32(lastTempStudent.Ssn.Split('-')[1]); student.Ssn = "#-" + ++lastTempStudentNumber; }
/// <summary> /// this method used when setudent is a new student or is transformed form another collage /// but when the transformed student is should be in the first year /// </summary> /// <param name="student"></param> private void SetSSNForFirstYearStudnet(AddStudetnDTO student) { #region //string ssn = student.SpecializationId; //var year = student.EnrollmentDate.ToString("yy"); //ssn += year; //var students = _abstractUnitOfWork.Repository<Students>().Get(c => c.Ssn.StartsWith(ssn)); //var lastOldStudent = students.LastOrDefault(); //if (lastOldStudent != null) //{ // var oldSsn = lastOldStudent.Ssn; // var ssnNumber = oldSsn.Remove(0, 3); // if (!char.IsDigit(ssnNumber[ssnNumber.Length-1])) // { // ssnNumber.Remove(ssnNumber.Length - 1); // } // var oldPureSSN = Convert.ToInt16(oldSsn.Remove(0, 3)); // if (oldPureSSN < 10) // { // ssn += "00" + (oldPureSSN + 1).ToString(); // } // else if (oldPureSSN < 99) // { // ssn += "0" + (oldPureSSN + 1).ToString(); // } // else // { // ssn += (oldPureSSN + 1).ToString(); // } //} //else //{ // ssn += "001"; //} //student.Ssn = ssn; #endregion old code Years year = _abstractUnitOfWork.Repository <Years>().Find(student.AddRegistrationDTO.YearId); string ssn = student.SpecializationId; ssn += year.FirstYear.ToString().Substring(year.FirstYear.ToString().Length - 2); var students = _abstractUnitOfWork.Repository <Students>().Get(c => c.Ssn.StartsWith(ssn)); var lastOldStudent = students.LastOrDefault(); if (lastOldStudent != null) { var oldSsn = lastOldStudent.Ssn; var ssnNumber = oldSsn.Remove(0, 3); if (!char.IsDigit(ssnNumber[ssnNumber.Length - 1])) { ssnNumber.Remove(ssnNumber.Length - 1); } var oldPureSSN = Convert.ToInt16(oldSsn.Remove(0, 3)); if (oldPureSSN < 10) { ssn += "00" + (oldPureSSN + 1).ToString(); } else if (oldPureSSN < 99) { ssn += "0" + (oldPureSSN + 1).ToString(); } else { ssn += (oldPureSSN + 1).ToString(); } } else { ssn += "001"; } student.Ssn = ssn; }