public async Task <int> AddMakerIfNew(MakerMessage makerMessage) { var dbContextOptions = Step1Model.GetDbContextOptions(); var mainDbContext = Step1Model.GetDbContextFromOptions(dbContextOptions); var matchingMakers = mainDbContext.Makers .Where(x => x.Email == makerMessage.Email); var emailExists = (matchingMakers.Count() > 0); if (emailExists) { Console.WriteLine("Maker email already in database, not adding."); return(matchingMakers.First().ID); } var makerEntity = new Entities.Maker { Name = makerMessage.Name, Email = makerMessage.Email }; mainDbContext.Add(entity: makerEntity); await mainDbContext.SaveChangesAsync(); return(makerEntity.ID); }
public async Task <IActionResult> OnPostMaker([FromBody] MakerMessage makerMessage) { Console.WriteLine($"made by {makerMessage.Name}"); var entityID = await AddMakerIfNew(makerMessage); return(new ObjectResult(entityID)); }