Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }