/// <summary>
        /// 更新角色
        /// </summary>
        /// <param name="related"></param>
        /// <returns></returns>
        public BaseResult Update(related related)
        {
            result.code = 0;
            using (MySqlContext context = new MySqlContext(new MySqlConnectionFactory()))
            {
                try
                {
                    context.Session.BeginTransaction();
                    var single = dalDictionary.Single(related.dicvalue);
                    if (related.id == 0)
                    {
                        if (single == null)
                        {
                            dalDictionary.AddDictionary(related.dicvalue);
                        }
                        else
                        {
                            result.code = -1;
                            result.msg  = "已存在该角色命名";
                            return(result);
                        }
                    }
                    else
                    {
                        if (dalDictionary.UpdateDictionary(related.dicvalue, related.NotMapped) == 0 ||
                            dalDictionary.UpdateRelated(related.dicvalue, related.NotMapped) == 0 ||
                            dalUser.UpdateByDicvalue(related.dicvalue, related.NotMapped) == 0)
                        {
                            result.code = -2;
                            result.msg  = "修改失败";
                            return(result);
                        }
                    }

                    if (single != null)
                    {
                        result.code = -1;
                        result.msg  = "已存在该角色命名";
                        return(result);
                    }
                    string effect = related.reserve1;
                    if (effect == null || effect == "")
                    {
                        return(result);
                    }

                    if (!effect.Contains(","))
                    {
                        dalDictionary.AddRelated(related.dicvalue, Convert.ToInt16(effect));
                        return(result);
                    }

                    string[] effectarr = effect.Split(',');
                    foreach (var i in effectarr)
                    {
                        dalDictionary.AddRelated(related.dicvalue, Convert.ToInt16(i));
                    }
                    context.Session.CommitTransaction();
                }
                catch
                {
                    result.code = -2;
                    result.msg  = "操作失败";
                    if (context.Session.IsInTransaction)
                    {
                        context.Session.RollbackTransaction();
                    }
                    throw;
                }
            }

            return(result);
        }
示例#2
0
 public JsonResult UpdateRole(related related)
 {
     return(Json(bllDictionary.Update(related)));
 }