private async Task DoAdd(FormSubmitRequestDto request) { var manager = Manager as UserManager; if (!request.Datas.ContainsKey("userrole")) { throw new UserFriendlyException("请选择用户角色"); } var user = await manager.DoAdd(request.Datas); if ((await Repository.CountAsync(o => o.UserName == user.UserName)) > 0) { throw new UserFriendlyException("相同用户名称已存在"); } await manager.InsertAsync(user); if (!string.IsNullOrEmpty(request.Datas["speciality"])) { var specialityIds = request.Datas["speciality"].Split(',').Select(o => int.Parse(o)); await manager.SetSpecialities(user, specialityIds.ToArray()); } await CurrentUnitOfWork.SaveChangesAsync(); await manager.SetPassword(user, request.Datas["password"]); await manager.SetRoles(user, new int[] { Convert.ToInt32(request.Datas["userrole"]) }); }
public override async Task FormSubmit(FormSubmitRequestDto request) { var moduleInfo = await ModuleInfo(request); //通用模块增加修改表单提交 //暂只支持添加和修改的提交 if (request.Action == "Add") { await ModuleManager.ManageFormAdd(moduleInfo, request.Datas); } else if (request.Action == "Edit") { var id = Convert.ToInt32(request.Datas.GetDataOrException("ids")); await ModuleManager.ManageFormEdit(moduleInfo, request.Datas, id); } else if (request.Action == "MultiEdit") { var ids = request.Datas.GetDataOrException("ids").Split(',').ToList().ConvertAll(o => int.Parse(o)); await ModuleManager.ManageFormMultiEdit(moduleInfo, request.Datas, ids); } else { throw new UserFriendlyException("Only Add , Edit ,MultiEdit form available in common module-formsubmit handling"); } }
/// <summary> /// 离职 /// </summary> /// <param name="request"></param> /// <returns></returns> private async Task OffJob(FormSubmitRequestDto request) { var ids = request.Datas["ids"].Split(',').ToList().ConvertAll(o => long.Parse(o)); var offDate = Convert.ToDateTime(request.Datas["JobDateEnd"]); await(Manager as UserManager).OffJob(ids, offDate); }
public override async Task FormSubmit(FormSubmitRequestDto request) { if (request.Action == "AwardAdd") { var matchId = int.Parse(request.Datas["MatchId"]); var awardName = request.Datas["AwardName"]; var awardRank = int.Parse(request.Datas["AwardRank"]); var award = await MatchAwardRepository.GetAll().Where(o => o.MatchId == matchId && (o.AwardName == awardName || o.AwardRank == awardRank)).FirstOrDefaultAsync(); if (award != null) { throw new UserFriendlyException("相同获奖名称或等级已存在"); } award = new MatchAward() { MatchId = matchId, AwardName = awardName, AwardRank = awardRank }; await MatchAwardRepository.InsertAsync(award); } else { await base.FormSubmit(request); } }
/// <summary> /// 帐号提交 /// </summary> /// <param name="request"></param> /// <returns></returns> private async Task Account(FormSubmitRequestDto request) { var manager = Manager as UserManager; var userId = Convert.ToInt64(request.Datas["ids"]); var user = await Repository.GetAsync(userId); if (user == null) { throw new UserFriendlyException(L("未找到对应员工")); } else { user.IsActive = request.Datas["isActive"] == "1";//是否启用账号 if (user.IsActive) { user.ToBeVerified = false;//启用账号后自动已审核 var username = request.Datas["userName"]; if (string.IsNullOrEmpty(username)) { //throw new UserFriendlyException(L("用户名不能为空")); } var password = request.Datas["password"]; if (!string.IsNullOrEmpty(password)) { await manager.SetPassword(user, password); } int[] roles = new int[] { }; if (!string.IsNullOrEmpty(request.Datas["roles"])) { roles = request.Datas["roles"].Split(',').ToList().ConvertAll(o => int.Parse(o)).ToArray(); } user.UserName = username; user.IsStrongPwd = request.Datas["isStrongPwd"] == "1"; user.MustChangePwd = request.Datas["mustChangePwd"] == "1"; //add 20181210 增加独立用户提交,此用户只能查看自己的信息 //removed 20190318 //user.IsSeparate= request.Datas["Separate"]=="1"; //add 20190118 增加标记获取 var statusDefinitions = MasterConfiguration.EntityStatusDefinitions.GetValueOrDefault(typeof(User)); if (statusDefinitions != null) { foreach (var statusDefinition in statusDefinitions) { if (request.Datas.ContainsKey(statusDefinition.Name) && request.Datas[statusDefinition.Name] == "1") { user.SetStatus(statusDefinition.Name); } else { user.RemoveStatus(statusDefinition.Name); } } } await manager.SetRoles(user, roles); } } }
public override async Task FormSubmit(FormSubmitRequestDto request) { switch (request.Action) { case "Submit": await DoSubmit(request); break; } }
private async Task DoEdit(FormSubmitRequestDto request) { var id = Convert.ToInt32(request.Datas["Id"]); var matchInstance = await Manager.GetByIdAsync(id); var manager = Manager as MatchInstanceManager; var oriStatus = matchInstance.MatchInstanceStatus; await Manager.LoadEntityFromDatas(request.Datas, matchInstance); //todo:赛事状态切换有效性判断 await manager.ChangeMatchInstanceStatus(matchInstance, oriStatus); await Manager.UpdateAsync(matchInstance); }
public async override Task FormSubmit(FormSubmitRequestDto request) { switch (request.Action) { case "Account": await Account(request); break; default: await base.FormSubmit(request); break; } }
public async override Task FormSubmit(FormSubmitRequestDto request) { switch (request.Action) { case "Add": await DoAdd(request); break; case "Edit": await DoEdit(request); break; } }
private async Task DoEdit(FormSubmitRequestDto request) { var manager = Manager as UserManager; var userid = Convert.ToInt32(request.Datas["id"]); var user = await manager.GetByIdAsync(userid); user.Name = request.Datas["name"]; user.UserName = request.Datas["username"]; user.IsActive = !string.IsNullOrEmpty(request.Datas["isactive"]); if (string.IsNullOrEmpty(request.Datas["OrganizationId"])) { user.OrganizationId = null; } else { user.OrganizationId = int.Parse(request.Datas["OrganizationId"]); } if ((await Repository.CountAsync(o => o.UserName == user.UserName && o.Id != user.Id)) > 0) { throw new UserFriendlyException("相同用户名称已存在"); } if (!string.IsNullOrEmpty(request.Datas["password"])) { await manager.SetPassword(user, request.Datas["password"]); } if (!string.IsNullOrEmpty(request.Datas["speciality"])) { var specialityIds = request.Datas["speciality"].Split(',').Select(o => int.Parse(o)); await manager.SetSpecialities(user, specialityIds.ToArray()); } await manager.UpdateAsync(user); await CurrentUnitOfWork.SaveChangesAsync(); await manager.SetRoles(user, new int[] { Convert.ToInt32(request.Datas["userrole"]) }); }
private async Task DoSubmit(FormSubmitRequestDto request) { var manager = Manager as OrganizationManager; Organization organization = null; if (request.Datas["Id"] == "0") { //添加 if (request.Datas.ContainsKey("IsActive") && string.IsNullOrEmpty(request.Datas["IsActive"])) { request.Datas["IsActive"] = "false"; } organization = await manager.LoadEntityFromDatas(request.Datas); //var organization = new Organization() //{ // BriefCode=request.Datas["briefCode"], // BriefName=request.Datas["briefName"], // DisplayName=request.Datas["displayName"], // Sort=int.Parse(request.Datas["sort"]), // Remarks=request.Datas["remarks"] //}; //if (!string.IsNullOrEmpty(request.Datas["parentId"])) //{ // organization.ParentId = int.Parse(request.Datas["parentId"]); //} //else //{ // organization.ParentId = null; //} organization.SetData("ExtendData1", request.Datas["ExtendData1"]); organization.SetData("ExtendData2", request.Datas["ExtendData2"]); organization.SetData("ExtendData3", request.Datas["ExtendData3"]); await manager.CreateAsync(organization); } else { var id = Convert.ToInt32(request.Datas["Id"]); var oriOrganization = await Repository.GetAsync(id);//旧组织实体 int?newParentId = null; if (!string.IsNullOrEmpty(request.Datas["ParentId"])) { if (int.TryParse(request.Datas["ParentId"], out var _)) { newParentId = int.Parse(request.Datas["ParentId"]); } else { request.Datas["ParentId"] = ""; } } //仅当父级变动 if (oriOrganization.ParentId != newParentId) { var childIds = (await manager.FindChildrenAsync(oriOrganization.Id, true)).Select(o => o.Id).ToList(); if (oriOrganization.Id == newParentId) { throw new UserFriendlyException("不允许设置父级为自己"); } else if (newParentId != null && childIds.Contains(newParentId.Value)) { throw new UserFriendlyException("不允许设置父级为子级"); } if (newParentId == null) { await manager.MoveAsync(id, null); } else { await manager.MoveAsync(id, newParentId.Value); } } organization = await manager.GetByIdAsync(id); organization = await manager.LoadEntityFromDatas(request.Datas, organization); organization.SetData("ExtendData1", request.Datas["ExtendData1"]); organization.SetData("ExtendData2", request.Datas["ExtendData2"]); organization.SetData("ExtendData3", request.Datas["ExtendData3"]); await manager.UpdateAsync(organization); } }
private async Task DoSubmit(FormSubmitRequestDto request) { var matchId = int.Parse(request.Datas["MatchId"]); //如果有申报中的赛事实例,不允许修改 //modi20181008 允许修改 //if(await _matchInstanceRepository.CountAsync(o=>o.MatchId==matchId && o.MatchInstanceStatus == MatchInstanceStatus.Applying) > 0) //{ // throw new UserFriendlyException("赛事已在申报中,无法修改"); //} if (request.Datas["ParentId"] == "null") { request.Datas["ParentId"] = null; } var manager = Manager as MajorManager; Major major = null; if (request.Datas["Id"] == "0") { //添加 if (request.Datas["IsActive"] == "") { request.Datas["IsActive"] = "false"; } major = await manager.DoAdd(request.Datas); major.SetData("ExtendData1", request.Datas["ExtendData1"]); major.SetData("ExtendData2", request.Datas["ExtendData2"]); await manager.CreateAsync(major); } else { //不允许设置父级为自身或自身子级 var id = Convert.ToInt32(request.Datas["Id"]); var oriMajor = await Repository.GetAsync(id);//旧专业实体 int?newParentId = null; if (!string.IsNullOrEmpty(request.Datas["ParentId"])) { newParentId = int.Parse(request.Datas["ParentId"]); } //仅当父级变动 if (oriMajor.ParentId != newParentId) { var childIds = (await manager.FindChildrenAsync(oriMajor.MatchId, oriMajor.MatchInstanceId, oriMajor.Id, true)).Select(o => o.Id).ToList(); if (oriMajor.Id == newParentId) { throw new UserFriendlyException("不允许设置父级为自己"); } else if (newParentId != null && childIds.Contains(newParentId.Value)) { throw new UserFriendlyException("不允许设置父级为子级"); } if (newParentId == null) { await manager.MoveAsync(id, null); } else { await manager.MoveAsync(id, newParentId.Value); } } major = await manager.DoEdit(request.Datas, id); major.SetData("ExtendData1", request.Datas["ExtendData1"]); major.SetData("ExtendData2", request.Datas["ExtendData2"]); await manager.UpdateAsync(major); } }
private async Task DoAdd(FormSubmitRequestDto request) { var matchInstance = await Manager.LoadEntityFromDatas(request.Datas); await Manager.InsertAsync(matchInstance); }