/// <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, "删除成功"));
        }
Exemple #3
0
        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);
                });
            }
        }
Exemple #4
0
        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);
     }
 }
Exemple #6
0
        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("注册失败"));
            }
        }