public ActionResult Save(string datapointValues, string date, string campaignID, string lobID, string siteID) { //string[] splitDatapointIds = datapointIds.TrimEnd( ',' ).Split( ',' ); string[] splitDatapointValues = datapointValues.TrimEnd(',').Split(','); string message = string.Empty; #region Create Data set //DataSet dataset = new DataSet(); //dataset.Locale = CultureInfo.InvariantCulture; DataTable datatable = new DataTable(); //dataset.Tables.Add( "AHCData" ); datatable.Columns.Add("DatapointID", typeof(long)); datatable.Columns.Add("SiteID", typeof(long)); datatable.Columns.Add("CampaignID", typeof(long)); datatable.Columns.Add("LoBID", typeof(long)); datatable.Columns.Add("Date", typeof(DateTime)); //datatable.Columns.Add( "Date", typeof( string ) ); datatable.Columns.Add("DataValue", typeof(string)); datatable.Columns.Add("UserName", typeof(string)); datatable.Columns.Add("DateModified", typeof(DateTime)); string datemodified = DateTime.Now.ToString(); string user = User.Identity.GetUserName(); DataRow datarow; #endregion try { foreach (var datapointValue in splitDatapointValues) { long id = 0; string dt = string.Empty; string value = string.Empty; string[] splitDatapointValue = datapointValue.Split(':'); string[] splitIdDate = splitDatapointValue[0].Split('_'); id = Convert.ToInt64(splitIdDate[1]); dt = splitIdDate[0].Replace("x", "-"); value = splitDatapointValue[1].ToString().Replace("%", "").Trim(); datarow = datatable.NewRow(); datarow["DatapointID"] = id; datarow["SiteID"] = siteID; datarow["CampaignID"] = campaignID; datarow["LoBID"] = lobID; datarow["Date"] = dt; datarow["DataValue"] = value; datarow["UserName"] = user; datarow["DateModified"] = datemodified; datatable.Rows.Add(datarow); } _ahcService.Save(datatable); message = "Data saved."; } catch (Exception ex) { message = "Unexpected error encountered. Please contact your system administrator."; string auditEntry = string.Empty; auditEntry += @"Error saving Assumption and Headcount. \n"; auditEntry += string.Format("ErrorMessage: {0} \n", ex.Message); auditEntry += string.Format("TargetName: {0} \n", ex.TargetSite.Name); auditEntry += string.Format("StackTrace: {0} \n", ex.StackTrace); AuditTrailViewModel audit = new AuditTrailViewModel() { AuditEntry = auditEntry, CreatedBy = User.Identity.GetUserName(), DateCreated = DateTime.Now, DateModified = null }; _auditTrailService.Create(audit); } var model = new Model.Web.CommonView() { Message = message }; return(Json(model, JsonRequestBehavior.AllowGet)); }