/// <summary> /// 提交新账户,如果不存在,则添加,如果存在则修改 /// </summary> /// <param name="name">账户名</param> /// <param name="userid">用户Id</param> /// <param name="flags">账户标示</param> /// <param name="accountType">账户类型</param> /// <returns></returns> public static Account Post(string name, Guid userid, UMC.Security.UserFlags flags, int accountType) { var entity = UMC.Data.Database.Instance().ObjectEntity <UMC.Data.Entities.Account>(); var acc = new UMC.Data.Entities.Account { Name = name, Flags = flags }; entity.Where.Reset().And().Equal(new UMC.Data.Entities.Account { Type = accountType, user_id = userid }); var acc2 = entity.Single(); if (acc2 == null) { acc.user_id = userid; acc.Type = accountType; entity.Insert(acc); return(new Account(acc)); } else { entity.Update(acc); acc2.Name = acc.Name; acc2.Flags = acc.Flags; return(new Account(acc2)); } }
private Account(UMC.Data.Entities.Account acc) { this.Name = acc.Name; this.Flags = acc.Flags ?? UMC.Security.UserFlags.Normal; this.ForId = acc.ForId; this.user_id = acc.user_id.Value; this.Type = acc.Type ?? 0; this.Items = UMC.Data.JSON.Deserialize <Hashtable>(acc.ConfigData) ?? new Hashtable(); }
public override bool ChangeFlags(string username, UMC.Security.UserFlags flags) { if (String.IsNullOrEmpty(username)) { throw new ArgumentNullException("username"); } var userEntiy = UMC.Data.Database.Instance().ObjectEntity <User>(); userEntiy.Where.And(new User { Username = username }); return(userEntiy.Update(new User { Flags = flags }) > 0); }