using NetTaste;
using System.Drawing.Printing;
namespace OASystem.API.Controllers
{
///
/// 资料相关
///
//[Authorize]
[Route("api/[controller]/[action]")]
public class ResourceController : ControllerBase
{
private readonly IMapper _mapper;
private readonly IConfiguration _config;
private readonly CarDataRepository _carDataRep;
private readonly LocalGuideDataRepository _localGuideDataRep;
private readonly ThreeCodeRepository _ThreeCodeRep;
private readonly HotelDataRepository _hotelDataRep;
public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep, LocalGuideDataRepository localGuideDataRep, ThreeCodeRepository threeCodeRep, HotelDataRepository hotelDataRep)
{
_mapper = mapper;
_config = config;
_carDataRep = carDataRep;
_localGuideDataRep = localGuideDataRep;
_ThreeCodeRep = threeCodeRep;
_hotelDataRep = hotelDataRep;
}
#region 车公司资料板块
///
/// 车公司信息查询
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task QuertCarData(DtoBase dto)
{
try
{
if (dto.PortType==1)
{
var carDada = _carDataRep.QueryDto().ToList();
if (carDada.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
carDada = carDada.OrderByDescending(s => s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", carDada));
}
else if(dto.PortType==2)
{
var carDada = _carDataRep.QueryDto().ToList();
if (carDada.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
carDada=carDada.OrderByDescending(s=>s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", carDada));
}
else
{
return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
}
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 车公司信息添加
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task AddCarData(AddCarDataDto dto)
{
try
{
if (dto.UnitArea == "")
{
return Ok(JsonView(false, "请检查单位区域是否填写!"));
}
if (dto.UnitName == "")
{
return Ok(JsonView(false, "请检查单位名称是否填写!"));
}
if (dto.Contact == "")
{
return Ok(JsonView(false, "请检查单位联系人是否填写!"));
}
if (dto.ContactTel == "")
{
return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
}
var carDada = _carDataRep.QueryDto(a=>a.UnitArea==dto.UnitArea && a.UnitName==dto.UnitName && a.Contact==dto.Contact && a.ContactTel==dto.ContactTel).ToList();
if (carDada.Count!=0)
{
return Ok(JsonView(false, "该信息已存在,请勿重复添加!"));
}
Res_CarData _CarData = _mapper.Map(dto);
int id = await _carDataRep.AddAsyncReturnId(_CarData);
if (id == 0)
{
return Ok(JsonView(false, "添加失败!"));
}
return Ok(JsonView(true, "添加成功", new { Id = id }));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 车公司信息修改
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task UpCarData(UpCarDataDto dto)
{
try
{
if (dto.UnitArea == "")
{
return Ok(JsonView(false, "请检查单位区域是否填写!"));
}
if (dto.UnitName == "")
{
return Ok(JsonView(false, "请检查单位名称是否填写!"));
}
if (dto.Contact == "")
{
return Ok(JsonView(false, "请检查单位联系人是否填写!"));
}
if (dto.ContactTel == "")
{
return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
}
bool res = await _carDataRep.UpdateAsync(a => a.Id == dto.Id, a => new Res_CarData
{
UnitArea = dto.UnitArea,
UnitName = dto.UnitName,
Address = dto.Address,
Contact = dto.Contact,
ContactTel = dto.ContactTel,
ContactEmail = dto.ContactEmail,
ContactFax = dto.ContactFax,
CarDes = dto.CarDes,
CarPicPaths = dto.CarPicPaths,
OtherInfo = dto.OtherInfo,
Score = dto.Score,
QualificationScore = dto.QualificationScore,
CarAgeScore = dto.CarAgeScore,
CleanImgScore = dto.CleanImgScore,
SmellScore = dto.SmellScore,
WaterPaperScore = dto.WaterPaperScore,
HardwareScore = dto.HardwareScore,
TimeScore = dto.TimeScore,
SafetyScore = dto.SafetyScore,
DrivingAgeScore = dto.DrivingAgeScore,
Remark = dto.Remark,
});
if (!res) { return Ok(JsonView(false, "修改失败!")); }
return Ok(JsonView(true, "修改成功"));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 车公司信息删除
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task DelCarData(DelCarDataDto dto)
{
try
{
bool res = await _carDataRep.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId);
if (!res) { return Ok(JsonView(false, "删除失败!")); }
return Ok(JsonView(true, "删除成功"));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
#endregion
#region 导游地接资料板块
///
/// 导游地接资料查询
///
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task QueryLocalGuide(DtoBase dto)
{
try
{
if (dto.PortType == 1)
{
var LocalGuideData = _localGuideDataRep.QueryDto().ToList();
if (LocalGuideData.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", LocalGuideData));
}
else if (dto.PortType == 2)
{
var LocalGuideData = _localGuideDataRep.QueryDto().ToList();
if (LocalGuideData.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", LocalGuideData));
}
else
{
return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
}
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 导游地接信息操作(Status:1.新增,2.修改)
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task OperationLocalGuide(LocalGuideOperationDto dto)
{
try
{
if (dto.UnitArea == "")
{
return Ok(JsonView(false, "请检查单位区域是否填写!"));
}
if (dto.UnitName == "")
{
return Ok(JsonView(false, "请检查单位名称是否填写!"));
}
if (dto.Contact == "")
{
return Ok(JsonView(false, "请检查单位联系人是否填写!"));
}
if (dto.ContactTel == "")
{
return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
}
Result result = await _localGuideDataRep.LocalGuideOperation(dto);
if (result.Code != 0)
{
return Ok(JsonView(false, result.Msg));
}
return Ok(JsonView(true, result.Msg));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 导游地接信息操作(删除)
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task DelLocalGuide(LocalGuideDelDto dto)
{
try
{
var res = await _localGuideDataRep.SoftDeleteByIdAsync(dto.Id.ToString(),dto.DeleteUserId);
if (!res)
{
return Ok(JsonView(false, "删除失败"));
}
return Ok(JsonView(true,"删除成功!"));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
#endregion
#region 机场三字码信息
///
/// 机场三字码查询
///
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task QueryThreeCode(DtoBase dto)
{
try
{
if (dto.PortType == 1)
{
var ThreeCode = _localGuideDataRep.QueryDto().ToList();
if (ThreeCode.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
ThreeCode = ThreeCode.OrderByDescending(s => s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", ThreeCode));
}
else if (dto.PortType == 2)
{
//分页写法
if (dto.PageIndex==0 || dto.PageSize==0)
{
return Ok(JsonView(false, "请传入PageIndex和PageSize参数"));
}
JsonView _ThreeCode = await _ThreeCodeRep.QuerThreeCode(dto.PageIndex, dto.PageSize);
if (_ThreeCode.Code != 0)
{
return Ok(JsonView(false, _ThreeCode.Msg));
}
return Ok(_ThreeCode);
}
else
{
return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
}
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 机场三字码资料操作(Status:1.新增,2.修改)
///
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task OperationThreeCode(ThreeCodeOperationDto dto)
{
try
{
if (dto.Three == "")
{
return Ok(JsonView(false, "请检查三字码是否填写!"));
}
if (dto.Country == "")
{
return Ok(JsonView(false, "请检查国家是否填写!"));
}
if (dto.City == "")
{
return Ok(JsonView(false, "请检查城市是否填写正确!"));
}
if (dto.AirPort == "")
{
return Ok(JsonView(false, "请检查机场是否填写正确!"));
}
Result result = await _ThreeCodeRep.ThreeCodeOperation(dto);
if (result.Code != 0)
{
return Ok(JsonView(false, result.Msg));
}
return Ok(JsonView(true, result.Msg));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 机场三字码资料操作(删除)
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task DelThreeCode(ThreeCodeDelDto dto)
{
try
{
var res = await _ThreeCodeRep.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId);
if (!res)
{
return Ok(JsonView(false, "删除失败"));
}
return Ok(JsonView(true, "删除成功!"));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
#endregion
#region 酒店资料数据
///
/// 酒店信息查询
///
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task QueryHotelData(DtoBase dto)
{
try
{
if (dto.PortType == 1)
{
var HotelData = _localGuideDataRep.QueryDto().ToList();
if (HotelData.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
HotelData = HotelData.OrderByDescending(s => s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", HotelData));
}
else if (dto.PortType == 2)
{
var HotelData = _localGuideDataRep.QueryDto().ToList();
if (HotelData.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
HotelData = HotelData.OrderByDescending(s => s.CreateTime).ToList();
return Ok(JsonView(true, "查询成功", HotelData));
}
else
{
return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
}
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 酒店资料操作(Status:1.新增,2.修改)
///
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task OperationHotelData(OperationHotelData dto)
{
try
{
if (dto.City == "")
{
return Ok(JsonView(false, "请检查酒店所在城市是否填写!"));
}
if (dto.Name == "")
{
return Ok(JsonView(false, "请检查酒店名称是否填写!"));
}
if (dto.Address == "")
{
return Ok(JsonView(false, "请检查酒店地址是否填写正确!"));
}
if (dto.Tel == "")
{
return Ok(JsonView(false, "请检查酒店联系方式是否填写正确!"));
}
Result result = await _hotelDataRep.OperationHotelData(dto);
if (result.Code != 0)
{
return Ok(JsonView(false, result.Msg));
}
return Ok(JsonView(true, result.Msg));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
///
/// 酒店资料操作(删除)
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task DelHotelData(DelHotelDataDto dto)
{
try
{
var res = await _ThreeCodeRep.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId);
if (!res)
{
return Ok(JsonView(false, "删除失败"));
}
return Ok(JsonView(true, "删除成功!"));
}
catch (Exception ex)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
#endregion
}
}