Bonjour � tous.
Voici mon probl�me.
J'ai cr�e une Web API Asp.Net qui permet d'enregistrer des donn�es dans deux tables sql server. (tables Prelevement, DetailsPrelevement)
voici les models
DetailsPrelevement
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 /// Prelevement namespace LIMS24092022.Models { public partial class Prelevement { public Prelevement() { DetailsPrelevements = new HashSet<DetailsPrelevement>(); } public int Id { get; set; } public DateTime DatePrelevement { get; set; } public DateTime? HeureDebPrelevement { get; set; } public DateTime? HeureFinPrelevement { get; set; } public DateTime? HeureSortie { get; set; } public int? EquipementPrelevId { get; set; } public int? SiteclientId { get; set; } public int? EchneurId { get; set; } public int? NbreLot { get; set; } public DateTime? DateConstitution { get; set; } public DateTime? HeureDebConstitution { get; set; } public DateTime? HeureFinConstitution { get; set; } public DateTime? DateTamisage { get; set; } public DateTime? HeureDebTamisage { get; set; } public DateTime? HeureFinTamisage { get; set; } public DateTime? DateQuartage { get; set; } public DateTime? HeureDebQuartage { get; set; } public DateTime? HeureFinQuartage { get; set; } public int? EquipementCartageId { get; set; } public DateTime? DateQuadrillage { get; set; } public DateTime? HeureDebQuadrillage { get; set; } public DateTime? HeureFinQuadrillage { get; set; } public int? EquipementQuadrillageId { get; set; } public DateTime? DateConditionnement { get; set; } public DateTime? HeureDebConditionnement { get; set; } public DateTime? HeureFinConditionnement { get; set; } public int? EmballageId { get; set; } public int? ExpedId { get; set; } public int? PorteurId { get; set; } public int? TransportId { get; set; } public int? MatiereId { get; set; } public string Description { get; set; } public string Elements { get; set; } public int? ClientId { get; set; } public int? LotId { get; set; } public DateTime? DateExp { get; set; } public DateTime? Servertime { get; set; } public int? CreatedBy { get; set; } public DateTime? CreatedOn { get; set; } public int? UpdatedBy { get; set; } public DateTime? UpdatedOn { get; set; } public int? LaboId { get; set; } public int? TypedocId { get; set; } public int? Oldid { get; set; } public string Workorder { get; set; } public virtual Client Client { get; set; } public virtual Labo Labo { get; set; } public virtual ICollection<DetailsPrelevement> DetailsPrelevements { get; set; } } }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 ///Details prelevement namespace LIMS24092022.Models { public partial class DetailsPrelevement { public DetailsPrelevement() { Ehcantillons = new HashSet<Ehcantillon>(); } public int Id { get; set; } public int Idprelevement { get; set; } public string Refclient { get; set; } public int? CpId { get; set; } public double? QuantitePrelevee { get; set; } public double? PoidsSsm { get; set; } public double? PoidsClient { get; set; } public double? PoidsOcc { get; set; } public double? PoidsCeec { get; set; } public string ListeElements { get; set; } public DateTime? CreatedOn { get; set; } public int? CreatedBy { get; set; } public DateTime? UpdatedOn { get; set; } public int? UpdateBy { get; set; } public DateTime? TimeInserted { get; set; } public int? LaboId { get; set; } public int? Iddemande { get; set; } public int? Oldidprelevement { get; set; } public virtual Prelevement IdprelevementNavigation { get; set; } public virtual ICollection<Ehcantillon> Ehcantillons { get; set; } } }
et le controller prelevement
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99 namespace LIMS24092022.Controllers { [Route("api/[controller]")] [ApiController] public class PrelevementsController : ControllerBase { private readonly APIContext _context; public PrelevementsController(APIContext context) { _context = context; } // GET: [HttpGet] public async Task<ActionResult<IEnumerable<Prelevement>>> GetPrelevements() { return await _context.Prelevements.ToListAsync(); } // GET: [HttpGet("{id}")] public async Task<ActionResult<Prelevement>> GetPrelevement(int id) { var prelevement = await _context.Prelevements.FindAsync(id); if (prelevement == null) { return NotFound(); } return prelevement; } // PUT: // To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754 [HttpPut("{id}")] public async Task<IActionResult> PutPrelevement(int id, Prelevement prelevement) { if (id != prelevement.Id) { return BadRequest(); } _context.Entry(prelevement).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PrelevementExists(id)) { return NotFound(); } else { throw; } } return NoContent(); } // POST: // To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754 [HttpPost] public async Task<ActionResult<Prelevement>> PostPrelevement(Prelevement prelevement) { _context.Prelevements.Add(prelevement); await _context.SaveChangesAsync(); return CreatedAtAction("GetPrelevement", new { id = prelevement.Id }, prelevement); } // DELETE: [HttpDelete("{id}")] public async Task<IActionResult> DeletePrelevement(int id) { var prelevement = await _context.Prelevements.FindAsync(id); if (prelevement == null) { return NotFound(); } _context.Prelevements.Remove(prelevement); await _context.SaveChangesAsync(); return NoContent(); } private bool PrelevementExists(int id) { return _context.Prelevements.Any(e => e.Id == id); } } }
Pendant les tests, avec Postman tout fonctionne bien, je peux enregistrer un pr�levement avec plusieurs d�tails en une seule fois.
Mais en production, je peux enregistrer un pr�levement avec TROIS d�tails seulement.
l'API revoie une erreur 500 lorsque j'essaie d'enregistrer un pr�levement avec PLUS DE TROIS DETAILS PRELEVEMENT.
Je n'arrive pas � d�terminer le probl�me pour corriger.
Pourriez-vous s'il vous plait m'aider.
D'avance merci beaucoup.
Partager