public async Task <ActionResult> SendToAPIAsync() { var db = new CustomerDB(); ViewBag.SuccessUpload = TempData["SuccessUpload"]; string serverFileName = TempData["ServerFileName"].ToString(); string fileName = TempData["FileName"].ToString(); string filePath = Server.MapPath(Url.Content("~/CSVFiles/" + serverFileName)); var records = System.IO.File.ReadAllLines(filePath); var h = new HttpHandler(); var hashs = new List <string>(); UploadResults model = new UploadResults { RecordsCount = 0, FaildCount = 0, FileName = fileName, SuccessCount = 0 }; #region SendData foreach (var item in records) { if (!string.IsNullOrEmpty(item)) { model.RecordsCount++; //for inCorrect Data Format var detail = new Details(); try { var dt = item.Split(','); detail = new Details { customer = dt[0].Trim(), value = int.Parse(dt[1].Trim()), file = fileName, action = "order created", property = "Mohammad" }; } catch { continue; } //Send Data var responce = await h.SendDetailsToAPIAsync(detail); if (responce.hash.Length > 50) { responce.hash = "NOT Valid Hash"; responce.added = false; } db.CustomersInfoes.Add(new CustomersInfo { customer = detail.customer, value = detail.value, file = detail.file, added = responce.added, errors = string.Join(",", responce.errors.ToArray()), action = detail.action, hash = responce.hash, property = detail.property }); db.SaveChanges(); hashs.Add(responce.hash); } } #endregion SendData hashs = db.CustomersInfoes.Select(o => o.hash).ToList(); //check Customer Data foreach (var hash in hashs) { CustomersInfo responce; try { responce = await h.CheckCustommerAsync(hash); } catch (Exception e) { try { var notfounItem = db.CustomersInfoes.FirstOrDefault(o => o.hash == hash); notfounItem.errors = "Hash not found"; notfounItem.added = false; db.SaveChanges(); } catch { continue; } model.FaildCount++; continue; } model.SuccessCount++; } return(View(model)); }