private static List <SelectListItem> PopulateList(string attribute)
        {
            EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities();

            List <String> DropdownList = new List <String>();

            if (attribute == "Partner")
            {
                DropdownList = entity.ReportHeaders.Select(c => c.PartnerName).Distinct().ToList();
            }
            else if (attribute == "Country")
            {
                DropdownList = entity.ReportHeaders.Select(c => c.Country).Distinct().ToList();
            }
            else if (attribute == "ReportType")
            {
                DropdownList = entity.ReportHeaders.Select(c => c.ReportType).Distinct().ToList();
            }

            //Removing null values from list

            DropdownList.RemoveAll(c => c == null);

            List <SelectListItem> item = DropdownList.ConvertAll(a =>
            {
                return(new SelectListItem()
                {
                    Text = a.ToString(),
                    Value = a.ToString(),
                    Selected = false
                });
            });

            return(item);
        }
예제 #2
0
        public ActionResult Save_Mapping(BigViewModel bigModel)
        {
            ReportHeader header = new ReportHeader();

            header.ElementSeparator    = (string)Session["ElementSeparator"];
            header.NewlineSeparator    = (string)Session["NewlineSeparator"];
            header.SubElementSeparator = (string)Session["SubElementSeparator"];

            header.Country     = bigModel.ReportHeader.Country;
            header.PartnerName = bigModel.ReportHeader.PartnerName;
            header.ReportType  = bigModel.ReportHeader.ReportType;

            //Insert through EDIFACTMapping
            header.EDI_FileType = "EDIFACT";


            //Load from Session
            if (Session["SegmentInitiator"] != null && Session["SegmentLocation"] != null && Session["FieldName"] != null)
            {
                SegmentInitiator    = (List <string>)Session["SegmentInitiator"];
                SegmentLocation     = (List <int>)Session["SegmentLocation"];
                FieldName           = (List <string>)Session["FieldName"];
                SegmentIdentifier_2 = (List <string>)Session["SegmentIdentifier_2"];
            }

            int id;

            using (EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities())
            {
                entity.ReportHeaders.Add(header);
                entity.SaveChanges();
                id = header.Id;

                for (int i = 0; i < SegmentInitiator.Count; i++)
                {
                    ReportMapping mapping = new ReportMapping();
                    mapping.ReportHeader_Id     = id;
                    mapping.SegmentInitiator    = SegmentInitiator[i];
                    mapping.SegmentLocation     = SegmentLocation[i];
                    mapping.FieldName           = FieldName[i];
                    mapping.SegmentIdentifier_2 = SegmentIdentifier_2[i];

                    entity.ReportMappings.Add(mapping);
                    entity.SaveChanges();
                }
            }


            //validate if ReportHeader fields present (Make all ReportHeader fields mandatory)

            TempData["Message_Save_Mapping_Confirmation"] = "Mapping saved successfully!";

            Session["ReportheaderID"] = id; // Saving id in session. To be used in CriteriaController. Passing data as parameter to RedirecttoAction doesn't work

            //return View("Index");
            //return RedirectToAction("Index", "EDIFACT");  //redirects to upload and convert page
            return(RedirectToAction("Index", "Criteria")); // creating a new criteria that uses the given map header id
        }
        public ActionResult Save_Mapping(BigViewModel bigModel)
        {
            ReportHeader header = new ReportHeader();

            header.ElementSeparator    = (string)Session["ElementSeparator"];
            header.NewlineSeparator    = (string)Session["NewlineSeparator"];
            header.SubElementSeparator = (string)Session["SubElementSeparator"];

            header.Country     = bigModel.ReportHeader.Country;
            header.PartnerName = bigModel.ReportHeader.PartnerName;
            header.ReportType  = bigModel.ReportHeader.ReportType;


            //Load from Session
            if (Session["SegmentInitiator"] != null && Session["FieldName"] != null)
            {
                SegmentInitiator    = (List <string>)Session["SegmentInitiator"];
                SegmentLocation     = (List <int>)Session["SegmentLocation"];
                FieldName           = (List <string>)Session["FieldName"];
                SegmentIdentifier_2 = (List <string>)Session["SegmentIdentifier_2"];
            }

            using (EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities())
            {
                entity.ReportHeaders.Add(header);
                entity.SaveChanges();
                int id = header.Id;

                for (int i = 0; i < SegmentInitiator.Count; i++)
                {
                    ReportMapping mapping = new ReportMapping();
                    mapping.ReportHeader_Id  = id;
                    mapping.SegmentInitiator = SegmentInitiator[i];
                    //mapping.SegmentLocation = SegmentLocation[i];
                    mapping.FieldName = FieldName[i];
                    //mapping.SegmentIdentifier_2 = SegmentIdentifier_2[i];

                    entity.ReportMappings.Add(mapping);
                    entity.SaveChanges();
                }
            }


            //validate if ReportHeader fields present (Make all ReportHeader fields mandatory)

            TempData["Message_Save_Mapping_Confirmation"] = "Mapping saved successfully!";


            //return View("Index");
            return(RedirectToAction("Index", "EDIFACT"));
        }
        public ActionResult ProcessForm(Criterion criteria)
        {
            int ReportheaderID, CriteriaID;

            using (EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities())
            {
                ReportheaderID           = (int)Session["ReportheaderID"];
                criteria.ReportHeader_Id = ReportheaderID;
                entity.Criteria.Add(criteria);
                entity.SaveChanges();
                CriteriaID = criteria.Id;
            }

            Session["CriteriaID"] = CriteriaID;
            return(RedirectToAction("Index", "Scheduler"));
        }
예제 #5
0
        public ActionResult FilterbyPartner(string Value)
        {
            /*
             * TO DO -
             *
             *
             * This function returns cascaded drop down
             */
            EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities();

            List <String> DropdownList = new List <String>();

            DropdownList = entity.ReportHeaders.Where(P => P.PartnerName == Value).Select(c => c.PartnerName).ToList();

            //if (attribute == "Partner")
            //{
            //    DropdownList = entity.ReportHeaders.Select(c => c.PartnerName).ToList();
            //}
            //else if (attribute == "Country")
            //{
            //    //DropdownList = entity.ReportHeaders.Where(c=>c.PartnerName == partnername).Select(c => c.Country).ToList();
            //}
            //else if (attribute == "ReportType")
            //{
            //    DropdownList = entity.ReportHeaders.Select(c => c.ReportType).ToList();
            //}

            //Removing null values from list

            DropdownList.RemoveAll(c => c == null);

            List <SelectListItem> item = DropdownList.ConvertAll(a =>
            {
                return(new SelectListItem()
                {
                    Text = a.ToString(),
                    Value = a.ToString(),
                    Selected = false
                });
            });
            //return View("Index");

            BigViewModel bigModel = new BigViewModel();


            return(RedirectToAction("Index", bigModel));
        }
예제 #6
0
        public ActionResult ProcessForm(Forwarding forwarding)
        {
            int schedulerID, forwardingID;

            using (EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities())
            {
                schedulerID = (int)Session["schedulerID"];
                entity.Forwardings.Add(forwarding);
                entity.SaveChanges();
                forwardingID = forwarding.Id;

                Scheduler updatedScheduler = (from c in entity.Schedulers
                                              where c.Id == schedulerID
                                              select c).FirstOrDefault();

                updatedScheduler.Forwarding_Id = forwardingID;
                entity.SaveChanges();
            }

            return(RedirectToAction("Index", "Landing"));
        }
예제 #7
0
        //public ActionResult ProcessForm(string timeString, string retryCounter)
        //{
        //    int CriteriaID, schedulerID;
        //    CriteriaID = (int)Session["CriteriaID"];
        //    using (EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities())
        //    {
        //        Scheduler schedule = new Scheduler();
        //        schedule.Time = timeString;
        //        schedule.Retry_Count = Convert.ToInt32(retryCounter);
        //        entity.Schedulers.Add(schedule);
        //        entity.SaveChanges();
        //        schedulerID = schedule.Id;

        //        Criterion updatedCriteria = (from c in entity.Criteria
        //                                    where c.Id == CriteriaID
        //                                    select c).FirstOrDefault();

        //        updatedCriteria.Scheduler_Id = schedulerID;
        //        entity.SaveChanges();

        //    }
        //    Session["schedulerID"] = schedulerID;
        //    //return RedirectToAction("Index","Forwarding");
        //    return Json(Url.Action("Index", "Forwarding"));
        //}

        public ActionResult ProcessForm(Scheduler schedule)
        {
            int CriteriaID, schedulerID;

            CriteriaID = (int)Session["CriteriaID"];
            using (EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities())
            {
                entity.Schedulers.Add(schedule);
                entity.SaveChanges();
                schedulerID = schedule.Id;

                Criterion updatedCriteria = (from c in entity.Criteria
                                             where c.Id == CriteriaID
                                             select c).FirstOrDefault();

                updatedCriteria.Scheduler_Id = schedulerID;
                entity.SaveChanges();
            }
            Session["schedulerID"] = schedulerID;
            return(RedirectToAction("Index", "Forwarding"));
        }
        public ActionResult Index(HttpPostedFileBase postedFile, BigViewModel report)
        {
            string P = report.ReportHeader.PartnerName;
            string C = report.ReportHeader.Country;
            string R = report.ReportHeader.ReportType;

            //Fetch Separator and NewLineSeparator based on P,C,R
            EDI_ReportConverterEntities entity = new EDI_ReportConverterEntities();

            ReportHeader reportHeader = entity.ReportHeaders.Where(x => x.PartnerName == P)
                                        .Where(x => x.Country == C)
                                        .Where(x => x.ReportType == R)
                                        .Single();

            string Separator        = reportHeader.ElementSeparator;
            string NewLineSeperator = reportHeader.NewlineSeparator;
            int    header_id        = reportHeader.Id;

            //Separator input cleaning
            if (NewLineSeperator == "\\r\\n")
            {
                NewLineSeperator = "\r\n";
            }

            if (NewLineSeperator == "\\n")
            {
                NewLineSeperator = "\n";
            }

            if (postedFile != null)
            {
                string result = string.Empty;

                using (BinaryReader b = new BinaryReader(postedFile.InputStream))
                {
                    byte[] binData = b.ReadBytes(postedFile.ContentLength);
                    result = System.Text.Encoding.UTF8.GetString(binData);
                }


                //Get mapping rows from dbo.ReportMapping

                var mappingRows = entity.ReportMappings.Where(x => x.ReportHeader_Id == header_id);

                List <string> SegmentInitiator = new List <string>();
                List <int>    SegmentLocation  = new List <int>();
                List <string> FieldName        = new List <string>();


                foreach (ReportMapping row in mappingRows)
                {
                    SegmentInitiator.Add(row.SegmentInitiator);
                    SegmentLocation.Add((int)row.SegmentLocation);
                    FieldName.Add(row.FieldName);
                }

                string[] resultArray = result.Split(new string[] { NewLineSeperator }, StringSplitOptions.None);

                Dictionary <string, List <string> > ListDict = Create_ListDictionary(resultArray, Separator, SegmentInitiator, SegmentLocation, FieldName);

                DataTable dt = Create_Datatable(ListDict);

                Create_CSV(dt);
            }
            else
            {
                TempData["Message_NoFile"] = "Please upload file";
            }

            //return View();

            return(RedirectToAction("Index"));
        }