Example #1
0
        public FileResult Download(string fileName, string relformPath)
        {
            ManualBL manualBl = new ManualBL();
            string   path     = Server.MapPath("~/ManualsPDF/" + relformPath + "/");
            //var folderPath = Path.Combine(path, relformPath);
            //var filePath = Path.Combine(path, fileName);
            //var filePath = Directory.GetFiles(path, "*.doc?")
            //                                            .Where(s => s.Contains(fileName + ".doc") || s.Contains(fileName + ".DOC") || s.Contains(fileName + ".docx")).First();

            var filePath = Directory.GetFiles(path, "*.*")
                           .Where(s => s.Contains(fileName + ".doc") || s.Contains(fileName + ".DOC") || s.Contains(fileName + ".docx") ||
                                  s.Contains(fileName + ".xls") || s.Contains(fileName + ".xlsx")).First();
            //var memory = new MemoryStream();
            //using (var stream = new FileStream(filePath, FileMode.Open))
            //{
            //    stream.CopyToAsync(memory);
            //}
            //memory.Position = 0;
            var ext = Path.GetExtension(filePath).ToLowerInvariant();

            //return File(memory, GetMimeTypes()[ext], Path.GetFileName(filePath));

            byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
            return(File(fileBytes, manualBl.GetMimeTypes()[ext], Path.GetFileName(filePath)));
        }
        public ActionResult VGP()
        {
            ManualBL   manualBL = new ManualBL();
            ShipManual file     = new ShipManual();
            string     xPath    = Server.MapPath(xmlPath);

            file.BodyHtml = manualBL.GenerateShipWiseFolderBodyContentHtml(xPath, shipId, "VGP");
            return(View(file));
        }
Example #3
0
        public ActionResult Circulars()
        {
            ManualBL   manualBL = new ManualBL();
            ShipManual file     = new ShipManual();
            string     xPath    = Server.MapPath(xmlPath);

            file.BodyHtml = manualBL.GenerateNoticeBoardFolderBodyContentHtml(xPath, "Circulars");
            return(View(file));
        }
        public ActionResult SEEMP2()
        {
            Session["IsSearched"] = "0";
            ManualBL   manualBL = new ManualBL();
            ShipManual file     = new ShipManual();
            string     xPath    = Server.MapPath(xmlPath);

            file.BodyHtml = manualBL.GenerateShipWiseFolderBodyContentHtml(xPath, shipId, "SEEMP2");
            return(View(file));
        }
Example #5
0
        public ActionResult Manning()
        {
            Session["IsSearched"] = "0";
            ManualBL   manualBL = new ManualBL();
            ShipManual file     = new ShipManual();
            string     xPath    = Server.MapPath(xmlPath);

            file.BodyHtml = manualBL.GenerateC2AFolderBodyContentHtml(xPath, "Manning");
            return(View(file));
        }
Example #6
0
        public ActionResult Index()
        {
            ManualBL   manualBL = new ManualBL();
            ShipManual file     = new ShipManual();
            //string xPath = Server.MapPath("~/xmlMenu/" + "ALLSHIPS.xml");
            string xPath = Server.MapPath(xmlPath);

            file.BodyHtml = manualBL.GenerateBodyContentHtml(xPath, shipId);
            return(View(file));
        }
Example #7
0
        public ActionResult Index()
        {
            Session["IsSearched"] = "0";
            ManualBL manualBL = new ManualBL();
            Manual   file     = new Manual();
            string   xPath    = Server.MapPath("~/xmlMenu/" + "COMMONTOALL.xml");

            //file.ManualBodyHtml = manualBL.GenerateBodyContentHtml(xPath, 0);
            file.ManualBodyHtml = GenerateC2AMenu();
            return(View(file));
        }
        public FileResult DownloadFilledupForm(string fileName)
        {
            ManualBL manualBl = new ManualBL();
            string   path     = Server.MapPath("~/UploadFilledUpFormForApproval/");

            //var filePath = Directory.GetFiles(path, "*.*")
            //                        .Where(s => s.Contains(fileName + ".doc") || s.Contains(fileName + ".DOC") || s.Contains(fileName + ".docx")
            //                                || s.Contains(fileName + ".xls") || s.Contains(fileName + ".xlsx")).First();

            var filePath = Directory.GetFiles(path, "*.*")
                           .Where(s => s.Contains(fileName)).First();

            var ext = Path.GetExtension(filePath).ToLowerInvariant();

            byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
            return(File(fileBytes, manualBl.GetMimeTypes()[ext], Path.GetFileName(filePath)));
        }
Example #9
0
        public string GetChild(XmlNode node, ref int l, string part)
        {
            ManualBL      manuBl = new ManualBL();
            StringBuilder sb     = new StringBuilder();

            foreach (XmlNode item in node)
            {
                Manual manual = new Manual();
                if (item.Name == "filename")
                {
                    string filename = item.InnerText.ToString();
                    manual = manuBl.GetActionNameByFileName(filename + ".html");
                    if (manual.ActionName != null)
                    {
                        sb.Append("\n");
                        //sb.Append("<li ><a href='@Url.Action('" + manual.ActionName + "', '" + manual.ControllerName + "'><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background - color:salmon; '>" + filename + " </span></a></li>");
                        //sb.Append("<li ><a href='/" + manual.ControllerName + "/" + manual.ActionName + "' ><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + " </span></a></li>");
                        //sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' ><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + " </span></a></li>");
                        ///--------below 2 lines chenged with next uper line on 20th Feb 2021-------
                        sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' ><span class='vul'>Volume <b>");
                        sb.Append(part + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + " </span></a></li>");
                    }
                }
                else if (item.Name == "foldername")
                {
                    int    x     = 0;
                    string fName = item.Attributes["name"].Value.ToString();
                    sb.Append("\n");

                    sb.Append("<li class='menu_itmL" + l + "'><a href='#'><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + fName + " </span></a>");
                    sb.Append("\n");
                    sb.Append("<ul class='submenuL" + (l + 1) + "'>");
                    x = l + 1;
                    string sChild = GetChild(item, ref x, part);
                    sb.Append("\n");
                    sb.Append(sChild);
                    sb.Append("\n");
                    sb.Append("</ul>");
                    sb.Append("\n");
                    sb.Append("</li>");
                }
            }

            return(sb.ToString());
        }
Example #10
0
        public ActionResult SearchList(int currentPage = 1, string volNo = "-1", string text = null)
        {
            Session["ShipCat"]    = string.Empty;
            Session["IsSearched"] = "1";
            ManualBL        manualBL     = new ManualBL();
            int             totalrecords = 0;
            ManualViewModel fsvm         = new ManualViewModel();
            List <Manual>   manuals      = new List <Manual>();
            int             shipId       = 0;
            string          category     = null;//Added on 19th Jun 2021

            if (Session["ShipId"] != null && Session["ShipId"].ToString() != "0")
            {
                shipId = int.Parse(Session["ShipId"].ToString());
            }
            else if (Session["DashboardShipId"].ToString() != null)
            {
                shipId = int.Parse(Session["DashboardShipId"].ToString());
            }

            if (Request.QueryString["s"] != null)
            {
                text = Request.QueryString["s"].ToString().Trim();
            }

            if (Request.QueryString["vol"] != null)
            {
                volNo = Request.QueryString["vol"].ToString();
                if (volNo != "-1")//Added on 21st Jun 2021
                {
                    shipId = 0;
                }
            }
            else if (volNo != "-1")//Added on 21st Jun 2021
            {
                shipId = 0;
            }


            if (Request.QueryString["cat"] != null)
            {
                category           = Request.QueryString["cat"].ToString();
                Session["ShipCat"] = category;//added on 14th Sep 2021 (Ship category or C2A category)
            }
            //else if(Session["ShipCat"].ToString() != null)
            else if (!String.IsNullOrEmpty(Session["ShipCat"].ToString()))
            {//added on 14th Sep 2021
                category = Session["ShipCat"].ToString();
            }



            Pagination pgn = new Pagination();

            pgn.CurrentPage = currentPage == 0 ? 1 : currentPage;

            string searchText;

            if (String.IsNullOrEmpty(text))
            {
                searchText = text;
            }
            if (text == null)
            {
                searchText = "";
                //TempData["SearchText"] = "Business";
                //stop searching -- Dheeman
                //fsvm.SearchText = "Business";
                // show modal popup to user -- Dheeman
                //searchText = "";
            }
            else
            {
                //Console.WriteLine(words);
                //    st= val;
                TempData["SearchText"] = text;
                searchText             = text;
                fsvm.SearchText        = text;

                manuals = manualBL.SearchManuals(currentPage, ref totalrecords, pgn.PageSize, Convert.ToInt32(volNo), searchText, shipId, category);

                pgn.Count = manuals.Count();
                //fsvm.ManualList = manuals.Skip((pgn.CurrentPage - 1) * pgn.PageSize).Take(pgn.PageSize).ToList();
                fsvm.Pagination = pgn;

                fsvm.VolumeId     = Convert.ToInt32(volNo);
                fsvm.ShipId       = shipId;   //added on 14th Sep 2021
                fsvm.ShipCategory = category; //added on 14th Sep 2021

                var pager = new Pager(manuals.Count(), currentPage);
                fsvm.ManualList = manuals.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList();
                fsvm.Pager      = pager;
            }



            return(View(fsvm));
        }
Example #11
0
        /// <summary>
        /// Added on 26th Apr 2021
        /// For Ship Ship Specific Menu
        /// </summary>
        /// <param name="shipId"></param>
        /// <returns></returns>
        public string GenerateShipWiseMenu(int shipId)
        {
            ManualBL manuBl = new ManualBL();


            string      xPath = Server.MapPath("~/xmlMenu/" + "ALLSHIPS1.xml");
            XmlDocument xDoc  = new XmlDocument();

            xDoc.Load(xPath);

            //if (_cache.Get("ShipMenuData") == null)
            //{
            //    xDoc.Load(xPath);
            //    _cache.Insert("ShipMenuData", xDoc, new CacheDependency(xPath));
            //}
            //else
            //{
            //    xDoc = (XmlDocument)_cache.Get("ShipMenuData");
            //}

            StringBuilder sb = new StringBuilder();

            foreach (XmlNode node in xDoc.DocumentElement.ChildNodes)
            {
                sb.Append("<ul>");
                foreach (XmlNode ship in node)
                {
                    Volume vol             = new Volume();
                    string sName           = ship.Attributes["name"].Value.ToString();
                    string ctrlName        = ship.Attributes["controllername"].Value.ToString();
                    string sNo             = ship.Attributes["shipnumber"].Value.ToString();
                    string relaiveFilePath = sName;//---this for pdf preview link path
                    if (Convert.ToInt32(sNo) == shipId)
                    {
                        foreach (XmlNode item in ship)
                        {
                            if (item.Name == "filename")
                            {
                                string filename   = item.InnerText.ToString();
                                string actionName = item.Attributes["actionname"].Value.ToString();
                                string type       = item.Attributes["doctype"].Value.ToString();
                                string isDownload = item.Attributes["isdownloadable"].Value.ToString();
                                // manual = manuBl.GetActionNameByFileName(filename + ".html");
                                if (type == "DOC" && actionName != "")
                                {
                                    sb.Append("\n");

                                    sb.Append("<li class='mainmenu'><a href='/" + ctrlName + "/Pages?actionName=" + actionName + "' ><span class='pgnam'>" + filename + "</span></a>");
                                }
                                else if (type == "PDF")
                                {
                                    sb.Append("\n");
                                    sb.Append("<li class='mainmenu'><a href='/" + ctrlName + "/PDFViewer?fileName=" + filename + "&relPDFPath=" + relaiveFilePath + "' >");
                                    sb.Append("<span class='pgnam'>" + filename + "</span></a>");
                                    //sb.Append("</br>");
                                }
                            }
                            else if (item.Name == "foldername")
                            {
                                string fName      = item.Attributes["name"].Value.ToString();
                                string fDesc      = item.Attributes["description"].Value.ToString();
                                string actionName = item.Attributes["actionname"].Value.ToString();

                                if (actionName != "")
                                {
                                    if (fDesc != "")
                                    {
                                        sb.Append("<li class='mainmenu'><a href='/" + ctrlName + "/" + actionName + "'><span class='pgnam'>" + fDesc + "</span></a>");
                                    }
                                    else
                                    {
                                        sb.Append("<li class='mainmenu'><a href='/" + ctrlName + "/" + actionName + "'><span class='pgnam'>" + fName + "</span></a>");
                                    }
                                }
                            }
                        }

                        sb.Append("\n");


                        sb.Append("\n");
                        sb.Append("</li>");
                    }
                }
                sb.Append("\n");
                sb.Append("</ul>");

                //WriteToText(sb);
            }
            return(sb.ToString());
        }
Example #12
0
        public string GenerateMenu()
        {
            ManualBL manuBl = new ManualBL();


            string      menu0Enabled = ConfigurationManager.AppSettings["menu0Enabled"].ToString();
            string      xPath        = Server.MapPath("~/xmlMenu/" + "ALLVOLUMES.xml");
            XmlDocument xDoc         = new XmlDocument();

            //if (_cache.Get("VolMenuData") != null)
            //{
            //    xDoc.Load(xPath);
            //    //_cache.Insert("VolMenuData", xPath);
            //    _cache.Insert("VolMenuData", xDoc, new CacheDependency(xPath));
            //}
            //else
            //{
            //    xDoc = (XmlDocument)_cache.Get("VolMenuData");
            //}

            //if ((XmlDocument)Cache["VolMenuData"])
            //{

            //}

            xDoc.Load(xPath);

            StringBuilder sb = new StringBuilder();

            foreach (XmlNode node in xDoc.DocumentElement.ChildNodes)
            {
                sb.Append("<ul>");
                foreach (XmlNode volume in node)
                {
                    Volume vol      = new Volume();
                    string volName  = volume.Attributes["name"].Value.ToString();
                    string partName = volName.Split(' ').Last();
                    string volumeId = volume.Attributes["id"].Value.ToString();
                    vol = manuBl.GetVolumeById(volumeId);

                    // string ctrlName = volume.Attributes["controllername"].Value.ToString();//--Added on 04/04/2021
                    sb.Append("\n");
                    //sb.Append("<li class='mainmenu'><a href='#'><span class='vul'>Volume <b>I</b> </span><span class='pgnam'>" + volName + "</span></a>");
                    //string s= "'@Url.Action('"
                    //sb.Append("<li class='mainmenu'><a href='@Url.Action('Index', '"+vol.ControllerName+"')'><span class='vul'>Volume <b>"+ partName + "</b> </span><span class='pgnam'>" + vol.Description + "</span></a>");
                    //sb.Append("<li class='mainmenu'><span class='tooltip'><a href='/" + vol.ControllerName + "/Index'><span class='vul'>Volume <b>" + partName + "</b> </span><span class='tooltiptext'>" + vol.Description + "</span></a></span>");
                    if (volumeId == "0" && menu0Enabled == "false")
                    {
                        //menu 0 has no click at Hong Kong Office
                        sb.Append("<li class='mainmenu'><span class='tooltip'><a><span class='vul'>Volume <b>" + partName + "</b> </span><span class='tooltiptext'>" + vol.Description + "</span></a></span>");
                    }
                    else
                    {
                        sb.Append("<li class='mainmenu'><span class='tooltip'><a href='/" + vol.ControllerName + "/Index'><span class='vul'>Volume <b>" + partName + "</b> </span><span class='tooltiptext'>" + vol.Description + "</span></a></span>");
                    }
                    sb.Append("\n");

                    #region Lines Commented
                    /* ----------Lines Commented on 23rd Feb 2021 @BK  */
                    //sb.Append("<ul class='submenu'>");
                    //foreach (XmlNode item in volume)
                    //{
                    //    Manual manual = new Manual();
                    //    int l = 1;

                    //    if (item.Name == "filename")
                    //    {
                    //        string filename = item.InnerText.ToString();
                    //        manual = manuBl.GetActionNameByFileName(filename+".html");
                    //        if(manual.ActionName != null)
                    //        {
                    //            sb.Append("\n");
                    //            //sb.Append("<li><a href='@Url.Action('" + manual.ActionName + "', '" + manual.ControllerName + "'><span class='vul'>Volume <b>" + partName + "</b> </span><span class='pgnam' style='background - color:salmon; '>" + filename + "</span></a></li>");
                    //            //sb.Append("<li ><a href='/" + manual.ControllerName + "/" + manual.ActionName + "' ><span class='vul'>Volume <b>" + partName + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + "</span></a></li>");
                    //            //sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' ><span class='vul'>Volume <b>" + partName + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + "</span></a></li>");
                    //            ///--------below 2 lines chenged with next uper line on 20th Feb 2021-------
                    //            sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' ><span class='vul'>Volume <b>");
                    //            sb.Append(partName + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + "</span></a></li>");


                    //        }

                    //    }
                    //    else if (item.Name == "foldername")
                    //    {

                    //        string fName = item.Attributes["name"].Value.ToString();
                    //        sb.Append("\n");
                    //        sb.Append("<li class='menu_itm'><a href='#'><span class='vul'>Volume <b>"+ partName + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + fName + "</span></a>");
                    //        sb.Append("\n");
                    //        sb.Append("<ul class='submenuL" + l + "'>");
                    //        string sChild = GetChild(item, ref l, partName);
                    //        //l = l;
                    //        sb.Append(sChild);
                    //        sb.Append("\n");
                    //        sb.Append("</ul>");
                    //        sb.Append("\n");
                    //        sb.Append("</li>");
                    //    }



                    //}
                    //sb.Append("\n");
                    //sb.Append("</ul>");
                    /* ----End------Lines Commented on 23rd Feb 2021 @BK  */
                    #endregion
                    sb.Append("\n");
                    sb.Append("</li>");
                }
                sb.Append("\n");
                sb.Append("</ul>");

                //WriteToText(sb);
            }
            return(sb.ToString());
        }
Example #13
0
        public string GetChild(XmlNode node, ref int l, string part, string ctrlName, ref string relativePath)
        {
            //var sessionValue = HttpContext.Current.Session["ActiveDepartment"];
            ManualBL      manuBl = new ManualBL();
            StringBuilder sb     = new StringBuilder();

            foreach (XmlNode item in node)
            {
                Manual manual = new Manual();
                if (item.Name == "filename")
                {
                    string filename   = item.InnerText.ToString();
                    string actionName = item.Attributes["actionname"].Value.ToString();
                    string type       = item.Attributes["doctype"].Value.ToString();
                    string isDownload = item.Attributes["isdownloadable"].Value.ToString();
                    // manual = manuBl.GetActionNameByFileName(filename + ".html");
                    if (type == "DOC" && actionName != "")
                    {
                        sb.Append("\n");
                        //sb.Append("<li ><a href='@Url.Action('" + manual.ActionName + "', '" + manual.ControllerName + "'><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background - color:salmon; '>" + filename + " </span></a></li>");
                        //sb.Append("<li ><a href='/" + manual.ControllerName + "/" + manual.ActionName + "' ><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + " </span></a></li>");
                        //sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' ><span class='vul'>Volume <b>" + part + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + " </span></a></li>");
                        ///--------below 2 lines chenged with next uper line on 20th Feb 2021-------
                        //sb.Append("<a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' >");
                        //sb.Append("<a href='/" + ctrlName + "/Pages?actionName=" + actionName + "' >");
                        if (isDownload == "YES")
                        {
                            sb.Append("<a href='/" + ctrlName + "/Pages?actionName=" + actionName + "&formName=" + filename + "&relformPath=" + relativePath + "' >");
                        }
                        else
                        {
                            sb.Append("<a href='/" + ctrlName + "/Pages?actionName=" + actionName + "&fileName=" + filename + "' >"); //&fileName added on28th jun 2021
                        }
                        sb.Append(filename + "</a>");
                        sb.Append("</br>");
                    }
                    else if (type == "PDF")
                    {
                        sb.Append("\n");
                        sb.Append("<a href='/" + ctrlName + "/PDFViewer?fileName=" + filename + "&relPDFPath=" + relativePath + "' >");
                        sb.Append(filename + "</a>");
                        sb.Append("</br>");
                    }
                    else if (type == "XLS")
                    {
                        if (isDownload == "YES")
                        {
                            sb.Append("\n");
                            sb.Append("<a href='/" + ctrlName + "/Pages?formName=" + filename + "&relformPath=" + relativePath + "' >");
                            sb.Append(filename + "</a>");
                            sb.Append("</br>");
                        }
                    }
                }
                else if (item.Name == "foldername")
                {
                    int    x           = 0;
                    string fName       = item.Attributes["name"].Value.ToString();
                    string fActionName = item.Attributes["actionname"].Value.ToString(); // Added on 7th Aug 2021 (for C2A)
                    string fDesc       = item.Attributes["description"].Value.ToString();
                    string relFilePath = "";
                    relFilePath = relativePath + "/" + fName;
                    sb.Append("\n");
                    if (fActionName != "" && fActionName == "OFFICE")
                    {
                        if (Session["UserType"].ToString() == "2")
                        {
                            if (fDesc != "")
                            {
                                sb.Append("<button class='accordion' style='margin-left:-25px;'>" + fDesc + "</button>");
                            }
                            else
                            {
                                sb.Append("<button class='accordion' style='margin-left:-25px;'>" + fName + "</button>");
                            }

                            sb.Append("\n");
                            sb.Append("<div class='panel' style='margin-left:5px;'>");
                            x = l + 1;
                            string sChild = GetChild(item, ref x, part, ctrlName, ref relFilePath);
                            sb.Append(sChild);
                            sb.Append("\n");
                            sb.Append("</div>");
                            sb.Append("\n");
                        }
                    }
                    else
                    {
                        if (fDesc != "")
                        {
                            sb.Append("<button class='accordion' style='margin-left:-25px;'>" + fDesc + "</button>");
                        }
                        else
                        {
                            sb.Append("<button class='accordion' style='margin-left:-25px;'>" + fName + "</button>");
                        }

                        sb.Append("\n");
                        sb.Append("<div class='panel' style='margin-left:5px;'>");
                        x = l + 1;
                        string sChild = GetChild(item, ref x, part, ctrlName, ref relFilePath);
                        sb.Append(sChild);
                        sb.Append("\n");
                        sb.Append("</div>");
                        sb.Append("\n");
                    }
                }
            }

            return(sb.ToString());
        }
Example #14
0
        public string GenerateC2AFolderBodyContentHtml(string aXmlPath, string folderAction)
        {
            ManualBL    manuBl = new ManualBL();
            string      xPath  = aXmlPath;
            XmlDocument xDoc   = new XmlDocument();

            xDoc.Load(xPath);
            StringBuilder sb = new StringBuilder();

            foreach (XmlNode node in xDoc.DocumentElement.ChildNodes)
            {
                sb.Append("<div class='container'>");
                foreach (XmlNode c2a in node)
                {
                    Volume vol      = new Volume();
                    string c2aName  = c2a.Attributes["name"].Value.ToString();
                    string ctrlName = c2a.Attributes["controllername"].Value.ToString();
                    string partName = c2aName.Split(' ').Last();

                    string mainNodeName    = c2a.Attributes["name"].Value.ToString();
                    string relaiveFilePath = c2aName;//---this for pdf preview link path


                    sb.Append("\n"); sb.Append("<div>");
                    sb.Append("\n");

                    #region child accordian
                    foreach (XmlNode item in c2a)
                    {
                        Manual manual = new Manual();
                        int    l      = 1;


                        if (item.Name == "foldername")
                        {
                            string actionName = item.Attributes["actionname"].Value.ToString();
                            if (actionName == folderAction)
                            {
                                string fName       = item.Attributes["name"].Value.ToString();
                                string fDesc       = item.Attributes["description"].Value.ToString();
                                string relFilePath = "";
                                relFilePath = relaiveFilePath + "/" + fName;

                                sb.Append("\n");
                                string sChild = GetChild(item, ref l, partName, ctrlName, ref relFilePath);
                                sb.Append(sChild);
                                sb.Append("\n");
                            }
                        }
                    }

                    #endregion
                    sb.Append("\n");
                    sb.Append("</div>");
                }
                sb.Append("\n");
                sb.Append("</div>");

                //WriteToText(sb);
            }
            return(sb.ToString());
        }
        public string GenerateShipWiseMenu()
        {
            string   userType = Session["UserType"].ToString();
            string   UserRole = Session["Role"].ToString();
            string   shipId   = Session["ShipId"].ToString();
            ManualBL manuBl   = new ManualBL();


            //string xPath = Server.MapPath("~/xmlMenu/" + "ALLSHIPS.xml");//Commented on 30th Apr 2021
            string      xPath = Server.MapPath("~/xmlMenu/" + "ALLSHIPS1.xml");
            XmlDocument xDoc  = new XmlDocument();

            xDoc.Load(xPath);
            StringBuilder sb = new StringBuilder();

            foreach (XmlNode node in xDoc.DocumentElement.ChildNodes)
            {
                if (userType == "1")
                {
                    sb.Append("<div class='dropdown-content' style='min-width: 300px; top: -45px; '>");
                }
                else
                {
                    sb.Append("<div class='dropdown-content' style='min-width: 300px; top: -300px; '>");
                }
                sb.Append("\n");
                sb.Append("<ul>");//---ul1
                foreach (XmlNode ship in node)
                {
                    Volume vol = new Volume();
                    //string filename     = ship.InnerText.ToString();
                    string sName    = ship.Attributes["name"].Value.ToString();
                    string ctrlName = ship.Attributes["controllername"].Value.ToString();
                    string partName = sName.Split(' ').Last();
                    string sNo      = ship.Attributes["shipnumber"].Value.ToString();
                    //vol = manuBl.GetVolumeById(sNo);
                    sb.Append("\n");
                    //sb.Append("<li class='mainmenu'><a href='#'><span class='vul'>Volume <b>I</b> </span><span class='pgnam'>" + volName + "</span></a>");
                    //string s= "'@Url.Action('"
                    //sb.Append("<li class='mainmenu'><a href='@Url.Action('Index', '"+vol.ControllerName+"')'><span class='vul'>Volume <b>"+ partName + "</b> </span><span class='pgnam'>" + vol.Description + "</span></a>");
                    //sb.Append("<li class='dropmenuright' ><a href='/" + vol.ControllerName + "/Index'> "+ vol.Description +"</a>");///------------li1

                    if (userType == "1")
                    {
                        if (shipId == sNo)
                        {
                            //sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Index'> " + sName + "</a>");///------------li1
                            //-----------------------Commented on 19th Jun 2021----------------------------------------------------
                            //sb.Append("<li class='dropmenuright' ><a href='/Dashboard/ShipDashboard/" + sNo + "'> " + sName + "</a>");
                            //sb.Append("</li>");///----End--------li1


                            //----------------Added on 19th jun 2021-----------------------------------------------------------------------------
                            if (sNo == "1") //this if/else condition was applied due to difference in actionname in xml if resolved in xml then no need below condition
                            {
                                sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSP2SP&fileName=Ship\'s Particulars' > " + sName + "</a>");
                            }
                            else
                            {
                                sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSSP&fileName=Ship\'s Particulars' > " + sName + "</a>");
                            }
                            sb.Append("</li>");///----End--------li1
                        }
                    }
                    else
                    {
                        //sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Index'> " + sName + "</a>");///------------li1

                        //-----------------------Commented on 19th Jun 2021----------------------------------------------------
                        //sb.Append("<li class='dropmenuright' ><a href='/Dashboard/ShipDashboard/"+ sNo + "'> " + sName + "</a>");

                        //----------------Added on 19th jun 2021-----------------------------------------------------------------------------
                        if (sNo == "1") //this if/else condition was applied due to difference in actionname in xml if resolved in xml then no need below condition
                        {
                            sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSP2SP&fileName=Ship\'s Particulars' > " + sName + "</a>");
                        }
                        else
                        {
                            sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSSP&fileName=Ship\'s Particulars' > " + sName + "</a>");
                        }

                        #region Line Commented on 23rd Feb 2021
                        //sb.Append("\n");
                        //sb.Append("<ul class='dropdown-rightcontent'>");///------------ul2
                        //foreach (XmlNode item in volume)
                        //{
                        //    Manual manual = new Manual();
                        //    int l = 1;

                        //    if (item.Name == "filename")
                        //    {
                        //        string filename = item.InnerText.ToString();
                        //        manual = manuBl.GetActionNameByFileName(filename + ".html");
                        //        if (manual.ActionName != null)
                        //        {
                        //            sb.Append("\n");
                        //            //sb.Append("<li><a href='@Url.Action('" + manual.ActionName + "', '" + manual.ControllerName + "'><span class='vul'>Volume <b>" + partName + "</b> </span><span class='pgnam' style='background - color:salmon; '>" + filename + "</span></a></li>");
                        //            //sb.Append("<li ><a href='/" + manual.ControllerName + "/" + manual.ActionName + "' ><span class='vul'>Volume <b>" + partName + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + "</span></a></li>");
                        //            //sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' ><span class='vul'>Volume <b>" + partName + "</b> </span><span class='pgnam' style='background-color:salmon; '>" + filename + "</span></a></li>");
                        //            ///--------below 2 lines chenged with next uper line on 20th Feb 2021-------
                        //            sb.Append("<li ><a href='/" + manual.ControllerName + "/Pages?actionName=" + manual.ActionName + "' >");
                        //            sb.Append( filename + "</a></li>");


                        //        }

                        //    }
                        //    else if (item.Name == "foldername")
                        //    {

                        //        string fName = item.Attributes["name"].Value.ToString();
                        //        sb.Append("\n");
                        //        sb.Append("<li class='dropmenurightL"+ l+"'><a href='#'>" + fName + "</a>");
                        //        sb.Append("\n");
                        //        sb.Append("<ul class='dropdown-rightcontentL"+ l +"'>");
                        //        string sChild = GetChild(item, ref l);
                        //        //l = l;
                        //        sb.Append(sChild);
                        //        sb.Append("\n");
                        //        sb.Append("</ul>");
                        //        sb.Append("\n");
                        //        sb.Append("</li>");
                        //    }



                        //}
                        //sb.Append("\n");
                        //sb.Append("</ul>");///-----End-------ul2
                        //sb.Append("\n");
                        #endregion
                        sb.Append("</li>");///----End--------li1
                    }
                }
                sb.Append("\n");
                sb.Append("</ul>");//--End--ul1
                sb.Append("\n");
                sb.Append("</div>");
                //WriteToText(sb);
            }
            return(sb.ToString());
        }
        public string GenerateShipWiseMenu2()
        {
            string   userType = Session["UserType"].ToString();
            string   UserRole = Session["Role"].ToString();
            string   shipId   = Session["ShipId"].ToString();
            ManualBL manuBl   = new ManualBL();


            //string xPath = Server.MapPath("~/xmlMenu/" + "ALLSHIPS.xml");//Commented on 30th Apr 2021
            string      xPath = Server.MapPath("~/xmlMenu/" + "ALLSHIPS1.xml");
            XmlDocument xDoc  = new XmlDocument();

            xDoc.Load(xPath);
            StringBuilder sb = new StringBuilder();

            foreach (XmlNode node in xDoc.DocumentElement.ChildNodes)
            {
                if (userType == "1")
                {
                    sb.Append("<div class='dropdown-content' style='min-width: 300px; top: -45px; '>");
                }
                else
                {
                    sb.Append("<div class='dropdown-content' style='min-width: 300px; top: -300px; '>");
                }
                sb.Append("\n");
                sb.Append("<ul>");//---ul1
                foreach (XmlNode ship in node)
                {
                    Volume vol      = new Volume();
                    string sName    = ship.Attributes["name"].Value.ToString();
                    string ctrlName = ship.Attributes["controllername"].Value.ToString();
                    string partName = sName.Split(' ').Last();
                    string sNo      = ship.Attributes["shipnumber"].Value.ToString();
                    //vol = manuBl.GetVolumeById(sNo);
                    sb.Append("\n");

                    if (UserRole == "OfficeAdmin" || UserRole == "ShipAdmin")
                    {
                        if (userType == "1")
                        {
                            if (shipId == sNo)
                            {
                                //----------------Added on 19th jun 2021-----------------------------------------------------------------------------
                                if (sNo == "1") //this if/else condition was applied due to difference in actionname in xml if resolved in xml then no need below condition
                                {
                                    sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSP2SP&fileName=Ship Particulars'> " + sName + "</a>");
                                }
                                else
                                {
                                    sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSSP&fileName=Ship Particulars'> " + sName + "</a>");
                                }
                                sb.Append("</li>");///----End--------li1
                            }
                        }
                        else
                        {
                            //----------------Added on 19th jun 2021-----------------------------------------------------------------------------
                            if (sNo == "1") //this if/else condition was applied due to difference in actionname in xml if resolved in xml then no need below condition
                            {
                                sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSP2SP&fileName=Ship Particulars'> " + sName + "</a>");
                            }
                            else
                            {
                                sb.Append("<li class='dropmenuright' ><a href='/" + ctrlName + "/Pages?actionName=STSSP&fileName=Ship Particulars'> " + sName + "</a>");
                            }

                            sb.Append("</li>");///----End--------li1
                        }
                    }
                    else
                    {
                        if (shipId == sNo && userType == "1")
                        {
                            sb.Append("<li class='dropmenuright' ><a href='/Dashboard/ShipDashboard/" + sNo + "'> " + sName + "</a>");
                            sb.Append("</li>");///----End--------li1
                        }
                        else
                        {
                            sb.Append("<li class='dropmenuright' ><a href='/Dashboard/ShipDashboard/" + sNo + "'> " + sName + "</a>");
                            sb.Append("</li>");///----End--------li1
                        }
                    }
                }
                sb.Append("\n");
                sb.Append("</ul>");//--End--ul1
                sb.Append("\n");
                sb.Append("</div>");
                //WriteToText(sb);
            }
            return(sb.ToString());
        }