public async Task <IActionResult> GiveOutEsm(long id, Esm esm) { /*status:{ * '1': 'home', * '2': 'on way', * '3': 'in depot, but not home * } * esm_format:{ * esmId:'', * LastDriver:''//машинист, которому выдают esm. * }*/ if (id != esm.EsmId || esm.LastDriver == null) { return(BadRequest()); } var driver = await _context.Driver.FindAsync(esm.LastDriver); if (driver == null || driver.Esm.Count != 0) { return(BadRequest()); } var esmCurrent = await _context.Esm.FindAsync(esm.EsmId); if (esmCurrent == null || !(esmCurrent.LastDepot != null && esmCurrent.LastDepot == esm.LastDepot)) { return(BadRequest()); } esmCurrent.LastDriver = esm.LastDriver; esmCurrent.Status = 2; _context.Entry(esmCurrent).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EsmExists(id)) { return(NotFound()); } else { //что тут? throw; } } return(Ok()); }
public async Task <ActionResult <UserWithToken> > Login([FromBody] User user) { var user1 = await _context.User .Where(us => us.UserName == user.UserName && us.UserPassword == user.UserPassword) .FirstOrDefaultAsync(); UserWithToken userWithToken = null; if (user1 != null) { var refreshToken = GenerateRefreshToken(); user1.Token.Add(refreshToken); await _context.SaveChangesAsync(); userWithToken = new UserWithToken(user1); userWithToken.RefreshToken = refreshToken.Token1; } if (userWithToken == null) { return(Unauthorized()); } userWithToken.AccessToken = GenerateAccessToken(user1.UserId); return(Ok(userWithToken)); }