Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }