using AutoMapper;
using OASystem.Domain;
using OASystem.Domain.Dtos;
using OASystem.Domain.Dtos.CRM;
using OASystem.Domain.Dtos.UserDto;
using OASystem.Domain.Entities.Customer;
using OASystem.Domain.Entities.Resource;
using OASystem.Domain.ViewModels.CRM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OASystem.Infrastructure.Repositories.CRM
{
///
/// 签证客户公司
/// 仓库
///
public class VisaDeleClientCompanyRepository : BaseRepository
{
private readonly IMapper _mapper;
public VisaDeleClientCompanyRepository(SqlSugarClient sqlSugar, IMapper mapper) :
base(sqlSugar)
{
_mapper= mapper;
}
///
/// 签证客户公司 List
///
///
///
public async Task GetCrm_ClientCompanyList(DtoBase dto)
{
Result result = new Result() { Code = -2 };
try
{
if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3)
{
string sql = string.Format(@"Select ccc.Id,ccc.CompanyFullName,ccc.CompanyAbbreviation,ccc.Address,ccc.PostCodes,su.CnName UserName,ccc.CreateTime,ccc.Remark
From Crm_CustomerCompany ccc Inner Join Sys_Users su On ccc.CreateUserId = su.Id where ccc.IsDel=0 order by CreateTime Desc");
var _clientCompanyList = await _sqlSugar.SqlQueryable(sql).ToListAsync();
if (_clientCompanyList.Count > 0)
{
result.Code = 0;
result.Msg = "成功!";
result.Data = _clientCompanyList;
}
else
{
result.Msg = "查询失败!";
}
}
}
catch (Exception ex)
{
result.Msg = ex.Message;
}
return result;
}
public async Task OperationClientCompany(OperationClientCompanyDto dto)
{
Result result = new Result() { Code = -2, Msg = "未知错误" };
try
{
if (dto.Status == 1)//添加
{
string selectSql = string.Format(@"select * from Crm_CustomerCompany WHERE CompanyName='{0}' and IsDel='{1}'"
, dto.CompanyName, 0);
var CustomerCompany = await _sqlSugar.SqlQueryable(selectSql).FirstAsync();//查询是否存在
if (CustomerCompany != null)
{
return result = new Result() { Code = -1, Msg = "该信息已存在,请勿重复添加!" };
}
else//不存在,可添加
{
Crm_CustomerCompany _CustomerCompany = _mapper.Map(dto);
int id = await AddAsyncReturnId(_CustomerCompany);
if (id == 0)
{
return result = new Result() { Code = -1, Msg = "添加失败!" };
}
result = new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } };
}
}
else if (dto.Status == 2)//修改
{
bool res = await UpdateAsync(a => a.Id == dto.Id, a => new Crm_CustomerCompany
{
CompanyFullName = dto.CompanyName,
Address = dto.Address,
PostCodes = dto.PostCodes,
LastedOpUserId = dto.LastedOpUserId,
LastedOpDt = dto.LastedOpDt,
Remark = dto.Remark,
});
if (!res)
{
return result = new Result() { Code = -1, Msg = "修改失败!" };
}
result = new Result() { Code = 0, Msg = "修改成功!" };
}
else
{
return result = new Result() { Code = -1, Msg = "请传入Status参数,1添加 2修改!" };
}
}
catch (Exception ex)
{
return result = new Result() { Code = -2, Msg = "程序错误!" };
}
return result;
}
}
}