Example #1
0
        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);
            }
        }
Example #5
0
        /// <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);
                }
            }
        }
Example #6
0
        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);
        }
Example #8
0
        public async override Task FormSubmit(FormSubmitRequestDto request)
        {
            switch (request.Action)
            {
            case "Account":
                await Account(request);

                break;

            default:
                await base.FormSubmit(request);

                break;
            }
        }
Example #9
0
        public async override Task FormSubmit(FormSubmitRequestDto request)
        {
            switch (request.Action)
            {
            case "Add":
                await DoAdd(request);

                break;

            case "Edit":
                await DoEdit(request);

                break;
            }
        }
Example #10
0
        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"]) });
        }
Example #11
0
        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);
            }
        }
Example #12
0
        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);
        }