Exemplo n.º 1
0
        public static StudentModel UpdateStudent(StudentModel studentobj)
        {
            tblStudent        tblobj        = new tblStudent();
            tblStudentHistory tblhistoryobj = new tblStudentHistory();

            tblobj.Address    = studentobj.Address;
            tblobj.City       = studentobj.City;
            tblobj.ContactNo  = studentobj.ContactNo;
            tblobj.EmailID    = studentobj.EmailID;
            tblobj.EnrollNo   = studentobj.EnrollNo;
            tblobj.FirstName  = studentobj.FirstName;
            tblobj.Gender     = studentobj.Gender;
            tblobj.LastName   = studentobj.LastName;
            tblobj.State      = studentobj.State;
            tblobj.DOB        = studentobj.DOB;
            tblobj.DegreeYear = studentobj.DegreeYear;


            tblhistoryobj.CollegeCode    = studentobj.CollegeCode;
            tblhistoryobj.DepartmentCode = studentobj.DepartmentCode;
            tblhistoryobj.LogDate        = studentobj.LogDate;
            tblhistoryobj.Semester       = studentobj.Semester;

            return(irepository.UpdateStudent(tblobj, tblhistoryobj));
        }
        public static bool UpdateStudent(StudentModel studentModel)
        {
            try
            {
                tblStudent studentEntityToUpdate = new tblStudent();
                studentEntityToUpdate = _unitOfWork.StudentRepository.GetByID(studentModel.StudentID);

                if (studentEntityToUpdate.Equals(null))
                {
                    return(false);
                }
                else
                {
                    studentEntityToUpdate.FirstName     = studentModel.FirstName;
                    studentEntityToUpdate.LastName      = studentModel.LastName;
                    studentEntityToUpdate.ContactNumber = studentModel.ContactNumber;
                    studentEntityToUpdate.EmailAddress  = studentModel.EmailAddress;
                    studentEntityToUpdate.DateOfBirth   = studentModel.DateOfBirth;
                    studentEntityToUpdate.Address       = studentModel.Address;
                    studentEntityToUpdate.CityID        = studentModel.CityID;

                    IEnumerable <tblStudentHistory> historyEntityList = new List <tblStudentHistory>();
                    historyEntityList = _unitOfWork.StudentHistoryRepository.Get(filter: prop => prop.StudentID == studentModel.StudentID);

                    bool entryNotExists = true;
                    foreach (var entry in historyEntityList)
                    {
                        if (studentModel.CollegeID.Equals(entry.CollegeID) &&
                            studentModel.DepartmentID.Equals(entry.DepartmentID) &&
                            studentModel.DateOfJoining.Equals(entry.DateOfJoining) &&
                            studentModel.Semester.Equals(entry.Semester))
                        {
                            entryNotExists = false;
                            break;
                        }
                    }
                    if (entryNotExists)
                    {
                        Guid newStudentHistoryID = Guid.NewGuid();
                        tblStudentHistory newStudentHistoryEntry = new tblStudentHistory();
                        newStudentHistoryEntry.StudentHistoryID = newStudentHistoryID;
                        newStudentHistoryEntry.CollegeID        = studentModel.CollegeID;
                        newStudentHistoryEntry.DepartmentID     = studentModel.DepartmentID;
                        newStudentHistoryEntry.Semester         = studentModel.Semester;
                        newStudentHistoryEntry.DateOfJoining    = studentModel.DateOfJoining;
                        newStudentHistoryEntry.StudentID        = studentModel.StudentID;

                        _unitOfWork.StudentHistoryRepository.Insert(newStudentHistoryEntry);
                    }
                }
                _unitOfWork.Save();
                return(true);
            }
            catch (Exception e)
            {
                string currentFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName();
                ErrorLogger.LogException(e, currentFile);
                return(false);
            }
        }
        public static StudentModel GetStudent(Guid ID)
        {
            try
            {
                //throw new IndexOutOfRangeException();
                tblStudent studentEntity = _unitOfWork.StudentRepository.GetByID(ID);

                tblStudentHistory historyEntity = _unitOfWork.StudentHistoryRepository.Get(filter: prop => prop.StudentID == studentEntity.StudentID,
                                                                                           orderBy: prop => prop.OrderByDescending(d => d.Semester)).FirstOrDefault();

                if (historyEntity == null)
                {
                    return(new StudentModel());
                }
                tblCity       cityEntity       = _unitOfWork.CityRepository.Get(filter: prop => prop.CityID == studentEntity.CityID).FirstOrDefault();
                tblState      stateEntity      = _unitOfWork.StateRepository.Get(filter: prop => prop.StateID == cityEntity.StateID).FirstOrDefault();
                tblCollege    collegeEntity    = _unitOfWork.CollegeRepository.Get(filter: prop => prop.CollegeID == historyEntity.CollegeID).FirstOrDefault();
                tblDepartment departmentEntity = _unitOfWork.DepartmentRepository.Get(filter: prop => prop.DepartmentID == historyEntity.DepartmentID).FirstOrDefault();
                StudentModel  studentModel     = new StudentModel()
                {
                    StudentCode    = studentEntity.StudentCode,
                    StudentID      = studentEntity.StudentID,
                    FirstName      = studentEntity.FirstName,
                    LastName       = studentEntity.LastName,
                    ContactNumber  = studentEntity.ContactNumber,
                    EmailAddress   = studentEntity.EmailAddress,
                    DateOfBirth    = studentEntity.DateOfBirth,
                    Address        = studentEntity.Address,
                    DateOfJoining  = historyEntity.DateOfJoining,
                    Semester       = historyEntity.Semester,
                    CollegeID      = collegeEntity.CollegeID,
                    CollegeName    = collegeEntity.CollegeName,
                    DepartmentID   = departmentEntity.DepartmentID,
                    DepartmentName = departmentEntity.DepartmentName,
                    CityID         = cityEntity.CityID,
                    CityName       = cityEntity.CityName,
                    StateName      = stateEntity.StateName
                };
                return(studentModel);
            }
            catch (Exception e)
            {
                string currentFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName();
                ErrorLogger.LogException(e, currentFile);
                StudentModel student = new StudentModel();
                return(student);
            }
        }
        public static ErrorEnums InsertStudent(StudentModel studentModel)
        {
            try
            {
                tblStudent studentEntity = new tblStudent();
                studentEntity = _unitOfWork.StudentRepository.Get(filter: prop => prop.StudentCode == studentModel.StudentCode).FirstOrDefault();
                if (studentEntity == null)
                {
                    studentEntity = _unitOfWork.StudentRepository.Get(filter: prop => prop.ContactNumber == studentModel.ContactNumber).FirstOrDefault();
                    if (studentEntity == null)
                    {
                        studentEntity = _unitOfWork.StudentRepository.Get(filter: prop => prop.EmailAddress == studentModel.EmailAddress).FirstOrDefault();
                        if (studentEntity == null)
                        {
                            Guid       newStudentId = Guid.NewGuid();
                            tblStudent newStudent   = new tblStudent();
                            newStudent.StudentID     = newStudentId;
                            newStudent.StudentCode   = studentModel.StudentCode;
                            newStudent.FirstName     = studentModel.FirstName;
                            newStudent.LastName      = studentModel.LastName;
                            newStudent.ContactNumber = studentModel.ContactNumber;
                            newStudent.EmailAddress  = studentModel.EmailAddress;
                            newStudent.DateOfBirth   = studentModel.DateOfBirth;
                            newStudent.Address       = studentModel.Address;
                            newStudent.CityID        = studentModel.CityID;

                            Guid newStudentHistoryId = Guid.NewGuid();
                            tblStudentHistory studentHistoryEntity = new tblStudentHistory()
                            {
                                StudentHistoryID = newStudentHistoryId,
                                DepartmentID     = studentModel.DepartmentID,
                                CollegeID        = studentModel.CollegeID,
                                Semester         = studentModel.Semester,
                                DateOfJoining    = studentModel.DateOfJoining,
                                StudentID        = newStudentId
                            };

                            Guid newUserID = Guid.NewGuid();

                            //Generating a new MD5 encrypted password
                            MD5    md5Hash              = MD5.Create();
                            string newPassword          = "******";
                            string newEncryptedPassword = Encryptor.GetMd5Hash(md5Hash, newPassword);

                            tblUser studentUserEntity = new tblUser()
                            {
                                UserID       = newUserID,
                                EmailAddress = studentModel.EmailAddress,
                                Password     = newEncryptedPassword,
                                RoleID       = 3
                            };
                            _unitOfWork.StudentRepository.Insert(newStudent);
                            _unitOfWork.StudentHistoryRepository.Insert(studentHistoryEntity);
                            _unitOfWork.UserRepository.Insert(studentUserEntity);

                            _unitOfWork.Save();
                            return(ErrorEnums.Successful);
                        }
                        else
                        {
                            //Email address exists
                            return(ErrorEnums.EmailAddress);
                        }
                    }
                    else
                    {
                        //Contact number exists
                        return(ErrorEnums.PhoneNumber);
                    }
                }
                else
                {
                    //Student code exists
                    return(ErrorEnums.Code);
                }
            }
            catch (Exception e)
            {
                string currentFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName();
                ErrorLogger.LogException(e, currentFile);
                return(ErrorEnums.Failed);
            }
        }