public IHttpActionResult PutSeason(int id, Season season) { var list = new List <Season>(); var pageName = Request.RequestUri.LocalPath.getRouteName(); Object obj = null; var UserId = 0; if (Request.Headers.Contains("Email")) { var email = ((string[])(Request.Headers.GetValues("Email")))[0].ToString(); UserId = db.Users.Where(x => x.IsActive == true && x.Email.Contains(email)).FirstOrDefault().Id; } string logTable = ""; var data = db.Seasons.Where(x => x.IsActive == true && x.Id == id).FirstOrDefault(); data.Code = season.Code; data.Description = season.Description; data.UpdatedOn = System.DateTime.UtcNow; try { db.SaveChanges(); list.Add(season); return(Ok(data)); } catch (DbUpdateConcurrencyException ex) { obj = ex; } finally { if (obj == null) { logTable = ""; var change = list.ToDataTables().getChangedRecords(); var c = change.Count() / 2; for (var i = 0; i < c; i++) { logTable += change[i].Fieldname + " Old Value=[" + change[i].FieldValue + "] New Value=[" + change[i + c].FieldValue + "], "; } //logTable = Newtonsoft.Json.JsonConvert.SerializeObject(change); var flag = season.CreateLog(pageName, logTable, UserId); } } return(Ok(data)); }
public IHttpActionResult PostSeason(Season season) { var pageName = Request.RequestUri.LocalPath.getRouteName(); Object obj = null; var UserId = 0; if (Request.Headers.Contains("Email")) { var email = ((string[])(Request.Headers.GetValues("Email")))[0].ToString(); UserId = db.Users.Where(x => x.IsActive == true && x.Email.Contains(email)).FirstOrDefault().Id; } Season model = new Season(); model.Code = season.Code; model.Description = season.Description; model.IsActive = true; model.CreatedOn = System.DateTime.UtcNow; model.UpdatedOn = System.DateTime.UtcNow; db.Seasons.Add(model); try { db.SaveChanges(); } catch (Exception ex) { obj = ex; } finally { if (obj == null) { var logTable = Newtonsoft.Json.JsonConvert.SerializeObject(season, new JsonSerializerSettings() { PreserveReferencesHandling = PreserveReferencesHandling.Objects, Formatting = Formatting.Indented }); var flag = season.CreateLog(pageName, logTable, UserId); } } return(Ok(true)); }