public ActionResult Upload_LocationAddition(HttpPostedFileBase file) { string path = null; List <ErrorTemplates> errorTemp = new List <ErrorTemplates>(); List <WarningTemplates> warningTemp = new List <WarningTemplates>(); AllErrors allErrors = new AllErrors(); allErrors.Error = null; allErrors.ShowHeader = null; allErrors.WarnHeaders = null; allErrors.Warning = null; try { if (file.ContentLength > 0) { string filename = Path.GetFileName(file.FileName); path = Server.MapPath("~/Seed Data/" + filename); file.SaveAs(path); ValidationChecker mapChecker = new ValidationChecker(); List <string> WarningfileHeaders = new List <string>(); List <string> ErrorfileHeaders = new List <string>(); WarningfileHeaders.Add("ShopName".ToLower()); WarningfileHeaders.Add("Address".ToLower()); WarningfileHeaders.Add("Email".ToLower()); WarningfileHeaders.Add("Tin".ToLower()); WarningfileHeaders.Add("Pin".ToLower()); WarningfileHeaders.Add("MarketName".ToLower()); WarningfileHeaders.Add("City".ToLower()); WarningfileHeaders.Add("State".ToLower()); WarningfileHeaders.Add("Country".ToLower()); WarningfileHeaders.Add("ShopType".ToLower()); WarningfileHeaders.Add("Segmentation".ToLower()); WarningfileHeaders.Add("OwnersName".ToLower()); WarningfileHeaders.Add("OwnersContactNumber".ToLower()); WarningfileHeaders.Add("FinalBeatName".ToLower()); WarningfileHeaders.Add("ShopErpId".ToLower()); WarningfileHeaders.Add("ISFocused".ToLower()); WarningfileHeaders.Add("ConsumerType".ToLower()); WarningfileHeaders.Add("OutletPotential".ToLower()); WarningfileHeaders.Add("CodeId".ToLower()); ErrorfileHeaders.Add("FinalBeatName".ToLower()); ErrorfileHeaders.Add("ShopName".ToLower()); ErrorfileHeaders.Add("Market".ToLower()); ErrorfileHeaders.Add("City".ToLower()); ErrorfileHeaders.Add("State".ToLower()); try { var xfile = new FileInfo(path); ExcelPackage package = new ExcelPackage(xfile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; var header = sheet.Cells[1, 1, 1, sheet.Dimension.End.Column]; var fileField = sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.End.Column]; List <string> headerCheck = new List <string>(); for (int i = 0; i < sheet.Dimension.End.Column; i++) { if (((object[, ])fileField.Value)[0, i] != null) { headerCheck.Add(((object[, ])fileField.Value)[0, i].ToString().Replace(" ", "").ToLower()); } } var difference = WarningfileHeaders.Except(headerCheck); if (difference.Any()) { WarningTemplates warningTemplates = new WarningTemplates(); warningTemplates.Comments = "These Headers are missing do you wish to continue"; warningTemplates.Field = string.Join(",", difference); warningTemp.Add(warningTemplates); } List <string> headerError = new List <string>(); for (int i = sheet.Dimension.Start.Column - 1; i < sheet.Dimension.End.Column; i++) { var value = ((object[, ])fileField.Value)[0, i]; if (value != null) { if (value.ToString().Trim().Replace(" ", "").ToLower() == "FinalBeatName".ToLower()) { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "ShopName".ToLower()) { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "Market".ToLower()) { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "City") { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "State") { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } } } var difference1 = ErrorfileHeaders.Except(headerError); if (difference1.Any()) { ErrorTemplates error = new ErrorTemplates(); error.ErrorType = "Missing Header file"; error.ErrorComments = "Cannot go further Ensure these headers must be present" + string.Join(",", difference1); errorTemp.Add(error); allErrors.Error = errorTemp; return(View(allErrors)); } List <FileHeadersLocationAddtion> list = new List <FileHeadersLocationAddtion>(); List <FileHeadersProductAddition> list3 = new List <FileHeadersProductAddition>(); List <FileHeadersBeatHierarchy> list2 = new List <FileHeadersBeatHierarchy>(); List <FileHeadersBeatPlanAddition> list4 = new List <FileHeadersBeatPlanAddition>(); ExcelToObject.ExcelToObject excelToObject = new ExcelToObject.ExcelToObject(); ListandError listerror = new ListandError(); listerror = excelToObject.listErrorLocationAddition(sheet); errorTemp.AddRange(listerror.error); list = listerror.listLocation; // warningTemp = mapChecker.WarningChecks(sheet, warningTemp);//Warnings errorTemp.AddRange(mapChecker.Checker(sheet, list2, list, list3, list4));//Mapping checking if (errorTemp != null) { allErrors.Error = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); allErrors.Warning = warningTemp.OrderBy(x => x.Row).GroupBy(a => new { a.Row, a.Field, a.Comments }, (key, g) => g.FirstOrDefault()).ToList(); // allErrors.ShowHeader = null; return(View(allErrors)); } Session["LocationAdditionObjectList"] = list; return(RedirectToAction("CompanySelect")); } catch { return(View("Error")); } } } catch { return(View("Error")); } return(null); }
public ActionResult BeatPlanAddtion(HttpPostedFileBase file) { string path = null; List <ErrorTemplates> errorTemp = new List <ErrorTemplates>(); List <WarningTemplates> warningTemp = new List <WarningTemplates>(); AllErrors allErrors = new AllErrors(); allErrors.Error = null; allErrors.ShowHeader = null; allErrors.WarnHeaders = null; allErrors.Warning = null; int c1 = 0; int c2 = 0; try { if (file.ContentLength > 0) { string filename = Path.GetFileName(file.FileName); path = Server.MapPath("~/Seed Data/" + filename); file.SaveAs(path); ValidationChecker mapChecker = new ValidationChecker(); List <string> fileHeadersWarning = new List <string>(); List <string> fileHeadersError = new List <string>(); fileHeadersWarning.Add("ESM".ToLower()); fileHeadersWarning.Add("FinalBeatName".ToLower()); fileHeadersWarning.Add("BeatDay".ToLower()); fileHeadersWarning.Add("BeatPlanStartDate".ToLower()); fileHeadersError.Add("ESM".ToLower()); fileHeadersError.Add("FinalBeatName".ToLower()); var xfile = new FileInfo(path); ExcelPackage package = new ExcelPackage(xfile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; var fileField = sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.End.Column]; List <string> headerError = new List <string>(); for (int i = sheet.Dimension.Start.Column; i <= sheet.Dimension.End.Column; i++) { var value = sheet.Cells[1, i].Value; if (value != null) { string newValue = value.ToString().Trim().Replace(" ", "").ToLower(); if (newValue == "ESM".ToLower()) { headerError.Add(newValue); } if (newValue == "FinalBeatName".ToLower()) { headerError.Add(newValue); } } } var difference = fileHeadersError.Except(headerError); if (difference.Any()) { ErrorTemplates error = new ErrorTemplates(); error.ErrorType = "Missing Header file"; error.ErrorComments = "Cannot go further Ensure these headers must be present" + string.Join(",", difference); errorTemp.Add(error); allErrors.Error = errorTemp; return(View(allErrors)); } List <string> headerCheck = new List <string>(); for (int i = 1; i <= sheet.Dimension.End.Column; i++) { if (sheet.Cells[1, i].Value != null) { headerCheck.Add(sheet.Cells[1, i].Value.ToString().Replace(" ", "").ToLower()); } } var difference2 = fileHeadersWarning.Except(headerCheck); if (difference2.Any()) { WarningTemplates warningTemplates = new WarningTemplates(); warningTemplates.Comments = "These Headers are missing do you wish to continue"; warningTemplates.Field = string.Join(",", difference2); warningTemp.Add(warningTemplates); } List <FileHeadersProductAddition> list = new List <FileHeadersProductAddition>(); List <FileHeadersBeatHierarchy> list2 = new List <FileHeadersBeatHierarchy>(); List <FileHeadersLocationAddtion> list3 = new List <FileHeadersLocationAddtion>(); List <FileHeadersBeatPlanAddition> list4 = new List <FileHeadersBeatPlanAddition>(); ExcelToObject.ExcelToObject excelToObject = new ExcelToObject.ExcelToObject(); ListandError listerror = new ListandError(); listerror = excelToObject.listErrrorProductAddition(sheet); list = listerror.listProductAddition; errorTemp.AddRange(listerror.error); errorTemp = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); errorTemp.AddRange(mapChecker.Checker(sheet, list2, list3, list, list4)); if (errorTemp.Count() != 0) { errorTemp = errorTemp.Take(50).ToList(); allErrors.Error = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); allErrors.Warning = warningTemp.OrderBy(x => x.Row).GroupBy(a => new { a.Row, a.Field, a.Comments }, (key, g) => g.FirstOrDefault()).ToList(); // allErrors.WarnHeaders = null; return(View(allErrors)); } MemoryStream memory = new MemoryStream(); StreamWriter streamwiter = new StreamWriter(memory); var newCsv = new CsvWriter(streamwiter); newCsv.WriteHeader <FileHeadersBeatPlanAddition>(); foreach (var item in list4) { FileHeadersBeatPlanAddition temp = new FileHeadersBeatPlanAddition(); temp.BeatDay = item.BeatDay; temp.BeatPeriod = item.BeatPeriod; temp.BeatPlanStartDate = item.BeatPlanStartDate; temp.ESM = item.ESM; temp.FinalBeatName = item.FinalBeatName; newCsv.WriteRecord <FileHeadersBeatPlanAddition>(temp); } streamwiter.Flush(); return(File(memory.ToArray(), "text/csv", "data.csv")); } } catch (Exception ex) { var some = c1; var some2 = c2; var excep = ex; return(View("Error")); } return(null); }
public ActionResult Upload(HttpPostedFileBase file) { string path = null; int count = 0; List <ErrorTemplates> errorTemp = new List <ErrorTemplates>(); List <WarningTemplates> warningTemp = new List <WarningTemplates>(); AllErrors allErrors = new AllErrors(); allErrors.Error = null; allErrors.ShowHeader = null; allErrors.WarnHeaders = null; allErrors.Warning = null; try { if (file.ContentLength > 0) { string filename = Path.GetFileName(file.FileName); path = Server.MapPath("~/Seed Data/" + filename); file.SaveAs(path); ValidationChecker mapChecker = new ValidationChecker(); List <string> WarningfileHeaders = new List <string>(); List <string> ErrorfileHeaders = new List <string>(); WarningfileHeaders.Add("NSM".ToLower()); //---------------------cell1 WarningfileHeaders.Add("NSMZone".ToLower()); WarningfileHeaders.Add("NSMEmailId".ToLower()); //---------------------cell3 WarningfileHeaders.Add("NSMSecondaryEmailId".ToLower()); //---------------------cell4 WarningfileHeaders.Add("ZSM".ToLower()); //---------------------cell5 WarningfileHeaders.Add("ZSMEmailId".ToLower()); //---------------------cell6 WarningfileHeaders.Add("ZSMZone".ToLower()); //---------------------cell7 WarningfileHeaders.Add("ZSMSecondaryEmailId".ToLower()); //---------------------cell8 WarningfileHeaders.Add("RSM".ToLower()); //---------------------cell9 WarningfileHeaders.Add("RSMEmailId".ToLower()); //---------------------cell10 WarningfileHeaders.Add("RSMSecondaryEmailId".ToLower()); //---------------------cell11 WarningfileHeaders.Add("ASM".ToLower()); //---------------------cell12 WarningfileHeaders.Add("ASMEmailId".ToLower()); //---------------------cell13 WarningfileHeaders.Add("ASMZone".ToLower()); //---------------------cell14 WarningfileHeaders.Add("ASMSecondaryEmailId".ToLower()); //---------------------cell15 WarningfileHeaders.Add("ESM".ToLower()); //---------------------cell16 WarningfileHeaders.Add("ESMEmailId".ToLower()); //---------------------cell17 WarningfileHeaders.Add("ESMZone".ToLower()); //---------------------cell18 WarningfileHeaders.Add("ESMSecondaryEmailId".ToLower()); //---------------------cell19 WarningfileHeaders.Add("ESMContactNumber".ToLower()); //---------------------cell20 WarningfileHeaders.Add("ESMHQ".ToLower()); WarningfileHeaders.Add("ESMErpId".ToLower()); //---------------------cell21 WarningfileHeaders.Add("FinalBeatName".ToLower()); //---------------------cell22 WarningfileHeaders.Add("BeatErpId".ToLower()); //---------------------cell23 WarningfileHeaders.Add("BeatDistrict".ToLower()); //---------------------cell24 WarningfileHeaders.Add("BeatState".ToLower()); //---------------------cell25 WarningfileHeaders.Add("BeatZone".ToLower()); //---------------------cell26 WarningfileHeaders.Add("DistributorName".ToLower()); //---------------------cell27 WarningfileHeaders.Add("DistributorLocation".ToLower()); //---------------------cell28 WarningfileHeaders.Add("DistributorErpId".ToLower()); //---------------------cell29 WarningfileHeaders.Add("DistributorEmailId".ToLower()); //---------------------cell20 ErrorfileHeaders.Add("FinalBeatName".ToLower()); ErrorfileHeaders.Add("BeatState".ToLower()); ErrorfileHeaders.Add("BeatDistrict".ToLower()); try { var xfile = new FileInfo(path); ExcelPackage package = new ExcelPackage(xfile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; var header = sheet.Cells[1, 1, 1, sheet.Dimension.End.Column]; var fileField = sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.End.Column]; List <string> headerError = new List <string>(); for (int i = sheet.Dimension.Start.Column; i <= sheet.Dimension.End.Column; i++) { var value = sheet.Cells[1, i].Value; if (value != null) { string newValue = value.ToString().Trim().Replace(" ", "").ToLower(); if (newValue == "FinalBeatName".ToLower()) { headerError.Add(newValue); } if (newValue == "BeatState".ToLower()) { headerError.Add(newValue); } if (newValue == "BeatDistrict".ToLower()) { headerError.Add(newValue); } } } var difference1 = ErrorfileHeaders.Except(headerError); if (difference1.Any()) { ErrorTemplates error = new ErrorTemplates(); error.ErrorType = "Missing Header file"; error.ErrorComments = "Cannot go further Ensure these headers must be present" + string.Join(",", difference1); errorTemp.Add(error); allErrors.Error = errorTemp; return(View(allErrors)); } List <string> headerCheck = new List <string>(); for (int i = 0; i < sheet.Dimension.End.Column; i++) { if (((object[, ])fileField.Value)[0, i] != null) { headerCheck.Add(((object[, ])fileField.Value)[0, i].ToString().Replace(" ", "").ToLower()); } } var difference = WarningfileHeaders.Except(headerCheck); if (difference.Any()) { WarningTemplates warningTemplates = new WarningTemplates(); warningTemplates.Comments = "These Headers are missing do you wish to continue"; warningTemplates.Field = string.Join(",", difference); warningTemp.Add(warningTemplates); } warningTemp.AddRange(mapChecker.WarningChecks(sheet, warningTemp));//Warnings //Excel to object List <FileHeadersBeatHierarchy> list = new List <FileHeadersBeatHierarchy>(); List <FileHeadersProductAddition> list2 = new List <FileHeadersProductAddition>(); List <FileHeadersLocationAddtion> list3 = new List <FileHeadersLocationAddtion>(); List <FileHeadersBeatPlanAddition> list4 = new List <FileHeadersBeatPlanAddition>(); ExcelToObject.ExcelToObject excelToObject = new ExcelToObject.ExcelToObject(); ListandError listerror = new ListandError(); listerror = excelToObject.listWithErrorBeatHiearachy(sheet); list = listerror.listBeatHierarchy; errorTemp.AddRange(listerror.error); errorTemp.AddRange(mapChecker.Checker(sheet, list, list3, list2, list4)); if (errorTemp != null) { allErrors.Error = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); allErrors.Warning = warningTemp.OrderBy(x => x.Row).GroupBy(a => new { a.Row, a.Field, a.Comments }, (key, g) => g.FirstOrDefault()).ToList(); return(View(allErrors)); } //write csv Session["BeatHierarchy"] = list; return(RedirectToAction("CompanySelect")); } catch (Exception ex) { var c = count; var error = ex; return(View("Error")); } } } catch (Exception ex) { var error = ex; return(View("Error")); } return(null); }