Files
zszq-trs/YLErpDAL/Modules/DicForTranslationModule/DicForTranslationService.cs
T
2024-05-09 14:06:26 +08:00

152 lines
5.1 KiB
C#

namespace YLErp.Modules.DicForTranslationModule
{
public class DicForTranslationService : YLBaseService
{
public DicForTranslationService(OptUserInfo userInfo) : base(userInfo)
{
}
public void SetWordDictionary(Variety variety)
{
var dicKey = "Variety_" + variety.id;
if (!string.IsNullOrWhiteSpace(variety.VarietyEnName))
{
var record = DbContext.dicForTranslation.Where(o => o.Key == dicKey && o.From == variety.VarietyName).FirstOrDefault();
if (record != null)
{
record.To = variety.VarietyEnName;
}
else
{
DbContext.dicForTranslation.Add(new dicForTranslation()
{
From = variety.VarietyName,
Key = dicKey,
To = variety.VarietyEnName
});
}
}
if (!string.IsNullOrWhiteSpace(variety.EnUnit))
{
var unit = DBModels.Helpers.VarietyHelper.GetTradeUnitSingle(variety.TradeUnit);
var record = DbContext.dicForTranslation.Where(o => o.Key == dicKey && o.From == unit).FirstOrDefault();
if (record != null)
{
record.To = variety.EnUnit = variety.EnUnit;
}
else
{
DbContext.dicForTranslation.Add(new dicForTranslation()
{
From = unit,
Key = dicKey,
To = variety.EnUnit
});
}
}
DbContext.SaveChanges();
}
public void SetWordDictionary(Market market)
{
var dicKey = "Market_" + market.id;
if (!string.IsNullOrWhiteSpace(market.MarketEnName))
{
var record = DbContext.dicForTranslation.Where(o => o.Key == dicKey && o.From == market.MarketName).FirstOrDefault();
if (record != null)
{
record.To = market.MarketEnName;
}
else
{
DbContext.dicForTranslation.Add(new dicForTranslation()
{
From = market.MarketName,
Key = dicKey,
To = market.MarketEnName
});
}
}
DbContext.SaveChanges();
}
public void SetWordDictionary(underlying_manager um)
{
var dicKey = "Underlying_" + um.id;
if (!string.IsNullOrWhiteSpace(um.UnderlyingEnName))
{
var record = DbContext.dicForTranslation.Where(o => o.Key == dicKey && o.From == um.UnderlyingName).FirstOrDefault();
if (record != null)
{
record.To = um.UnderlyingEnName;
}
else
{
DbContext.dicForTranslation.Add(new dicForTranslation()
{
From = um.UnderlyingName,
Key = dicKey,
To = um.UnderlyingEnName
});
}
}
DbContext.SaveChanges();
}
public void GetTransWord(Variety variety)
{
if (variety == null)
{
return;
}
var dicKey = "Variety_" + variety.id;
if (!string.IsNullOrWhiteSpace(variety.TradeUnit))
{
var unit = DBModels.Helpers.VarietyHelper.GetTradeUnitSingle(variety.TradeUnit);
variety.EnUnit = TransWordFromDic(unit, dicKey);
}
if (!string.IsNullOrWhiteSpace(variety.VarietyName))
{
variety.VarietyEnName = TransWordFromDic(variety.VarietyName, dicKey);
}
}
public void GetTransWord(Market market)
{
if (market == null)
{
return;
}
var dicKey = "Market_" + market.id;
if (!string.IsNullOrWhiteSpace(market.MarketName))
{
market.MarketEnName = TransWordFromDic(market.MarketName, dicKey);
}
}
public void GetTransWord(underlying_manager um)
{
if (um == null)
{
return;
}
var dicKey = "Underlying_" + um.id;
if (!string.IsNullOrWhiteSpace(um.UnderlyingName))
{
um.UnderlyingEnName = TransWordFromDic(um.UnderlyingName, dicKey);
}
}
private string TransWordFromDic(string CnWord, string Key)
{
var result = DbContextFactory.GetYLDbContext().dicForTranslation.Where(o => o.From == CnWord && o.Key == Key).FirstOrDefault();
if (result != null)
{
return result.To;
}
return "";
}
}
}