public ActionResult ImportStep2(BookingChannelImportStep1VM preImportCheckResultVM) { if (preImportCheckResultVM.ImportStep2VM.IsValidData == false) { //Check JSON for valid messages if (preImportCheckResultVM.ImportStep2VM.ReturnMessages[0] != null) { List <string> returnMessages = new List <string>(); var settings = new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeHtml, }; List <string> returnMessagesJSON = JsonConvert.DeserializeObject <List <string> >(preImportCheckResultVM.ImportStep2VM.ReturnMessages[0], settings); foreach (string message in returnMessagesJSON) { string validMessage = Regex.Replace(message, @"[^À-ÿ\w\s&:._()\-]", ""); if (!string.IsNullOrEmpty(validMessage)) { returnMessages.Add(validMessage); } } preImportCheckResultVM.ImportStep2VM.ReturnMessages = returnMessages; } TempData["ErrorMessages"] = preImportCheckResultVM; return(RedirectToAction("ExportErrors")); } //PreImport Check Results (check has passed) BookingChannelImportStep2VM preImportCheckResult = new BookingChannelImportStep2VM(); preImportCheckResult = preImportCheckResultVM.ImportStep2VM; //Do the Import, return results BookingChannelImportStep3VM cdrPostImportResult = new BookingChannelImportStep3VM(); cdrPostImportResult = bookingChannelRepository.Import( preImportCheckResult.FileBytes, preImportCheckResultVM.ClientSubUnit.ClientSubUnitGuid ); cdrPostImportResult.ClientSubUnitGuid = preImportCheckResultVM.ClientSubUnit.ClientSubUnitGuid; TempData["CdrPostImportResult"] = cdrPostImportResult; //Pass Results to Next Page return(RedirectToAction("ImportStep3")); }
public BookingChannelImportStep3VM Import(byte[] FileBytes, string clientSubUnitGuid) { System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); string fileToText = fileToText = enc.GetString(FileBytes); BookingChannelImportStep3VM cdrPostImportResult = new BookingChannelImportStep3VM(); // Create the xml document container, this will be used to store the data after the checks XmlDocument doc = new XmlDocument(); //Prepare a list of error messages List <string> returnMessages = new List <string>(); //Split the CSV into lines string[] lines = fileToText.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //Validate CSV Lines ValidateLines(ref doc, lines, ref returnMessages); //DB Check string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; var output = (from n in db.spDesktopDataAdmin_UpdateClientSubUnitBookingChannels_v1( clientSubUnitGuid, System.Xml.Linq.XElement.Parse(doc.OuterXml), adminUserGuid) select n).ToList(); int deletedItemCount = 0; int addedItemCount = 0; foreach (spDesktopDataAdmin_UpdateClientSubUnitBookingChannels_v1Result message in output) { returnMessages.Add(message.MessageText.ToString()); } cdrPostImportResult.ReturnMessages = returnMessages; cdrPostImportResult.AddedItemCount = addedItemCount; cdrPostImportResult.DeletedItemCount = deletedItemCount; return(cdrPostImportResult); }
public ActionResult ImportStep3() { //Display Results of Import BookingChannelImportStep3VM cdrPostImportResult = new BookingChannelImportStep3VM(); cdrPostImportResult = (BookingChannelImportStep3VM)TempData["CdrPostImportResult"]; if (cdrPostImportResult != null) { ClientSubUnit clientSubUnit = new ClientSubUnit(); if (cdrPostImportResult.ClientSubUnitGuid != null) { clientSubUnit = clientSubUnitRepository.GetClientSubUnit(cdrPostImportResult.ClientSubUnitGuid); cdrPostImportResult.ClientSubUnit = clientSubUnit; } } else { return(View("Error")); } return(View(cdrPostImportResult)); }