Save DataSet

This commit is contained in:
2022-12-21 18:35:26 +01:00
parent db13b1ab1b
commit 0f28e18ed2
13 changed files with 359 additions and 40 deletions

View File

@@ -53,7 +53,7 @@ namespace WebAPI.Controllers
Subject = new ClaimsIdentity(new[]
{
new Claim("Id", Guid.NewGuid().ToString()),
new Claim(JwtRegisteredClaimNames.Sub, user.UserName),
new Claim(JwtRegisteredClaimNames.Sub, user.Id.ToString()),
new Claim(JwtRegisteredClaimNames.Jti,
Guid.NewGuid().ToString())
}),

View File

@@ -35,6 +35,19 @@ namespace WebAPI.Controllers
}
}
[HttpPost]
public IActionResult Save(DataSet input)
{
try
{
Request.Headers.TryGetValue("userId", out var value);
Guid currentUserId = new Guid(value);
return Ok(AddDataSet(input, currentUserId).Id);
} catch(Exception e)
{
return BadRequest(e.ToString());
}
}
[HttpPost]
[DisableRequestSizeLimit]
[Route("parseFile")]
public IActionResult ParseFile()
@@ -42,5 +55,42 @@ namespace WebAPI.Controllers
var parser = new csvParser();
return Ok(parser.parse(Request.Form.Files[0]));
}
//
private DataSet AddDataSet(DataSet input, Guid currentUserId)
{
input.Number = db.DataSets.Count() + 1;
input.CreatedById = currentUserId;
input.ModifiedById = currentUserId;
input.CreatedAt = DateTime.UtcNow;
input.ModifiedAt = DateTime.UtcNow;
db.DataSets.Add(input);
SaveDataRows(input.Id, input.DataRows, currentUserId);
db.SaveChanges();
return input;
}
private void SaveDataRows(Guid id, ICollection<Models.DataRow> dataRows, Guid currentUserId)
{
try
{
List<Guid> ids = new List<Guid>();
foreach (Models.DataRow dataRow in dataRows)
{
dataRow.CreatedById = currentUserId;
dataRow.CreatedAt = DateTime.UtcNow;
dataRow.ModifiedById = currentUserId;
dataRow.ModifiedAt = DateTime.UtcNow;
dataRow.DataSetId= id;
db.DataRows.Add(dataRow);
}
}
catch (Exception)
{
throw;
}
}
}
}