Beispiel #1
0
 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");
 }
Beispiel #2
0
        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");
        }