Пример #1
0
        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));
        }
Пример #2
0
        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);
        }