public TEIssuesDisposition PostDisposition(TEIssuesDisposition request) { db.Configuration.ProxyCreationEnabled = false; TEIssuesDisposition Disposition = new TEIssuesDisposition(); Disposition = request; if (request.Uniqueid + "".Length == 0) { //Create request.CreatedOn = System.DateTime.Now; request.LastModifiedOn = System.DateTime.Now; request.ResolvedDate = System.DateTime.Now; Disposition = db.TEIssuesDispositions.Add(request); } else { db.TEIssuesDispositions.Attach(request); foreach (System.Reflection.PropertyInfo item in Disposition.GetType().GetProperties()) { string propname = item.Name; if (propname.ToLower() == "createdon") { continue; } object propValue = item.GetValue(request); if (propValue != null || Convert.ToString(propValue).Length != 0) { db.Entry(request).Property(propname).IsModified = true; } } request.LastModifiedOn = System.DateTime.Now; db.Entry(request).Property(x => x.LastModifiedOn).IsModified = true; } db.SaveChanges(); return(db.TEIssuesDispositions.Find(request.Uniqueid)); }