public async Task <IActionResult> Post([FromBody] Client value) { using (_db) { _logger.LogDebug("Inserting client:{1} for user:{0}", User, $"{value.Lastname} {value.Firstname}"); await _db.Clients.AddAsync(value); await _db.SaveChangesAsync(); return(Ok(value)); } }
public async Task <IActionResult> StartJob(int id) { using (_db) { _logger.LogDebug("Starting job:{1} for user:{0}", User, id); var job = await _db.Jobs .Include(j => j.AssignedTo) .Include(j => j.Car) .ThenInclude(car => car.Owner) .ThenInclude(c => c.ContactInfo) .FirstOrDefaultAsync(job => job.Id == id); var jobToUpdate = _db.Jobs.Attach(job); var user = await _userManager.GetUserAsync(User); if (!string.IsNullOrEmpty(job.AssignedToId)) { if (user.Id != job.AssignedToId) { return(Forbid()); } } if (job.Status == JobStatus.Awaiting) { job.Started = DateTime.Now; job.Status = JobStatus.InProgress; if (job.AssignedTo == null) { job.AssignedTo = user; job.AssignedToId = user.Id; } await _db.SaveChangesAsync(); return(Ok(job)); } return(Ok()); } }
public async Task <IActionResult> Post([FromBody] CarMessage value) { using (_db) { _logger.LogDebug("Inserting car:{1} for user:{0}", User, value.LicencePlate); var car = new Car { LicencePlate = value.LicencePlate, OwnerId = value.OwnerId, Type = value.Type }; await _db.Cars.AddAsync(car); await _db.SaveChangesAsync(); await _db.Entry(car).Reference(c => c.Owner).LoadAsync(); return(Ok(car)); } }