public HttpResponseMessage Authenticate([FromBody] SystemUser user) { if (user == null) { var ex = new ArgumentNullException("user"); return Request.CreateResponse(HttpStatusCode.InternalServerError, ex); } if ((user = SystemUser.Authenticate(user.Username, user.Password)) != null) { var authUser = new SystemUser { Id = user.Id, Username = user.Username, }; authUser.GenerateAuthToken(); ApplicationContext.AddAuthenticatedUser(authUser); return Request.CreateResponse(HttpStatusCode.OK, authUser); } else { return Request.CreateResponse(HttpStatusCode.Forbidden); } }
public static async Task<SystemUser> Insert(SystemUser data) { var ctx = ModelContext.GetInstance(); ctx.systemUsers.Add(toRaw(data)); await ctx.SaveChangesAsync(); return (SystemUser)ctx.systemUsers.OrderByDescending(x => x.id).FirstOrDefault(); }
public static async Task<SystemUser> Update(SystemUser data) { var ctx = ModelContext.GetNewInstance(); var raw = toRaw(data); ctx.systemUsers.Attach(raw); System.Data.Entity.Infrastructure.DbEntityEntry<Database.systemUser> entry = ctx.Entry(raw); entry.State = System.Data.Entity.EntityState.Modified; await ctx.SaveChangesAsync(); return Get((int)data.Id); }
public static Database.systemUser toRaw(SystemUser data) { var raw = new Database.systemUser() { username = data.Username, password = data.Password, email = data.Email }; if (data.Id != null) { raw.id = (int)data.Id; } return raw; }
public static bool AddAuthenticatedUser(SystemUser user) { return LoggedUsersDic.TryAdd(user.AuthToken, user); }