using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Ropin.Inspection.Api.Common;
using Ropin.Inspection.Api.Controllers;
using Ropin.Inspection.Model;
using Ropin.Inspection.Service;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Ropin.Inspection.Api
{
///
/// 设备模板
///
public class TdevDeviceTemplateController : BaseController
{
public ILogger _logger { get; }
private readonly ITdevDeviceTemplateService _TdevDeviceTemplateService;
///
/// 构造函数
///
///
///
public TdevDeviceTemplateController(ITdevDeviceTemplateService TdevDeviceTemplateService, ILogger logger)
{
_TdevDeviceTemplateService = TdevDeviceTemplateService;
_logger = logger;
}
///
/// 通过id获取设备模板信息
///
///
///
[HttpGet("GetDeviceTemplateAsync/{id}")]
public async Task GetDeviceTemplateAsync(string id)
{
if (string.IsNullOrEmpty(id))
{
return new ApiResult(ReturnCode.GeneralError);
}
try
{
var content = await _TdevDeviceTemplateService.GetConditionAsync(new TdevDeviceTemplateSearchModel { C_ID = id });
return new ApiResult(content.FirstOrDefault());
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
///
/// 通过id获取设备模板二维码地址信息
///
///
///
[HttpGet("GetDevTemplateQRCodeAsync/{id}")]
public async Task GetDevTemplateQRCodeAsync(string id)
{
if (string.IsNullOrEmpty(id))
{
return new ApiResult(ReturnCode.GeneralError);
}
try
{
var content = await _TdevDeviceTemplateService.GetDevTemplateQRCodeAsync(id);
return new ApiResult(content);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
///
/// 获取所有设备模板
///
///
[HttpGet("GetDeviceTemplatesAsync")]
public async Task GetDeviceTemplatesAsync()
{
try
{
var contentList = await _TdevDeviceTemplateService.GetAllAsync();
return new ApiResult>(contentList);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
///
/// 通过设备模板名称条件查询
///
///
///
[HttpPost("GetDeviceTemplatesByAsync")]
public async Task GetDeviceTemplatesByAsync(TdevDeviceTemplateSearchModel searchModel)
{
if (searchModel == null)
{
return new ApiResult(ReturnCode.ArgsError);
}
searchModel.IsPagination = false;
try
{
var contentList = await _TdevDeviceTemplateService.GetConditionAsync(searchModel);
return new ApiResult>(new PagesModel(contentList, searchModel));
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
///
/// 创建设备模板
///
///
///
[HttpPost("CreateDeviceTemplateAsync")]
public async Task CreateDeviceTemplateAsync(TdevDeviceTemplateViewModel content)
{
if (content == null)
{
return new ApiResult(ReturnCode.ArgsError);
}
try
{
await _TdevDeviceTemplateService.CreateOneAsync(content);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
return new ApiResult(ReturnCode.Success);
}
///
/// 删除设备模板
///
///
///
[HttpDelete("DeleteDeviceTemplateAsync/{id}")]
public async Task DeleteDeviceTemplateAsync(string id)
{
if (string.IsNullOrEmpty(id))
{
return new ApiResult(ReturnCode.GeneralError);
}
try
{
await _TdevDeviceTemplateService.DeleteAsync(id);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
return new ApiResult(ReturnCode.Success);
}
///
/// 更新设备模板
///
///
///
///
[HttpPut("UpdateDeviceTemplateAsync/{id}")]
public async Task UpdateDeviceTemplateAsync(string id, TdevDeviceTemplateUpdateModel updateModel)
{
if (string.IsNullOrEmpty(id))
{
return new ApiResult(ReturnCode.GeneralError);
}
try
{
await _TdevDeviceTemplateService.UpdateAsync(id, updateModel);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
return new ApiResult(ReturnCode.Success);
}
///
/// 获取设备模板树
///
///
[HttpGet("GetDeviceTemplateTreeAsync")]
public async Task GetDeviceTemplateTreeAsync()
{
try
{
var contentList = await _TdevDeviceTemplateService.GetDeviceTemplateTreeAsync();
return new ApiResult>(contentList);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
}
}