public HttpResponseMessage PostLoginUser(UserModel model) { var context = new BankSystemEntities(); using (context) { var user = context.Users.FirstOrDefault( u => u.Username == model.Username.ToLower() && u.Password == model.Password); if (user == null) { throw new InvalidOperationException("Invalid username or password"); } if (user.AuthKey == null) { user.AuthKey = this.GenerateSessionKey(user.Id); context.SaveChanges(); } var loggedModel = new LoggedUserModel() { Id = user.Id, Username = user.Username, SessionKey = user.AuthKey }; var response = this.Request.CreateResponse(HttpStatusCode.Created, loggedModel); return response; } }
public UserMoneyModel GetUser(string sessionKey) { var context = new BankSystemEntities(); using (context) { var user = context.Users.FirstOrDefault( u => u.AuthKey == sessionKey); if (user == null) { throw new InvalidOperationException("No user with such sessionKey logged"); } else { var model = new UserMoneyModel() { Id = user.Id, AvelableMoney = user.AvelableMoney }; return model; } } }
public HttpResponseMessage PostLoginUser(User user) { BankSystemEntities context = new BankSystemEntities(); using (context) { context.Users.Add(user); context.SaveChanges(); user.AuthKey = this.GenerateSessionKey(user.Id); context.SaveChanges(); var response = this.Request.CreateResponse(HttpStatusCode.Created, user); return response; } }
public ICollection<LogModel> GetGrid(string sessionKey) { var context = new BankSystemEntities(); var user = context.Users.FirstOrDefault(u => u.AuthKey == sessionKey); if (user==null) { throw new InvalidOperationException("No such user loged"); } var logs = context.LogInfoes.Where(l=> l.UserId==user.Id); var models = from log in logs select new LogModel() { NewSum = log.NewSum, OldSum = log.OldSum, TransDate = log.TransDate }; return models.ToList(); }
public HttpResponseMessage PutLogoutUser(int money,string sessionKey) { var context = new BankSystemEntities(); using (context) { var user = context.Users.FirstOrDefault(u => u.AuthKey == sessionKey); if (user==null) { throw new InvalidOperationException("There is no such user loged"); } user.AvelableMoney = money; context.SaveChanges(); var model = new UserMoneyModel() { Id = user.Id, AvelableMoney = user.AvelableMoney }; var response = this.Request.CreateResponse(HttpStatusCode.OK,model); return response; } }
public HttpResponseMessage PutLogoutUser(string sessionKey) { var context = new BankSystemEntities(); using (context) { var user = context.Users.FirstOrDefault( u => u.AuthKey == sessionKey); if (user == null) { throw new InvalidOperationException("No user with such sessionKey logged"); } user.AuthKey = null; context.SaveChanges(); var response = this.Request.CreateResponse(HttpStatusCode.OK); return response; } }