public async Task <ActionResult <Coordinator> > UpdateCoordinator( long id, int seqid, [FromBody] CoordinatorRequest request) { var coordinator = await _context.Coordinators.FirstOrDefaultAsync(co => co.StationId == id && co.SeqId == seqid); if (coordinator == null) { return(NotFound()); } if (!string.IsNullOrWhiteSpace(request.Name)) { coordinator.Name = request.Name; } if (!string.IsNullOrWhiteSpace(request.Address)) { coordinator.Address = request.Address; } if (request.IPHost != null) { coordinator.IPHost = request.IPHost; } if (request.IPPort.HasValue) { coordinator.IPPort = request.IPPort; } if (request.Disabled.HasValue) { coordinator.Disabled = request.Disabled.Value; } await _context.SaveChangesAsync(); return(coordinator); }
public async Task <ActionResult <Coordinator> > CreateCoordinator( long id, int seqid, [FromBody] CoordinatorRequest request) { Coordinator coordinator = await _context.Coordinators.FirstOrDefaultAsync(co => co.StationId == id && co.SeqId == seqid); if (coordinator == null) { coordinator = new Coordinator(); coordinator.StationId = id; coordinator.SeqId = seqid; coordinator.Name = request.Name; coordinator.Address = request.Address; coordinator.IPHost = request.IPHost; coordinator.IPPort = request.IPPort; coordinator.Disabled = false; coordinator.CreatedAt = DateTime.Now; _context.Coordinators.Add(coordinator); } else { if (!string.IsNullOrWhiteSpace(request.Name)) { coordinator.Name = request.Name; } if (!string.IsNullOrWhiteSpace(request.Address)) { coordinator.Address = request.Address; } if (request.IPHost != null) { coordinator.IPHost = request.IPHost; } if (request.IPPort.HasValue) { coordinator.IPPort = request.IPPort; } if (request.Disabled.HasValue) { coordinator.Disabled = request.Disabled.Value; } } await _context.SaveChangesAsync(); return(coordinator); }