using cylsg.Core.Attributes;
using cylsg.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using cylsg.Application.Users.Dtos;
using cylsg.Model.UserModel;
using System.Security.Claims;
using System.Runtime.Intrinsics.Arm;
using MapsterMapper;
namespace cylsg.Application.Users
{
///
/// 用户接口
///
[Authorize]
public class UserAppService : IDynamicApiController
{
private readonly ISystemService _systemService;
private ISqlSugarClient _sqlSugarClient;
private IMapper _mapper;
public UserAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper)
{
_systemService = systemService;
_sqlSugarClient = sqlSugarClient;
_mapper = mapper;
}
///
/// 查询当前用户
///
///
public async Task getUser()
{
var UserID = App.User?.FindFirstValue("UserID");
int userid = 0;
if (!string.IsNullOrEmpty(UserID))
{
userid = int.Parse(UserID);
}
UserDto userDto = new UserDto();
var userRes = new BaseRepository();
var userWorkerRes = new BaseRepository();
var userCompanyRes = new BaseRepository();
var user = await userRes.GetByIdAsync(userid);
userDto = _mapper.Map(user);
var userWorker = await userWorkerRes.GetFirstAsync(p=>p.UserId== userid);
userDto.userWorker = _mapper.Map(userWorker);
var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
userDto.userCompany = _mapper.Map(userCompany);
return userDto;
}
///
/// 保存用户工人信息
///
///
public async Task saveUserWorker(UserWorkerDto userWorkerDto)
{
var UserID = App.User?.FindFirstValue("UserID");
int userid = 0;
string ITCode = App.User?.FindFirstValue("ITCode");
if (!string.IsNullOrEmpty(UserID))
{
userid = int.Parse(UserID);
}
var userWorkerRes = new BaseRepository();
bool res;
if (userWorkerDto.Id > 0)
{
var userWorker1 = await userWorkerRes.GetByIdAsync(userWorkerDto.Id);
userWorker1.IdCardBack = userWorkerDto.IdCardBack;
userWorker1.IdCardFace = userWorkerDto.IdCardFace;
userWorker1.name = userWorkerDto.name;
userWorker1.Phone = userWorkerDto.Phone;
userWorker1.IdCode = userWorkerDto.IdCode;
userWorker1.Address = userWorkerDto.Address;
userWorker1.Resume = userWorkerDto.Resume;
userWorker1.UpDataBy = ITCode;
userWorker1.UpDataTime = DateTime.Now;
res = await userWorkerRes.UpdateAsync(userWorker1);
}
else
{
var userWorker = _mapper.Map(userWorkerDto);
userWorker.UpDataBy = ITCode;
userWorker.UpDataTime = DateTime.Now;
userWorker.CreateBy = ITCode;
userWorker.CreateTime = DateTime.Now;
userWorker.UserId = userid;
res = await userWorkerRes.InsertAsync(userWorker);
}
return res;
}
///
/// 保存用户公司信息
///
///
public async Task saveUserCompany(UserCompanyDto userCompanyDto)
{
var UserID = App.User?.FindFirstValue("UserID");
int userid = 0;
string ITCode = App.User?.FindFirstValue("ITCode");
if (!string.IsNullOrEmpty(UserID))
{
userid = int.Parse(UserID);
}
var userCompanyRes = new BaseRepository();
bool res;
if (userCompanyDto.Id > 0)
{
var userCompany1 = await userCompanyRes.GetByIdAsync(userCompanyDto.Id);
userCompany1.BusinessLicense = userCompanyDto.BusinessLicense;
userCompany1.Suppliername = userCompanyDto.Suppliername;
userCompany1.Regtime = userCompanyDto.Regtime;
userCompany1.Address = userCompanyDto.Address;
userCompany1.Suppliercode = userCompanyDto.Suppliercode;
userCompany1.Contact = userCompanyDto.Contact;
userCompany1.Phone = userCompanyDto.Phone;
userCompany1.Resume = userCompanyDto.Resume;
userCompany1.UpDataBy = ITCode;
userCompany1.UpDataTime = DateTime.Now;
res = await userCompanyRes.UpdateAsync(userCompany1);
}
else
{
var userCompany = _mapper.Map(userCompanyDto);
userCompany.UpDataBy = ITCode;
userCompany.UpDataTime = DateTime.Now;
userCompany.CreateBy = ITCode;
userCompany.CreateTime = DateTime.Now;
userCompany.UserId = userid;
res = await userCompanyRes.InsertAsync(userCompany);
}
return res;
}
///
/// 根据Id查询用户
///
///
public async Task getUser(int userid)
{
UserDto userDto = new UserDto();
var userRes = new BaseRepository();
var userWorkerRes = new BaseRepository();
var userCompanyRes = new BaseRepository();
var user = await userRes.GetByIdAsync(userid);
userDto = _mapper.Map(user);
var userWorker = await userWorkerRes.GetFirstAsync(p => p.UserId == userid);
userDto.userWorker = _mapper.Map(userWorker);
var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
userDto.userCompany = _mapper.Map(userCompany);
return userDto;
}
}
}