/*
*接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("FormDesignOptions",Enums.ActionPermissionOptions.Search)]
*/
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using VOL.Entity.DomainModels;
using VOL.System.IServices;
using VOL.System.IRepositories;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using VOL.System.Services;
namespace VOL.System.Controllers
{
public partial class FormDesignOptionsController
{
private readonly IFormDesignOptionsService _service;//访问业务代码
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IFormCollectionObjectRepository _formCollectionRepository;
private readonly IFormDesignOptionsRepository _formDesignOptionsRepository;
[ActivatorUtilitiesConstructor]
public FormDesignOptionsController(
IFormDesignOptionsService service,
IHttpContextAccessor httpContextAccessor,
IFormCollectionObjectRepository formCollectionRepository,
IFormDesignOptionsRepository formDesignOptionsRepository
)
: base(service)
{
_service = service;
_httpContextAccessor = httpContextAccessor;
_formCollectionRepository = formCollectionRepository;
_formDesignOptionsRepository = formDesignOptionsRepository;
}
///
///
///
///
///
[Route("getFormOptions"), HttpGet]
public async Task GetFormOptions(Guid id)
{
var options = await _formDesignOptionsRepository.FindAsIQueryable(x => x.FormId == id)
.Select(s => new { s.Title, s.FormOptions })
.FirstOrDefaultAsync();
return Json(new { data = options });
}
///
///
///
///
///
[Route("submit"), HttpPost]
public IActionResult Submit([FromBody] SaveModel saveModel)
{
var result = FormCollectionObjectService.Instance.Add(saveModel);
return Json(result);
}
///
///获取有数据的设计器
///
///
[Route("getList"), HttpGet]
public IActionResult GetList()
{
var query = _formCollectionRepository.FindAsIQueryable(x => true);
var data = _formDesignOptionsRepository.FindAsIQueryable(x => query.Any(c => c.FormId == x.FormId))
.Select(s => new { s.FormId, s.Title, s.FormOptions })
.ToList();
return Json(data);
}
}
}