async public Task <ApiResult> _Add([FromForm] string FullName, [FromForm] string NickName, [FromForm] string IdCard, [FromForm] string IdCardAddress, [FromForm] string Mobile, [FromForm] string Email, [FromForm] string FamilyAddress, [FromForm] bool IsLeave, [FromForm] DateTime LeaveTime, [FromForm] DateTime CreateTime, [FromForm] DateTime UpdateTime, [FromForm] bool IsDeleted, [FromForm] int Sort, [FromForm] int[] mn_Posts_Id) { var item = new OrgPerson(); item.FullName = FullName; item.NickName = NickName; item.IdCard = IdCard; item.IdCardAddress = IdCardAddress; item.Mobile = Mobile; item.Email = Email; item.FamilyAddress = FamilyAddress; item.IsLeave = IsLeave; item.LeaveTime = LeaveTime; item.CreateTime = CreateTime; item.UpdateTime = UpdateTime; item.IsDeleted = IsDeleted; item.Sort = Sort; using (var ctx = fsql.CreateDbContext()) { await ctx.AddAsync(item); //关联 OrgPost var mn_Posts = mn_Posts_Id.Select((mn, idx) => new OrgPost.OrgPostPerson { PostId = mn, PersonId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Posts); await ctx.SaveChangesAsync(); } return(ApiResult <object> .Success.SetData(item)); }
async public Task <ApiResult> _Edit([FromForm] string FullName, [FromForm] string NickName, [FromForm] string IdCard, [FromForm] string IdCardAddress, [FromForm] string Mobile, [FromForm] string Email, [FromForm] string FamilyAddress, [FromForm] bool IsLeave, [FromForm] DateTime LeaveTime, [FromForm] int Id, [FromForm] DateTime CreateTime, [FromForm] DateTime UpdateTime, [FromForm] bool IsDeleted, [FromForm] int Sort, [FromForm] int[] mn_Posts_Id) { var item = new OrgPerson(); item.Id = Id; using (var ctx = fsql.CreateDbContext()) { ctx.Attach(item); item.FullName = FullName; item.NickName = NickName; item.IdCard = IdCard; item.IdCardAddress = IdCardAddress; item.Mobile = Mobile; item.Email = Email; item.FamilyAddress = FamilyAddress; item.IsLeave = IsLeave; item.LeaveTime = LeaveTime; item.CreateTime = CreateTime; item.UpdateTime = UpdateTime; item.IsDeleted = IsDeleted; item.Sort = Sort; await ctx.UpdateAsync(item); //关联 OrgPost if (mn_Posts_Id != null) { var mn_Posts_Id_list = mn_Posts_Id.ToList(); var oldlist = ctx.Set <OrgPost.OrgPostPerson>().Where(a => a.PersonId == item.Id).ToList(); foreach (var olditem in oldlist) { var idx = mn_Posts_Id_list.FindIndex(a => a == olditem.PostId); if (idx == -1) { ctx.Remove(olditem); } else { mn_Posts_Id_list.RemoveAt(idx); } } var mn_Posts = mn_Posts_Id_list.Select((mn, idx) => new OrgPost.OrgPostPerson { PostId = mn, PersonId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Posts); } var affrows = await ctx.SaveChangesAsync(); if (affrows > 0) { return(ApiResult.Success.SetMessage($"更新成功,影响行数:{affrows}")); } } return(ApiResult.Failed); }
/// <summary> /// 新增或修改机构人员信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel EditPerson(OrgPersonDto model) { //提示信息 var result = new ResponseModel(ResponseCode.Success, "保存机构人员信息成功!"); try { using (var db = new DbContext()) { //查询机构人员下一个序列 var sqlStr = db.GetSql("CA00006-查询机构人员下一个序列", null, null); ISqlBuilder sqlBuilder = db.Sql(sqlStr); int item = 0; //执行SQL脚本 if (sqlBuilder.Select().Rows[0][0] != null) { item = Convert.ToInt32((sqlBuilder.Select().Rows[0][0])); } //重置简码 model.简码 = Basics.Utils.Strings.GetFirstPY(model.姓名.Trim()); //机构人员 OrgPerson person = new OrgPerson(); person.出生日期 = model.出生日期; person.姓名 = model.姓名; person.学历 = model.学历; person.性别 = model.性别; person.手机 = model.手机; person.擅长 = model.擅长; person.机构id = model.机构id; person.民族 = model.民族; person.状态 = model.状态; person.电话 = model.电话; person.简介 = model.简介; person.简码 = model.简码; person.职务 = model.职务; person.身份证号 = model.身份证号; person.邮箱 = model.邮箱; //账户 Account account = new Account(); account.姓名 = model.姓名; account.账户 = model.账户; account.状态 = model.状态; if (!model.密码.IsNullOrEmpty()) { account.密码 = Strings.StrToMD5(model.密码); } var value = db.DelegateTrans <bool>(() => { var count = 0; if (model.id == 0) { //将下一个序列赋值给机构人员id person.id = item; //新增默认给状态赋值为启用 person.状态 = 1; account.状态 = 1; //新增机构人员 count = db.Insert <OrgPerson>(person).Execute(); if (count <= 0) { db.Rollback(); return(false); } ////新增账户 account.人员id = item; //保存账户 count = db.Insert <Account>(account).Execute(); if (count <= 0) { db.Rollback(); return(false); } } else { person.id = model.id; //修改机构人员 count = db.Update <OrgPerson>(person).Where("id", person.id).Execute(); if (count <= 0) { db.Rollback(); return(false); } //修改账户 account.人员id = model.id; account.id = model.账户id; count = db.Update <Account>(account).Execute(); if (count <= 0) { db.Rollback(); return(false); } } return(true); }); if (!value) { result.code = ResponseCode.Error.ToInt32(); result.msg = "保存机构人员信息失败!"; } } } catch (Exception ex) { result.code = ResponseCode.Error.ToInt32(); result.msg = "保存机构人员信息失败!"; } return(result); }