public JsonResult ReportCasualty([FromBody] CasualtyDto casualty) { if (ModelState.IsValid) { return(new JsonResult(_services.CasualtyService.Report(casualty))); } else { return(new JsonResult(BadRequest())); } }
public CasualtyDto Report(CasualtyDto casualtydto) { var casualty = _mapper.Map <Casualty>(casualtydto); casualty.Timestamp = DateTime.Now; casualty.CasualtyCause = _repo.CasualtyCauses.FindOneOrCreate <CasualtyCause>( (cs) => { return(casualty.CasualtyCause.Name.Equals(cs.Name) && casualty.CasualtyCause.Category.Equals(cs.Category)); }, new CasualtyCause { Name = casualty.CasualtyCause.Name, Category = casualty.CasualtyCause.Category } ); casualty.Species = _repo.Species.FindOneOrCreate <Species>( (sp) => { return(casualty.Species.Name.Equals(sp.Name) && casualty.Species.Genus.Equals(sp.Genus)); }, new Species { Name = casualty.Species.Name, Genus = casualty.Species.Genus } ); casualty.Tank = _repo.Tanks.FindOneOrCreate <Tank>( (sp) => { return(casualty.Tank.Name.Equals(sp.Name)); }, new Tank { Name = casualty.Tank.Name, } ); var insertionResult = _repo.Casualties.InsertOne <Casualty>(casualty); return(_mapper.Map <CasualtyDto>(insertionResult)); }