public virtual ActionResult GenerateDocument(string templateCode, string operationNumber, Dictionary <string, string> parameters, string protect)
        {
            if (string.IsNullOrEmpty(templateCode) || string.IsNullOrEmpty(operationNumber))
            {
                return(Json(Localization.GetText("OP.DTG.TemplateGen.Message.MissingParameters"),
                            JsonRequestBehavior.AllowGet));
            }

            if (!_operationDataService.GetOperationBasicData(operationNumber).IsValid)
            {
                return(Json(Localization.GetText("OP.DTG.TemplateGen.Message.InvalidOperationNumber"),
                            JsonRequestBehavior.AllowGet));
            }

            var templateUrl     = ConfigurationManager.AppSettings.Get("DocumentTemplate_TemplateUrl");
            var templateFolder  = ConfigurationManager.AppSettings.Get("DocumentTemplate_TemplateFolder");
            var generatedFolder = ConfigurationManager.AppSettings.Get("DocumentTemplate_GeneratedDocuments");
            var response        = _documentTemplateServices.GenerateDocumentResponse(new GenerateDocumentRequest
            {
                TemplateCode           = templateCode,
                DataConnectionTemplate = new DataConnectionRequest
                {
                    OperationNumber = operationNumber,
                    Site            = templateUrl,
                    Library         = templateFolder,
                    CurrentUser     = IDBContext.Current.UserName,
                    IsVer           = false,
                    Parameters      = parameters
                },
                DataConnectionGenerated = new DataConnectionRequest
                {
                    OperationNumber = operationNumber,
                    RelativePath    = generatedFolder,
                    CurrentUser     = IDBContext.Current.UserName,
                    IsVer           = true,
                    Parameters      = parameters
                },
                Protected = "true".Equals(protect),
                FileName  = "001046-TEMPLATE_TC_DOCUMENT_SPANISH"
            });

            return(Json(response.IsValid ? response.GeneratedDocument.UrlGenerated : response.ErrorMessage,
                        JsonRequestBehavior.AllowGet));
        }