protected void Page_Load(object sender, EventArgs e) { string requestId = Request.QueryString["RequestId"]; if (!string.IsNullOrEmpty(requestId)) { // if we found requestid means thread is processed if (ThreadResult.Contains(requestId)) { // get value string result = (string)ThreadResult.Get(requestId); // show message lblResult.Text = result; lblProcessing.Visible = false; lblResult.Visible = true; // Remove value from HashTable ThreadResult.Remove(requestId); } else { // keep refreshing progress window Response.AddHeader("refresh", "3"); } } }
public static void TransferFinished(Dictionary <CustomerData, EvilReturn> results, Guid requestId) { var dbContext = new AFDDataContext(); var failedItems = new Dictionary <CustomerData, EvilReturn>(); var builder = new StringBuilder(); int goodCount = 0; foreach (var result in results) { var parms = new SqlParameter[] { new SqlParameter("@status", System.Data.SqlDbType.TinyInt), new SqlParameter("@hash", System.Data.SqlDbType.NVarChar), new SqlParameter("@checkResult", System.Data.SqlDbType.TinyInt), new SqlParameter("@checkerror", System.Data.SqlDbType.NVarChar), new SqlParameter("@id", System.Data.SqlDbType.UniqueIdentifier) }; if (result.Value.added.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { goodCount++; //result.Key.hash = result.Value.hash; //result.Key.uploadstatus = 0; parms[0].Value = 3; parms[1].Value = result.Value.hash; parms[2].Value = result.Key.checkResult; parms[3].SqlValue = ((result.Key.checkerror == null) ? DBNull.Value : (object)result.Key.checkerror); parms[4].Value = result.Key.id; dbContext.Database.ExecuteSqlCommand( "Update CustomerDatas " + "Set uploadstatus = @status, hash = @hash, checkResult = @checkResult, checkerror = @checkerror " + "Where id = @id", parms.ToArray()); } else { //result.Key.hash = null; //result.Key.uploadstatus = 2; // failed parms[0].Value = 2; parms[1].Value = ""; parms[2].Value = result.Key.checkResult; parms[3].SqlValue = result.Key.checkerror; parms[4].Value = result.Key.id; dbContext.Database.ExecuteSqlCommand( "Update CustomerDatas " + "Set uploadstatus = @status, hash = @hash, checkResult = @checkResult, checkerror = @checkerror " + "Where id = @id", parms); failedItems.Add(result.Key, result.Value); } //dbContext.Customers.Add(result.Key); } //dbContext.SaveChanges(); builder.Append(string.Format("{0} orders successfully updated<br/>", goodCount)); if (failedItems.Count != 0) { foreach (var item in failedItems) { builder.Append(string.Format("Customer {0} was not updated. Error {1}<br/>", item.Key.customer, ((item.Value.errors.Length != 0) ? item.Value.errors[0] : ""))); } } ThreadResult.Add(requestId.ToString(), builder.ToString()); // you can add your result in second parameter. }