public void Post([FromBody] Models.IncidentDetail value) { Models.IncidentDetail detail = value; try { if (detail.incidentDetailId == 0) { this._db.IncidentDetails.Add(detail); } else { this._db.IncidentDetails.Attach(detail); this._db.Entry(detail).State = System.Data.Entity.EntityState.Modified; } this._db.SaveChanges(); } catch (Exception ex) { string errorMessage = ex.Message; if (ex.InnerException != null) { errorMessage += Environment.NewLine + ex.InnerException.Message; } string currentUser = RequestContext.Principal.Identity.Name; Helpers.Mailer.SendExceptionDetail("post:/api/reportdetails", errorMessage, ex.StackTrace, currentUser, value); throw new Exception(errorMessage); } }
public long Post([FromBody] Models.IncidentDetail details) { bool existingDetailsRecordExsits = this._db.IncidentDetails.Where(d => d.incidentId == details.incidentId).Any(); if (details.incidentDetailId == 0) { if (existingDetailsRecordExsits) { // UPDATE EXISTING RECORD this._db.IncidentDetails.Attach(details); this._db.Entry(details).State = System.Data.Entity.EntityState.Modified; } else { // ADD NEW RECORD this._db.IncidentDetails.Add(details); } } else { // UPDATE EXISTING RECORD this._db.IncidentDetails.Attach(details); this._db.Entry(details).State = System.Data.Entity.EntityState.Modified; } this._db.SaveChanges(); return(details.incidentDetailId); }