public async Task <OperationResult> Create(EFormXmlModel eFormXmlModel)
        {
            try
            {
                var core = await _coreHelper.GetCore();

                var sdkDbContext = core.DbContextHelper.GetDbContext();
                // Create tags
                if (eFormXmlModel.NewTag != null)
                {
                    var tagList = eFormXmlModel.NewTag.Replace(" ", "").Split(',');
                    foreach (var tag in tagList)
                    {
                        eFormXmlModel.TagIds.Add(await core.TagCreate(tag));
                    }
                }

                // Create eform
                var newTemplate = await core.TemplateFromXml(eFormXmlModel.EFormXml);

                newTemplate = await core.TemplateUploadData(newTemplate);

                // Check errors
                var errors = await core.TemplateValidation(newTemplate);

                if (errors.Any())
                {
                    var message = errors.Aggregate("", (current, str) => current + ("<br>" + str));
                    throw new Exception(_localizationService.GetString("eFormCouldNotBeCreated") + message);
                }

                if (newTemplate == null)
                {
                    throw new Exception(_localizationService.GetString("eFormCouldNotBeCreated"));
                }
                // Set tags to eform
                var clId = await core.TemplateCreate(newTemplate);

                var cl = await sdkDbContext.CheckLists.SingleOrDefaultAsync(x => x.Id == clId);

                cl.IsEditable = true;
                await cl.Update(sdkDbContext);

                if (eFormXmlModel.TagIds != null)
                {
                    await core.TemplateSetTags(newTemplate.Id, eFormXmlModel.TagIds);
                }

                return(new OperationResult(true,
                                           _localizationService.GetStringWithFormat("eFormParamCreatedSuccessfully", newTemplate.Label)));
            }
            catch (Exception e)
            {
                return(new OperationResult(false, e.Message));
            }
        }
 public OperationResult Create(EFormXmlModel eFormXmlModel)
 {
     try
     {
         var core = _coreHelper.GetCore();
         // Create tags
         if (eFormXmlModel.NewTag != null)
         {
             var tagList = eFormXmlModel.NewTag.Replace(" ", "").Split(',');
             foreach (var tag in tagList)
             {
                 eFormXmlModel.TagIds.Add(core.TagCreate(tag));
             }
         }
         // Create eform
         var newTemplate = core.TemplateFromXml(eFormXmlModel.EFormXml);
         newTemplate = core.TemplateUploadData(newTemplate);
         // Check errors
         var errors = core.TemplateValidation(newTemplate);
         if (errors.Any())
         {
             var message = errors.Aggregate("", (current, str) => current + ("<br>" + str));
             throw new Exception(LocaleHelper.GetString("eFormCouldNotBeCreated") + message);
         }
         if (newTemplate == null)
         {
             throw new Exception(LocaleHelper.GetString("eFormCouldNotBeCreated"));
         }
         // Set tags to eform
         core.TemplateCreate(newTemplate);
         if (eFormXmlModel.TagIds != null)
         {
             core.TemplateSetTags(newTemplate.Id, eFormXmlModel.TagIds);
         }
         return(new OperationResult(true, LocaleHelper.GetString("eFormParamCreatedSuccessfully", newTemplate.Label)));
     }
     catch (Exception e)
     {
         return(new OperationResult(false, e.Message));
     }
 }
        public OperationResult Create(EFormXmlModel eFormXmlModel)
        {
            var core = _coreHelper.GetCore();

            var newTemplate = core.TemplateFromXml(eFormXmlModel.EFormXml);

            newTemplate = core.TemplateUploadData(newTemplate);
            var errors = core.TemplateValidation(newTemplate);

            if (!errors.Any())
            {
                if (newTemplate == null)
                {
                    return(new OperationResult(false, "eForm could not be created!"));
                }

                core.TemplateCreate(newTemplate);
                return(new OperationResult(true, $"eForm \"{newTemplate.Label}\" created successfully"));
            }

            var message = errors.Aggregate("", (current, str) => current + ("<br>" + str));

            return(new OperationResult(false, "eForm could not be created!" + message));
        }
Exemple #4
0
 public async Task <OperationResult> Create([FromBody] EFormXmlModel eFormXmlModel)
 {
     return(await _templatesService.Create(eFormXmlModel));
 }