/// <summary> /// 保存Education信息(新增/更新) /// </summary> /// <param name="updateForeignKey">更新时是否更新外键信息</param> /// <param name="dtos">要保存的EducationDto信息</param> /// <returns>业务操作集合</returns> public async Task <OperationResult> SaveEducations(bool updateForeignKey = false, params EducationDto[] dtos) { try { dtos.CheckNotNull("dtos"); var addDtos = dtos.Where(p => p.Id == 0).ToArray(); var updateDtos = dtos.Where(p => p.Id != 0).ToArray(); EducationRepo.UnitOfWork.TransactionEnabled = true; Action <EducationDto> checkAction = null; Func <EducationDto, Education, Education> updateFunc = null; if (addDtos.Length > 0) { EducationRepo.Insert(addDtos, checkAction, updateFunc); } if (updateDtos.Length > 0) { EducationRepo.Update(updateDtos, checkAction, updateFunc); } await EducationRepo.UnitOfWork.SaveChangesAsync(); return(new OperationResult(OperationResultType.Success, "保存成功")); } catch (Exception e) { return(new OperationResult(OperationResultType.Error, e.Message)); } }
/// <summary> /// 删除Education信息 /// </summary> /// <param name="ids">要删除的Id编号</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> DeleteEducations(params int[] ids) { ids.CheckNotNull("ids"); await EducationRepo.RecycleAsync(p => ids.Contains(p.Id)); return(new OperationResult(OperationResultType.Success, "删除成功")); }
private async void UserControl_Loaded(object sender, RoutedEventArgs e) { if (_userID > 0) { await Task.Run(() => { User = UserRepo.FindByID(_userID); }); await Task.Run(() => { UserDetail = UserDetailRepo.FindByUserID(_userID); }); await Task.Run(() => { ExperienceList = ExperienceRepo.FindByUserID(_userID); }); await Task.Run(() => { EducationList = EducationRepo.FindByUserID(_userID); }); } }
private void btnStaffSave_Click(object sender, RoutedEventArgs e) { if (FormMode == FormModes.View) { this.ActualParent.Close(); return; } if (FormMode == FormModes.New) { int _newUserID = UserRepo.Insert(User); UserDetail.UserID = _newUserID; UserDetail.created_by = Utilities.UserSession.UserID; UserDetail.updated_by = Utilities.UserSession.UserID; UserDetailRepo.Insert(UserDetail); foreach (var exp in ExperienceList) { exp.UserID = _newUserID; ExperienceRepo.Insert(exp); } foreach (var edu in EducationList) { edu.UserID = _newUserID; EducationRepo.Insert(edu); } } else { UserDetailRepo.Update(UserDetail); UserRepo.Update(User); foreach (var exp in ExperienceList) { if (exp.isNew) { exp.UserID = User.UserID; ExperienceRepo.Insert(exp); } else { ExperienceRepo.Update(exp); } } foreach (var edu in EducationList) { if (edu.isNew) { edu.UserID = User.UserID; EducationRepo.Insert(edu); } else { EducationRepo.Update(edu); } } } this.ActualParent.Close(); }
private void EducationDetailView_Loaded(object sender, RoutedEventArgs e) { if (UserEducation != null && FormMode == FormModes.New) { return; } if (FormMode != FormModes.New) { UserEducation = EducationRepo.FindByID(_educationID); } }
public TeacherList(string apiEndpoint) { ApiEndpoint = apiEndpoint; InitializeComponent(); tRepo = new TeacherRepo(ApiEndpoint); pRepo = new PositionRepo(ApiEndpoint); expRepo = new ExperienceRepo(ApiEndpoint); eduRepo = new EducationRepo(ApiEndpoint); adRepo = new AcademicDegreeRepo(ApiEndpoint); arRepo = new AcademicRankRepo(ApiEndpoint); }
private void DeleteStaffRecord() { var win = GetSelectedStaff(); if (win == null || win.UserID > 0) { Message(MessageTypes.Error, "Please Select to delete Staff Detail"); return; } if (!DeleteMessage()) { return; } EducationRepo.Remove(win.UserID); ExperienceRepo.Remove(win.UserID); UserRepo.Remove(win.UserID); UserDetailRepo.Remove(win.UserID); }
/// <summary> /// 保存UserInfo信息(新增/更新) /// </summary> /// <param name="updateForeignKey">更新时是否更新外键信息</param> /// <param name="dtos">要保存的UserInfoDto信息</param> /// <returns>业务操作集合</returns> public async Task <OperationResult> SaveUserInfos(bool updateForeignKey = false, params UserInfoDto[] dtos) { try { dtos.CheckNotNull("dtos"); var addDtos = dtos.Where(p => p.Id == 0).ToArray(); var updateDtos = dtos.Where(p => p.Id != 0).ToArray(); UserInfoRepo.UnitOfWork.TransactionEnabled = true; Action <UserInfoDto> checkAction = null; Func <UserInfoDto, UserInfo, UserInfo> updateFunc = (dto, entity) => { if (dto.Id == 0 || updateForeignKey) { entity.Region = RegionRepo.GetByKey(dto.RegionId); entity.SysUser = SysUserRepo.GetByKey(dto.SysUserId); entity.Position = PositionRepo.GetByKey(dto.PositionId); entity.Education = EducationRepo.GetByKey(dto.EducationId); } return(entity); }; if (addDtos.Length > 0) { UserInfoRepo.Insert(addDtos, checkAction, updateFunc); } if (updateDtos.Length > 0) { UserInfoRepo.Update(updateDtos, checkAction, updateFunc); } await UserInfoRepo.UnitOfWork.SaveChangesAsync(); return(new OperationResult(OperationResultType.Success, "保存成功")); } catch (Exception e) { return(new OperationResult(OperationResultType.Error, e.Message)); } }
/// <summary> /// 验证用户注册 /// </summary> /// <param name="dto">用户注册信息</param> /// <param name="validateCode">验证码</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> ValidateRegister(UserInfoRegistDto dto, string validateCode) { dto.CheckNotNull("dto"); validateCode.CheckNotNullOrEmpty("validateCode"); //验证码 var severCode = GetValidateCode(dto.UserName, CodeType.用户注册); if (severCode == null || severCode.Code != validateCode) { return(BodeResult.ValidError("验证码错误")); } if (SysUserRepo.CheckExists(p => p.UserName == dto.UserName)) { return(BodeResult.ValidError("账号已被使用")); } try { UserInfoRepo.UnitOfWork.TransactionEnabled = true; //验证密码格式 IdentityResult result = await UserManager.PasswordValidator.ValidateAsync(dto.Password); if (!result.Succeeded) { return(result.ToOperationResult()); } SysUser sUser = new SysUser() { UserName = dto.UserName, NickName = dto.NickName, PasswordHash = UserManager.PasswordHasher.HashPassword(dto.Password),//密码加密 UserType = UserType.App用户 }; if (severCode.ValidateType == ValidateType.手机) { sUser.PhoneNumber = dto.UserName; sUser.PhoneNumberConfirmed = true; } else { sUser.Email = dto.UserName; sUser.EmailConfirmed = true; } await UserManager.CreateAsync(sUser); var userInfo = Mapper.Map <UserInfo>(dto); userInfo.SysUser = sUser; userInfo.Region = RegionRepo.GetByKey(dto.RegionId); userInfo.Education = EducationRepo.GetByKey(dto.EducationId); userInfo.Position = PositionRepo.GetByKey(dto.PositionId); await UserInfoRepo.InsertAsync(userInfo); await UserInfoRepo.UnitOfWork.SaveChangesAsync(); return(BodeResult.Success("注册成功", userInfo.Id)); } catch (Exception e) { return(BodeResult.NoChanged("注册失败")); } }