示例#1
0
        public async Task UpdateTeacherAsync(TeacherItemViewModel teacher)
        {
            _sharedService.WriteLogs("UpdateTeacherAsync started by:" + _userSettings.UserName, true);

            try
            {
                var _teacher = await _teacherRepository.GetByIdAsync(teacher.Id);

                Guard.Against.NullTeacher(teacher.Id, _teacher);

                _teacher.TeacherNumber   = teacher.TeacherNumber;
                _teacher.SchoolId        = teacher.SchoolId.Value;
                _teacher.YearId          = teacher.YearId;
                _teacher.TeacherName     = teacher.TeacherName;
                _teacher.Email           = teacher.Email;
                _teacher.PhoneNumber     = teacher.PhoneNumber;
                _teacher.TeacherStatusId = teacher.TeacherStatusId;
                _teacher.ModifiedDate    = DateTime.Now;
                _teacher.ModifiedBy      = _userSettings.UserName;

                await _teacherRepository.UpdateAsync(_teacher);
            }
            catch (Exception ex)
            {
                _sharedService.WriteLogs("UpdateTeacherAsync failed:" + ex.Message, false);
            }
        }
示例#2
0
        public async Task <TeacherItemViewModel> GetTeacherItem(int teacherId)
        {
            _sharedService.WriteLogs("GetTeacherItem started by:" + _userSettings.UserName, true);

            try
            {
                var teacher = await _teacherRepository.GetByIdAsync(teacherId);

                Guard.Against.NullTeacher(teacherId, teacher);

                var vm = new TeacherItemViewModel()
                {
                    Id              = teacher.Id,
                    UserId          = teacher.UserId,
                    TeacherNumber   = teacher.TeacherNumber,
                    SchoolId        = teacher.SchoolId,
                    SiteId          = _dbContext.Schools.Where(s => s.Id == teacher.SchoolId).Select(s => s.SiteId).FirstOrDefault(),
                    YearId          = teacher.YearId,
                    TeacherName     = teacher.TeacherName,
                    Email           = teacher.Email,
                    PhoneNumber     = teacher.PhoneNumber,
                    TeacherStatusId = teacher.TeacherStatusId,
                    CreatedDate     = teacher.CreatedDate,
                    CreatedBy       = teacher.CreatedBy,
                    ModifiedDate    = teacher.ModifiedDate,
                    ModifiedBy      = teacher.ModifiedBy
                };

                return(vm);
            }
            catch (Exception ex)
            {
                _sharedService.WriteLogs("GetTeacherItem failed:" + ex.Message, false);

                var vm = new TeacherItemViewModel();

                return(vm);
            }
        }
示例#3
0
        public async Task <int> CreateTeacherAsync(TeacherItemViewModel teacher)
        {
            _sharedService.WriteLogs("CreateTeacherAsync started by:" + _userSettings.UserName, true);

            try
            {
                var _teacher = new Teacher();

                var    user   = _identityContext.Users.Where(p => p.UserName == teacher.Email).FirstOrDefault();
                string userid = string.Empty;

                if (user == null)
                {
                    try
                    {
                        string[] names     = teacher.TeacherName.Split(' ');
                        string   firstname = names[0];
                        string   lastname  = names[1];

                        var newuser = new EDIApplicationUser
                        {
                            UserName  = teacher.Email,
                            Email     = teacher.Email,
                            FirstName = firstname,
                            LastName  = lastname
                        };
                        var result = await _userManager.CreateAsync(newuser);

                        var role = _identityContext.Roles.Where(p => p.Name == "Teacher").FirstOrDefault();

                        await _userManager.AddToRoleAsync(newuser, role.Name);

                        userid = newuser.Id;
                    }
                    catch (Exception ex)
                    {
                        _sharedService.WriteLogs("CreateTeacherAsync failed:" + ex.Message, false);
                    }
                }
                else
                {
                    userid = user.Id;
                }

                _teacher.UserId          = userid;
                _teacher.TeacherNumber   = teacher.TeacherNumber;
                _teacher.SchoolId        = teacher.SchoolId.Value;
                _teacher.YearId          = teacher.YearId;
                _teacher.TeacherName     = teacher.TeacherName;
                _teacher.Email           = teacher.Email;
                _teacher.PhoneNumber     = teacher.PhoneNumber;
                _teacher.TeacherStatusId = teacher.TeacherStatusId;
                _teacher.CreatedDate     = DateTime.Now;
                _teacher.CreatedBy       = _userSettings.UserName;
                _teacher.ModifiedDate    = DateTime.Now;
                _teacher.ModifiedBy      = _userSettings.UserName;

                await _teacherRepository.AddAsync(_teacher);

                var school   = _dbContext.Schools.Where(p => p.Id == teacher.SchoolId.Value).FirstOrDefault();
                var province = _dbContext.Provinces.Where(p => p.Id == school.ProvinceId).FirstOrDefault();

                var provinceid   = province.Id;
                var provincename = province.English.Replace(" ", "");

                var predicateTeacher = "p => p." + provincename + ".Value && p.YearId == " + teacher.YearId + " && p.QuestionnaireName == \"Teacher Feedback\"";

                var questionnaireTeacher = _dbContext.Questionnaires.Where(predicateTeacher).FirstOrDefault();

                var _QuestionnairesDataTeacherProfile = new QuestionnairesDataTeacherProfile();
                _QuestionnairesDataTeacherProfile.TeacherId       = _teacher.Id;
                _QuestionnairesDataTeacherProfile.YearId          = teacher.YearId;
                _QuestionnairesDataTeacherProfile.QuestionnaireId = questionnaireTeacher.Id;
                _QuestionnairesDataTeacherProfile.CreatedDate     = DateTime.Now;
                _QuestionnairesDataTeacherProfile.CreatedBy       = _userSettings.UserName;
                _QuestionnairesDataTeacherProfile.ModifiedDate    = DateTime.Now;
                _QuestionnairesDataTeacherProfile.ModifiedBy      = _userSettings.UserName;

                await _profileRepository.AddAsync(_QuestionnairesDataTeacherProfile);

                return(_teacher.Id);
            }
            catch (Exception ex)
            {
                _sharedService.WriteLogs("CreateTeacherAsync failed:" + ex.Message, false);
                return(0);
            }
        }