public async Task <IActionResult> GetRow([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var rawRow = await _context.Rows.FindAsync(id); if (rawRow == null) { return(NotFound()); } var row = RowConverter.RowConvert(rawRow); if (row.Type == "MultiService") { foreach (var name in _context.Services.Where(u => u.RowId == row.Id).ToList()) { row.Names.Add(name.Name); } } return(Ok(row)); }
public async Task <ActionResult <bool> > PutRow([FromBody] RowDto row) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } while (_context.Services.Any(u => u.RowId == row.Id)) { _context.Services.Remove(await _context.Services.FirstOrDefaultAsync(u => u.RowId == row.Id)); await _context.SaveChangesAsync(); } _context.Update(RowConverter.RowConvert(row)); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RowExists(row.Id)) { return(NotFound()); } else { throw; } } return(Ok(true)); }
public async Task <ActionResult <List <RowDto> > > FromJson([FromBody] List <RowDto> rows) { int pos = 1; foreach (var row in rows) { row.Pos = pos; pos++; _context.Rows.Add(RowConverter.RowConvert(row)); } await _context.SaveChangesAsync(); return(Ok(rows)); }
public List <RowDto> GetRows() { List <RowDto> result = RowConverter.RowConvert(_context.Rows.ToList()); foreach (var row in result) { if (row.Type == "MultiService") { foreach (var name in _context.Services.Where(u => u.RowId == row.Id).ToList()) { row.Names.Add(name.Name); } } } return(result); }
public List <RowDto> GetTable([FromRoute] string table) { List <RowDto> result = RowConverter.RowConvert( _context.Rows.Where(u => u.Table == table).ToList()); foreach (var row in result) { if (row.Type == "MultiService") { foreach (var name in _context.Services.Where(u => u.RowId == row.Id).ToList()) { row.Names.Add(name.Name); } } } result.Sort(new Services.PosComparer()); return(result); }
public async Task <ActionResult <Row> > PostRow([FromBody] RowDto row) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } foreach (var r in _context.Rows.ToList()) { if (r.Table == row.Table && r.Pos >= row.Pos) { r.Pos++; } } _context.Rows.Add(RowConverter.RowConvert(row)); await _context.SaveChangesAsync(); return(Ok(row)); }