|
|
@ -4,6 +4,7 @@ using Entity.Sugar; |
|
|
|
using SqlSugar.Base; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
|
|
|
|
namespace EasyBL.WEBAPP.SYS |
|
|
|
{ |
|
|
@ -79,5 +80,107 @@ namespace EasyBL.WEBAPP.SYS |
|
|
|
} |
|
|
|
|
|
|
|
#endregion 收藏管理(以ID查詢)
|
|
|
|
|
|
|
|
public Dictionary<string, FavoriteDTO> FindAllByIDsAsDictionary(string sAccount, string sType) { |
|
|
|
|
|
|
|
var db = SugarBase.GetIntance(); |
|
|
|
string sMsg = null; |
|
|
|
Dictionary<string, FavoriteDTO> saDataDict = new Dictionary<string, FavoriteDTO>(); |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
do |
|
|
|
{ |
|
|
|
|
|
|
|
var saDataList = db.Queryable<SETB_CMS_Member_Favorite>() |
|
|
|
.Where(t1 => t1.MemberID == sAccount) |
|
|
|
.WhereIF(!string.IsNullOrEmpty(sType), t1 => t1.Type == sType) |
|
|
|
.Select(t1 => new FavoriteDTO |
|
|
|
{ |
|
|
|
FavoriteID = t1.FavoriteID, |
|
|
|
MemberID = t1.MemberID, |
|
|
|
Type = t1.Type, |
|
|
|
ParentID = t1.ParentID, |
|
|
|
Memo = t1.Memo, |
|
|
|
|
|
|
|
}) |
|
|
|
.ToList(); |
|
|
|
|
|
|
|
foreach (var Favoriate in saDataList) |
|
|
|
{ |
|
|
|
saDataDict[Favoriate.FavoriteID] = Favoriate; |
|
|
|
} |
|
|
|
|
|
|
|
return saDataDict; |
|
|
|
|
|
|
|
} while (false); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
sMsg = Util.GetLastExceptionMsg(ex); |
|
|
|
} |
|
|
|
|
|
|
|
return saDataDict; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#region 收藏管理(List 查詢收藏展覽列表)
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 收藏管理(List 查詢收藏展覽列表)
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="i_crm"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
///
|
|
|
|
public Dictionary<string, ExhibitionCardDTO> QueryFavoriteExhibition(string sLanguageID, string sAccount, List<string> SubCategoryIDList, List<string> CountryIDList) |
|
|
|
{ |
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(sLanguageID)) { |
|
|
|
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE; |
|
|
|
} |
|
|
|
|
|
|
|
var rsExhibitionList = new List<ExhibitionDTO>(); |
|
|
|
var rsExhibitionCardDic = new Dictionary<string, ExhibitionCardDTO>(); |
|
|
|
|
|
|
|
var FavoriateDic = FindAllByIDsAsDictionary(sAccount, "Exhibition"); |
|
|
|
|
|
|
|
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService(); |
|
|
|
var ExhibitionDic = em_qry.QueryAllDetailExhibitionAsDictionary(sLanguageID); |
|
|
|
|
|
|
|
foreach (var Favoriate in FavoriateDic.Values) { |
|
|
|
|
|
|
|
if (ExhibitionDic.ContainsKey(Favoriate.ParentID)) { |
|
|
|
|
|
|
|
var Exhibition = ExhibitionDic[Favoriate.ParentID]; |
|
|
|
rsExhibitionList.Add(Exhibition); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (SubCategoryIDList.Count > 0) { |
|
|
|
rsExhibitionList = em_qry.FilterBySubCategoryIDs(rsExhibitionList, SubCategoryIDList); |
|
|
|
} |
|
|
|
|
|
|
|
if (CountryIDList.Count > 0) |
|
|
|
{ |
|
|
|
rsExhibitionList = em_qry.FilterByLocationIDs(rsExhibitionList, new List<string>(), CountryIDList, new List<string>()); |
|
|
|
} |
|
|
|
|
|
|
|
rsExhibitionList = rsExhibitionList.OrderByDescending(o => (o.StartDate - DateTime.Now)).ToList(); |
|
|
|
|
|
|
|
foreach (var Exhibition in rsExhibitionList) { |
|
|
|
rsExhibitionCardDic[Exhibition.ExhibitionID] = ExhibitionService.ExhibitionDTOtoExhibitionCardDTO(Exhibition); |
|
|
|
} |
|
|
|
|
|
|
|
return rsExhibitionCardDic; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endregion 收藏管理(List 查詢收藏展覽列表)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |