/// <summary> /// 添加机构管理员 /// </summary> public ServiceInvokeDTO AddAdmin(AgencyAdmin admin) { log.Debug(Constant.DEBUG_START); ServiceInvokeDTO result = null; try { AgencyAdmin dbAdmin = agencyAdminDAL.GetByPhone(admin.Phone); if (dbAdmin == null) { admin.Password = SecurityUtil.MD5(SecurityUtil.MD5(admin.Phone) + Constant.ADMIN_SALT_KEY); agencyAdminDAL.Insert(admin); result = new ServiceInvokeDTO(InvokeCode.SYS_INVOKE_SUCCESS); } else { result = new ServiceInvokeDTO(InvokeCode.ACCOUNT_ADMIN_PHONE_EXIST_ERROR); } } catch (Exception ex) { log.Error(ex); throw ex; } log.Debug(Constant.DEBUG_END); return result; }
public AgencyAdminDTO(AgencyAdmin admin) { this.ID = admin.ID; this.ChineseName = admin.ChineseName; this.Phone = admin.Phone; this.Email = admin.Email; this.Level = admin.Level; this.AddTime = admin.AddTime; }
public ActionResult AddAdmin() { log.Debug(Constant.DEBUG_START); string chineseName = ApiQueryUtil.QueryArgByPost("chinese_name"); string phone = ApiQueryUtil.QueryArgByPost("phone"); ServiceInvokeDTO result = null; try { AgencyAdmin admin = new AgencyAdmin(); admin.AgencyID = (Session[Constant.SESSION_KEY_ADMIN] as AgencyAdminDTO).Agency.ID; admin.ChineseName = chineseName; admin.Phone = phone; admin.Level = AdminLevel.AgencyItemAdmin; result = agencyDataService.AddAdmin(admin); // Write admin do record. AgencyAdminDTO currentAdmin = Session[Constant.SESSION_KEY_ADMIN] as AgencyAdminDTO; if (result != null && result.Code == InvokeCode.SYS_INVOKE_SUCCESS) { AdminDoRecord doRecord = new AdminDoRecord(); doRecord.AdminID = currentAdmin.ID; doRecord.AdminName = currentAdmin.ChineseName; doRecord.DoTime = DateTime.Now; doRecord.DoName = DoActionType.AddAdmin.GetDescription(); doRecord.DoContent = string.Format("新管理员姓名:{0}", chineseName); doRecord.Remark = string.Empty; recordDataService.AddAdminDoRecord(doRecord); } } catch (Exception ex) { log.Error(ex); result = new ServiceInvokeDTO(InvokeCode.SYS_INNER_ERROR); } string json = JsonConvert.SerializeObject(result, Formatting.Indented, Constant.TIME_CONVERTER); log.Debug(Constant.DEBUG_END); return Content(json, Constant.JSON_MIME_TYPE); }
/// <summary> /// 使用默认配置初始化机构信息,返回添加成功后的机构主键ID /// </summary> public int Insert(Agency agency, AgencyAdmin admin) { // 1.添加机构信息 // 2.添加机构管理员信息 // 3.添加机构创建者 // 4.添加机构默认配置信息 // 5.添加机构课程章节信息 int agencyID = 0; const string insert_agency_sql = @"INSERT INTO Agency(Name, RegTime) VALUES (@Name, @RegTime);SELECT LAST_INSERT_ID();"; const string insert_agency_admin_sql = @"INSERT INTO AgencyAdmin(AgencyID, ChineseName, Phone, Password, Level) VALUES (@AgencyID, @ChineseName, @Phone, @Password, @Level); SELECT LAST_INSERT_ID();"; const string insert_agency_creator_sql = @"INSERT INTO AgencyCreator(AgencyID, AdminID) VALUES (@AgencyID, @AdminID);"; const string insert_agency_config_sql = @"INSERT INTO AgencyConfig(AgencyID) VALUES (@AgencyID);"; const string insert_agency_course_sql = @"INSERT INTO Course(AgencyID, Name, Code, Duration, Description) VALUES (@AgencyID, @Name, @Code, @Duration, @Description); SELECT LAST_INSERT_ID();"; const string insert_agency_chapter_sql = @"INSERT INTO Chapter(CourseID, ChapterIndex, Name) VALUES (@CourseID, @ChapterIndex, @Name);"; using (DbConnection connection = ConnectionManager.OpenConnection) { IDbTransaction transaction = connection.BeginTransaction(); try { // 添加机构信息 agencyID = connection.Query<int>(insert_agency_sql, agency, transaction).SingleOrDefault<int>(); // 初始化管理员账号及创建者信息 admin.AgencyID = agencyID; int adminID = connection.Query<int>(insert_agency_admin_sql, admin, transaction).SingleOrDefault<int>(); connection.Execute(insert_agency_creator_sql, new { AgencyID = agencyID, AdminID = adminID }, transaction); // 初始化机构默认配置选项 connection.Execute(insert_agency_config_sql, new { AgencyID = agencyID }, transaction); // 初始化课程及章节信息 List<SysCourse> sysCourses = sysCourseDAL.GetAll(); if (sysCourses != null) { foreach (var sysCourse in sysCourses) { // 插入课程 int courseID = connection.Query<int>( insert_agency_course_sql, new { AgencyID = agencyID, Name = sysCourse.Name, Code = sysCourse.Code, Duration = sysCourse.Duration, Description = sysCourse.Description }, transaction).SingleOrDefault<int>(); // 插入章节 List<SysChapter> sysChapters = sysChapterDAL.GetByCourseID(sysCourse.ID); if (sysChapters != null) { foreach (var sysChapter in sysChapters) { connection.Execute(insert_agency_chapter_sql, new { CourseID = courseID, ChapterIndex = sysChapter.ChapterIndex, Name = sysChapter.Name }, transaction); } } } } // 提交事务 transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } return agencyID; } }
public ActionResult UpdateAdmin() { log.Debug(Constant.DEBUG_START); string idString = ApiQueryUtil.QueryArgByPost("id"); string chineseName = ApiQueryUtil.QueryArgByPost("chinese_name"); string phone = ApiQueryUtil.QueryArgByPost("phone"); ServiceInvokeDTO result = null; try { int adminID = Convert.ToInt32(idString); AgencyAdminDTO currentAdmin = Session[Constant.SESSION_KEY_ADMIN] as AgencyAdminDTO; ServiceInvokeDTO checkResult = permissionService.CheckPermission(DoActionType.UpdateAdmin, currentAdmin.Agency.ID, adminID); if (checkResult.Code == InvokeCode.SYS_INVOKE_SUCCESS) { AgencyAdmin admin = new AgencyAdmin(); admin.ID = adminID; admin.ChineseName = chineseName; admin.Phone = phone; result = agencyDataService.UpdateAdmin(admin); // Write admin do record. if (result != null && result.Code == InvokeCode.SYS_INVOKE_SUCCESS) { AdminDoRecord doRecord = new AdminDoRecord(); doRecord.AdminID = currentAdmin.ID; doRecord.AdminName = currentAdmin.ChineseName; doRecord.DoTime = DateTime.Now; doRecord.DoName = DoActionType.UpdateAdmin.GetDescription(); doRecord.DoContent = string.Format("被更新的管理员ID:{0}", idString); doRecord.Remark = string.Empty; recordDataService.AddAdminDoRecord(doRecord); } } else { result = checkResult; } } catch (Exception ex) { log.Error(ex); result = new ServiceInvokeDTO(InvokeCode.SYS_INNER_ERROR); } string json = JsonConvert.SerializeObject(result, Formatting.Indented, Constant.TIME_CONVERTER); log.Debug(Constant.DEBUG_END); return Content(json, Constant.JSON_MIME_TYPE); }
/// <summary> /// 更新实体信息 /// </summary> public void Update(AgencyAdmin admin) { const string sql = @"UPDATE AgencyAdmin SET AgencyID = @AgencyID, ChineseName = @ChineseName, Phone= @Phone, Password = @Password, Email = @Email WHERE IsDeleted = 0 AND ID = @ID"; using (DbConnection connection = ConnectionManager.OpenConnection) { connection.Execute(sql, admin); } }
/// <summary> /// 添加实体信息,返回添加成功后的主键ID /// </summary> public int Insert(AgencyAdmin admin) { int agencyID = 0; const string sql = @"INSERT INTO AgencyAdmin(AgencyID, ChineseName, Phone, Password, Level) VALUES (@AgencyID, @ChineseName, @Phone, @Password, @Level); SELECT LAST_INSERT_ID();"; using (DbConnection connection = ConnectionManager.OpenConnection) { agencyID = connection.Query<int>(sql, admin).SingleOrDefault<int>(); } return agencyID; }
/// <summary> /// 更新机构管理员 /// </summary> public ServiceInvokeDTO UpdateAdmin(AgencyAdmin admin) { log.Debug(Constant.DEBUG_START); ServiceInvokeDTO result = null; try { AgencyAdmin dbAdmin = agencyAdminDAL.GetByID(admin.ID); if (dbAdmin != null) { AgencyAdmin adminWithPhone = agencyAdminDAL.GetByPhone(admin.Phone); if (adminWithPhone != null && adminWithPhone.ID != admin.ID) { result = new ServiceInvokeDTO(InvokeCode.ACCOUNT_ADMIN_PHONE_EXIST_ERROR); } else { admin.AgencyID = dbAdmin.AgencyID; admin.Password = dbAdmin.Password; admin.Email = dbAdmin.Email; admin.Level = dbAdmin.Level; agencyAdminDAL.Update(admin); result = new ServiceInvokeDTO(InvokeCode.SYS_INVOKE_SUCCESS); } } else { result = new ServiceInvokeDTO(InvokeCode.SYS_OBJECT_NOT_EXIST_ERROR); } } catch (Exception ex) { log.Error(ex); throw ex; } log.Debug(Constant.DEBUG_END); return result; }
/// <summary> /// 注册培训机构 /// </summary> public ServiceInvokeDTO AgencyReg(string phone, string captcha, string agencyName, string password) { log.Debug(Constant.DEBUG_START); ServiceInvokeDTO result = null; try { // 检测验证码 ServiceInvokeDTO checkCaptchaResult = securityService.CheckCaptcha(CaptchaCodeType.RegCode, phone, captcha); if (checkCaptchaResult != null && checkCaptchaResult.Code == InvokeCode.SYS_INVOKE_SUCCESS) { // 检测手机号是否注册 AgencyAdmin dbAdmin = agencyAdminDAL.GetByPhone(phone); if (dbAdmin == null) { // 检测机构名称是否存在 Agency dbAgency = agencyDAL.GetByName(agencyName); if (dbAgency == null) { Agency agency = new Agency(); agency.Name = agencyName; agency.RegTime = DateTime.Now; AgencyAdmin admin = new AgencyAdmin(); admin.ChineseName = agencyName; admin.Phone = phone; admin.Password = SecurityUtil.MD5(password + Constant.ADMIN_SALT_KEY); admin.Level = AdminLevel.AgencyCreatorAdmin; // 验证参数 AgencyValidator validator = new AgencyValidator(); ValidationResult validatorResult = validator.Validate(agency); if (validatorResult.IsValid) { agencyDAL.Insert(agency, admin); result = new ServiceInvokeDTO(InvokeCode.SYS_INVOKE_SUCCESS); } else { result = new ServiceInvokeDTO(InvokeCode.SYS_ARG_ERROR); log.Error(string.Format(Constant.DEBUG_ARG_ERROR_FORMATER, validatorResult.Errors[0].ErrorMessage)); } } else { result = new ServiceInvokeDTO(InvokeCode.AGENCY_NAME_EXIST_ERROR); } } else { result = new ServiceInvokeDTO(InvokeCode.SMS_PHONE_EXIST_WHEN_REG); } } else { result = new ServiceInvokeDTO(InvokeCode.SYS_CAPTCHA_ERROR); } } catch (Exception ex) { log.Error(ex); throw ex; } log.Debug(Constant.DEBUG_END); return result; }
public AgencyAdminDTO(AgencyAdmin admin, AgencyDTO agency) : this(admin) { this.Agency = agency; }