public ActionResult ImportBulksms() { if (_workerContext.CurrentUserPersonalInformation.UserId != null) { Importmodel model = new Importmodel(); var importname = _genservice.GetImportEntityPerUserID(_workerContext.CurrentUserPersonalInformation.UserId); model.mergeStringtype.Add(new SelectListItem() { Text = "-Select-", Value = "-1", Selected = (model.mergeString == null) }); foreach (ImportEntity s in importname) model.mergeStringtype.Add(new SelectListItem() { Text = s.BatchName, Value = s.BatchName, Selected = (s.BatchName == model.mergeString) }); return View(model); } else return RedirectToAction("Default", "Default"); }
public ActionResult ImportBulksms(HttpPostedFileBase uploadedFile, Importmodel model) { if (_workerContext.CurrentUserPersonalInformation.UserId != null) { if (model.Radionewdescription == true) { var existingbook = _genservice.GetBatchNameForUser(model.BatchName, _workerContext.CurrentUserPersonalInformation.UserId); if (uploadedFile != null && string.IsNullOrEmpty(existingbook)) { var fileName = Path.GetFileName(uploadedFile.FileName); var File = System.Web.Hosting.HostingEnvironment.MapPath("~/uploads/files/" + fileName); //var path = Path.Combine(Server.MapPath("~/uploads/files"), fileName); var path = Server.MapPath("~/uploads/files/" + fileName); uploadedFile.SaveAs(path); var fs = System.IO.File.OpenRead(path); FileInfo files = new FileInfo(fs.Name); string full = Path.GetFullPath(path); string file = Path.GetFileName(full); var ext = Path.GetExtension(path); if (ext == ".txt") { using (StreamReader sr = new StreamReader(File)) { string line = sr.ReadToEnd(); string[] split = line.Split(','); model.Numbers = ConvertStringArrayToString(split); List<string> lst = new List<string>(split); var num = _genservice.Numbers(lst, model.countryCode); if (num.Contains("Please Correct")) { TempData["line"] = string.Join(" ", num.ToArray()); ; return View(model); } model.BatchCount = split.Count(); ImportEntity import = new ImportEntity(); import.BatchName = model.BatchName; import.BatchCount = model.BatchCount; import.countryCode = model.countryCode; import.Numbers = String.Join(",", num); import.UserId = _workerContext.CurrentUserPersonalInformation.UserId; var returnedEntity = _genservice.saveBulk(import); foreach (string imNum in num.Distinct()) { _genservice.SaveImported(imNum, returnedEntity.Id, returnedEntity.UserId); _genservice.SavePhonebook(returnedEntity.Id, null, imNum, returnedEntity.countryCode, null, returnedEntity.UserId); } TempData["success"] = "Sucessfully Uploaded"; } } if (ext == ".xlsx") { Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(Path.GetFullPath(File)); Excel.Worksheet xlWorksheet = (Excel.Worksheet)xlWorkbook.Sheets.get_Item(1); Excel.Range xlRange = xlWorksheet.UsedRange; object[,] valueArray = (object[,])xlRange.get_Value( Excel.XlRangeValueDataType.xlRangeValueDefault); var numbers = _genservice.excelNumbers(xlWorksheet, xlRange); if (numbers.Contains("Please Correct")) { TempData["line"] = string.Join(" ", numbers.ToArray()); ; return View(model); } // Close the Workbook. xlWorkbook.Close(false); // Relase COM Object by decrementing the reference count. Marshal.ReleaseComObject(xlWorkbook); // Close Excel application. xlApp.Quit(); // Release COM object. Marshal.FinalReleaseComObject(xlApp); model.BatchCount = numbers.Count(); ImportEntity import = new ImportEntity(); import.BatchName = model.BatchName; import.BatchCount = model.BatchCount; import.countryCode = model.countryCode; import.Numbers = String.Join(",", numbers); import.UserId = _workerContext.CurrentUserPersonalInformation.UserId; var returnEntity = _genservice.saveBulk(import); foreach (string imNum in numbers.Distinct()) { _genservice.SaveImported(imNum, returnEntity.Id, returnEntity.UserId); _genservice.SavePhonebook(returnEntity.Id, null, imNum, returnEntity.countryCode, null, returnEntity.UserId); } TempData["success"] = "Sucessfully Uploaded"; } } else { if (uploadedFile == null) { TempData["upload"] = "Please Select a file to upload"; } if (!string.IsNullOrEmpty(existingbook)) { TempData["upload"] = string.Format("Please select another name.A phone book with the same name '{0}' is already existing", existingbook); } } } else if (model.Radiomergenew == true) { if (uploadedFile != null) { if (!string.IsNullOrEmpty(model.mergeString)) { var numbers = _genservice.GetBatchNumbersWithUserId(_workerContext.CurrentUserPersonalInformation.UserId, model.mergeString); List<string> mergeWith = numbers.Numbers.Split(',').ToList<string>(); var fileName = Path.GetFileName(uploadedFile.FileName); var File = System.Web.Hosting.HostingEnvironment.MapPath("~/uploads/files/" + fileName); //var path = Path.Combine(Server.MapPath("~/uploads/files"), fileName); var path = Server.MapPath("~/uploads/files/" + fileName); uploadedFile.SaveAs(path); var fs = System.IO.File.OpenRead(path); FileInfo files = new FileInfo(fs.Name); string full = Path.GetFullPath(path); string file = Path.GetFileName(full); var ext = Path.GetExtension(path); if (ext == ".txt") { using (StreamReader sr = new StreamReader(File)) { string line = sr.ReadToEnd(); string[] split = line.Split(','); model.Numbers = ConvertStringArrayToString(split); List<string> lst = new List<string>(split); var num = _genservice.Numbers(lst, model.countryCode); if (num.Contains("Please Correct")) { TempData["line"] = string.Join(" ", num.ToArray()); return View(model); } foreach (string merge in mergeWith) { num.Add(merge); } model.BatchCount = num.Count(); //ImportEntity import = new ImportEntity(); //numbers.BatchName = model.BatchName; numbers.BatchCount = model.BatchCount; //numbers.countryCode = model.countryCode; numbers.Numbers = String.Join(",", num.Distinct()); //numbers.UserId = _workerContext.CurrentUserPersonalInformation.UserId; var objectvalue = _genservice.saveBulk(numbers); foreach (string imNum in num.Distinct()) { _genservice.SaveImported(imNum, objectvalue.Id, objectvalue.UserId); _genservice.SavePhonebook(objectvalue.Id, null, imNum, objectvalue.countryCode, null, objectvalue.UserId); } TempData["success"] = "Sucessfully Uploaded"; } } if (ext == ".xlsx") { var excelNumbers = _genservice.GetBatchNumbersWithUserId(_workerContext.CurrentUserPersonalInformation.UserId, model.mergeString); List<string> EmergeWith = excelNumbers.Numbers.Split(',').ToList<string>(); Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(Path.GetFullPath(File)); Excel.Worksheet xlWorksheet = (Excel.Worksheet)xlWorkbook.Sheets.get_Item(1); Excel.Range xlRange = xlWorksheet.UsedRange; object[,] valueArray = (object[,])xlRange.get_Value( Excel.XlRangeValueDataType.xlRangeValueDefault); var Enumbers = _genservice.excelNumbers(xlWorksheet, xlRange); if (Enumbers.Contains("Please Correct")) { TempData["line"] = string.Join(" ", Enumbers.ToArray()); ; return View(model); } foreach (string Emerge in EmergeWith) { Enumbers.Add(Emerge); } // Close the Workbook. xlWorkbook.Close(false); // Relase COM Object by decrementing the reference count. Marshal.ReleaseComObject(xlWorkbook); // Close Excel application. xlApp.Quit(); // Release COM object. Marshal.FinalReleaseComObject(xlApp); model.BatchCount = Enumbers.Count(); //ImportEntity import = new ImportEntity(); //excelNumbers.BatchName = model.BatchName; excelNumbers.BatchCount = model.BatchCount; //excelNumbers.countryCode = model.countryCode; excelNumbers.Numbers = String.Join(",", Enumbers.Distinct()); //excelNumbers.UserId = _workerContext.CurrentUserPersonalInformation.UserId; var objval = _genservice.saveBulk(excelNumbers); foreach (string imNum in Enumbers.Distinct()) { _genservice.SaveImported(imNum, objval.Id, objval.UserId); _genservice.SavePhonebook(objval.Id, null, imNum, objval.countryCode, null, objval.UserId); } TempData["success"] = "Sucessfully Uploaded"; } } } } var importname = _genservice.GetImportEntityPerUserID(_workerContext.CurrentUserPersonalInformation.UserId); model.mergeStringtype.Add(new SelectListItem() { Text = "-Select-", Value = "-1", Selected = (model.mergeString == null) }); foreach (ImportEntity s in importname) model.mergeStringtype.Add(new SelectListItem() { Text = s.BatchName, Value = s.BatchName, Selected = (s.BatchName == model.mergeString) }); return View(model); } else return RedirectToAction("Default", "Default"); }