Esempio n. 1
0
        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);
        }