// POST: api/Barcode

        public string Post([FromBody] BarcodeRequest objBarcodeRequest)
        {
            //BarcodeRequest obj = new BarcodeRequest();
            //obj.BarcodeType = "APP";
            //obj.CreateBarcode("IS2020042200004,IS2020042200005,IS2020042200006,IS2020042200007");

            LoadSettingsFromConfig();
            LogRequestData(logFileName, DateTime.Now + " API Configuration loaded");


            if (objBarcodeRequest == null)
            {
                LogRequestData(logFileName, DateTime.Now + " Web API Request Exception:- Bad Request");
                return("Web API Request Exception:- Bad Request");
            }

            string strResult = null;

            try
            {
                if (!objBarcodeRequest.ValidRequest())
                {
                    LogRequestData(logFileName, DateTime.Now + " Web API Request Exception:- Bad Request(Invalid)");
                    return("Web API Request Exception:- Bad Request(Invalid)");
                }
                LogRequestData(logFileName, DateTime.Now + " BarcodeType:- " + objBarcodeRequest.BarcodeType);
                LogRequestData(logFileName, DateTime.Now + " Barcode:- " + objBarcodeRequest.BarcodeString);

                BarcodeRequest objBarcode = new BarcodeRequest();
                objBarcode.BarcodeType    = objBarcodeRequest.BarcodeType;
                objBarcode.CIFInformation = objBarcodeRequest.CIFInformation;

                LogRequestData(logFileName, DateTime.Now + " CreateBarcode() started");
                int pageno = objBarcode.CreateBarcode(objBarcodeRequest.BarcodeString, objBarcodeRequest.BarcodeHeader);
                LogRequestData(logFileName, DateTime.Now + " CreateBarcode() Finished," + " Total Pages:-" + pageno);

                string strHTMLTemplate = "";

                if (objBarcode.BarcodeType.ToUpper() == "TXN")
                {
                    strHTMLTemplate = AppDomain.CurrentDomain.BaseDirectory + @"\Utilities\HTML\" + objBarcode.BarcodeType + pageno + ".html";
                }
                else if (objBarcode.BarcodeType.ToUpper() == "EOS")
                {
                    strHTMLTemplate = AppDomain.CurrentDomain.BaseDirectory + @"\Utilities\HTML\" + objBarcode.BarcodeType + ".html";
                }
                else if (objBarcode.BarcodeType.ToUpper() == "APP" || objBarcode.BarcodeType.ToUpper() == "DOC")
                {
                    strHTMLTemplate = AppDomain.CurrentDomain.BaseDirectory + @"\Utilities\HTML\DOC.html";
                }
                else if (objBarcode.BarcodeType.ToUpper() == "CIF")
                {
                    strHTMLTemplate = AppDomain.CurrentDomain.BaseDirectory + @"\Utilities\HTML\CIF.html";
                }


                LogRequestData(logFileName, DateTime.Now + " Template Name:- " + strHTMLTemplate);

                //Make request to create PDF from selected HTML template
                LogRequestData(logFileName, DateTime.Now + " Call to CreateHTML2PDF() is to be started");
                Html2Pdf objPDFRequest = new Html2Pdf();
                string   fileName      = objPDFRequest.CreateHTML2PDF(strHTMLTemplate, "", "");
                strResult = fileName;

                LogRequestData(logFileName, DateTime.Now + " Call to CreateHTML2PDF() Finished");
                if (!string.IsNullOrEmpty(fileName))
                {
                    string file = AppDomain.CurrentDomain.BaseDirectory + @"\Utilities\GeneratedPDFs\" + fileName;

                    if (System.IO.File.Exists(file))
                    {
                        LogRequestData(logFileName, DateTime.Now + " Copy file to Big Storage started");
                        System.IO.File.Copy(file, PDFDirectory + fileName);
                        LogRequestData(logFileName, DateTime.Now + " Copy file to Big Storage finished");
                        System.IO.File.Delete(file);
                    }
                }
            }


            catch (Exception ex)
            {
                LogRequestData(logFileName, DateTime.Now + "Web API Request Exception:- " + ex.Message);
                return("Web API Request Exception:- " + ex.Message);
            }


            ApiResponse objresponse = new ApiResponse();

            objresponse.ResultFilePath = strResult;
            if (string.IsNullOrWhiteSpace(strResult))
            {
                objresponse.ResponseMessage = "NG";
            }
            else
            {
                objresponse.ResponseMessage = "OK";
            }

            System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
            var strResultJSON = js.Serialize(objresponse);

            LogRequestData(logFileName, DateTime.Now + " Serialization completed, ready to send response");
            LogRequestData(logFileName, DateTime.Now + " Result JSON:- " + strResultJSON);

            return(strResultJSON);
        }