using log4net;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Ropin.Inspection.Api.Common;
using Ropin.Inspection.Model.SearchModel.LGS;
using Ropin.Inspection.Model.ViewModel.LGS;
using Ropin.Inspection.Model;
using Ropin.Inspection.Service.LGS.Interface;
using System.Threading.Tasks;
using System;
namespace Ropin.Inspection.Api.Controllers.LGS
{
public class LargeScreenController : BaseController
{
private readonly ILGSLargeScreenService _repository;
private static readonly ILog log = LogManager.GetLogger(typeof(LargeScreenController));
///
/// 构造函数
///
///
public LargeScreenController(ILGSLargeScreenService repository)
{
_repository = repository;
}
///
/// 创建大屏
///
///
///
[HttpPost("CreateLargeScreenAsync")]
public async Task CreateLargeScreenAsync(LargeScreenViewModel content)
{
if (content == null)
{
return new ApiResult(ReturnCode.ArgsError);
}
try
{
await _repository.CreateOneAsync(content);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
return new ApiResult(ReturnCode.Success);
}
///
/// 删除大屏
///
///
///
[HttpDelete("DeleteLargeScreenAsync/{id}")]
public async Task DeleteLargeScreenAsync(string id)
{
if (string.IsNullOrEmpty(id))
{
return new ApiResult(ReturnCode.GeneralError);
}
try
{
await _repository.DeleteAsync(id);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
return new ApiResult(ReturnCode.Success);
}
///
/// 更新大屏
///
///
///
///
[HttpPut("UpdateLargeScreenAsync/{id}")]
[AllowAnonymous]
public async Task UpdateLargeScreenAsync(string id, LargeScreenViewModel updateModel)
{
if (string.IsNullOrEmpty(id))
{
return new ApiResult(ReturnCode.GeneralError);
}
try
{
await _repository.UpdateAsync(updateModel, id);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
return new ApiResult(ReturnCode.Success);
}
///
/// 获取大屏列表
///
///
[HttpPost("GetLargeScreenAsync")]
[AllowAnonymous]
public async Task GetLargeScreenAsync(LargeScreenSearch searchModel)
{
if (searchModel == null)
{
return new ApiResult(ReturnCode.ArgsError);
}
try
{
var contentList = await _repository.GetConditionAsync(searchModel);
return new ApiResult>(new PagesModel(contentList, searchModel));
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
///
/// 通过id获取大屏详情
///
///
[HttpGet("GetLargeScreenByIDAsync")]
[AllowAnonymous]
public async Task GetLargeScreenByIDAsync(string Id)
{
if (string.IsNullOrEmpty(Id))
{
return new ApiResult(ReturnCode.ArgsError);
}
try
{
LargeScreenViewModel data = await _repository.GetByIdAsync(Id);
return new ApiResult(data);
}
catch (Exception ex)
{
return new ApiResult(ReturnCode.GeneralError, ex.Message);
}
}
}
}