You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

619 lines
20 KiB

using EasyBL.WebApi;
using EasyBL.WebApi.Common;
using EasyBL.WebApi.Message;
using Entity.ShowEasyDtos;
using Entity.Sugar;
using Entity.ViewModels;
using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
namespace EasyBL.WEBAPP.SYS
{
public class ExhibitionService : ServiceBase
{
#region 展覽管理(List API 展覽狀下拉選單)
/// <summary>
/// 展覽管理(List API 展覽狀下拉選單)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetStatusList(string sLanguageID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LanguageID", sLanguageID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryShowStatusDic(sLanguageID).Values.ToList();
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(List API 展覽狀下拉選單)
#region 展覽管理(List API 展覽類別篩選器)
/// <summary>
/// 展覽管理(List API 展覽類別篩選器)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetCategoryFilterList(string sLanguageID)
{
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryCategoryFilterList(sLanguageID);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(List API 展覽類別篩選器)
#region 展覽管理(List API 熱門展覽查詢)
/// <summary>
/// 展覽管理(List API 熱門展覽查詢)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetPopularExhibitionList(string sLanguageID, int iCount)
{
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
if (iCount <= 0)
{
iCount = WebAppGlobalConstWord.TOP_LIMIT;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryPopularExhibitionList(sLanguageID, iCount);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(List API 熱門展覽查詢)
#region 展覽管理(List API 查詢展覽列表)
/// <summary>
/// 展覽管理(List API 查詢展覽列表)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetAllExhibitionList(string sLanguageID)
{
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.FindAllByIDsAsDictionary(sLanguageID).Values.ToList();
//返回token信息
srm = new SuccessResponseMessage(null, null);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(List API 查詢展覽列表)
#region 展覽管理(Exhibition API 以ID查詢單筆展覽)
/// <summary>
/// 展覽管理(Exhibition API 以ID查詢單筆展覽)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetOneExhibition(string sLanguageID, string sExhibitionID)
{
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryOneDetailExhibition(sLanguageID, sExhibitionID);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(Exhibition API 以ID查詢單筆展覽)
#region 展覽管理(List API 查詢相關服務列表)
/// <summary>
/// 展覽管理(List API 查詢相關服務列表)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetRelatedServiceList(string sLanguageID, string sExhibitionID )
{
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
Services2Service s2s = new Services2Service();
var rsServiceList = s2s.GetRelatedServiceList(sLanguageID, sExhibitionID);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsServiceList);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(List API 查詢相關服務列表)
#region 展覽管理(List API 展覽位置列表)
/// <summary>
/// 展覽管理(List API 展覽狀下拉選單)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetLocationFilterList(string sLanguageID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LanguageID", sLanguageID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryLocationFilterList(sLanguageID);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
#endregion 展覽管理(List API 展覽狀下拉選單)
public HttpResponseMessage GetExhibitionCard(
string sLanguageID,
List<string> RegionIDs,
List<string> CountryIDs,
List<string> CityIDs,
List<string> MainCategoryIDs,
List<string> SubCategoryIDs,
List<string> Status,
List<string> Date,
string SortType) {
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryExhibitionCard(sLanguageID, RegionIDs, CountryIDs, CityIDs, MainCategoryIDs, SubCategoryIDs, Status, Date, SortType);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
public HttpResponseMessage GetPopularCountry(string sLanguageID, int iCount) {
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryPopularCountry(sLanguageID, iCount);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
public HttpResponseMessage GetPopularCategory(string sLanguageID, int iCount)
{
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryPopularCategory(sLanguageID, iCount);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
public HttpResponseMessage GetCategoryExhibition(string sLanguageID, List<string> IncludeCountryIDs, List<string> ExcludeCountryIDs) {
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
var rsResult = em_qry.QueryCategoryExhibition(sLanguageID, IncludeCountryIDs, ExcludeCountryIDs);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.Error,
MSG = StatusCodeEnum.Error.GetEnumText()
};
srm.DATA.Add(BLWording.REL, "");
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
private List<StatusDTO> StatusEntityToDTO(Object Data)
{
var Entities = new List<OTB_SYS_Arguments>();
if (Data.GetType() == typeof(List<OTB_SYS_Arguments>))
{
Entities = ((IEnumerable)Data).Cast<OTB_SYS_Arguments>().ToList();
}
else
{
Entities.Add((OTB_SYS_Arguments)Data);
}
List<StatusDTO> result = new List<StatusDTO>();
foreach (var Entity in Entities)
{
var Status = new StatusDTO();
Status.Key = Entity.ArgumentID;
Status.Value = Entity.ArgumentValue;
result.Add(Status);
}
return result;
}
//private List<ExhibitionDTO> ExhibitionEntityToDTO(Object Data)
//{
// var Entities = new List<View_CMS_Exhibition>();
// if (Data.GetType() == typeof(List<View_CMS_Exhibition>))
// {
// Entities = ((IEnumerable)Data).Cast<View_CMS_Exhibition>().ToList();
// }
// else
// {
// Entities.Add((View_CMS_Exhibition)Data);
// }
// List<ExhibitionDTO> result = new List<ExhibitionDTO>();
// foreach (var Entity in Entities)
// {
// var Exhibition = new ExhibitionDTO();
// Exhibition.ExhibitionID = Entity.ExhibitionID;
// Exhibition.ExhibitionNo = Entity.ExhibitionNo;
// Exhibition.ExhibitionName = Entity.ExhibitionName;
// Exhibition.AbbreviatedName = Entity.AbbreviatedName;
// Exhibition.ExhibStatus = Entity.ExhibStatus;
// Exhibition.Frequency = Entity.Frequency;
// Exhibition.IsVirtualEvent = Entity.IsVirtualEvent;
// Exhibition.MainCategoryIDs = Entity.MainCategoryIDs;
// Exhibition.SubCategoryIDs = Entity.SubCategoryIDs;
// //Exhibition.RegionName = Entity.RegionName;
// //Exhibition.CountryName = Entity.CountryName;
// //Exhibition.CityName = Entity.CityName;
// Exhibition.Tags = Entity.Tags;
// Exhibition.VirtualEventLink = Entity.VirtualEventLink;
// Exhibition.Website = Entity.Website;
// Exhibition.Logo = Entity.Logo;
// Exhibition.IsRecommend = Entity.IsRecommend;
// result.Add(Exhibition);
// }
// return result;
//}
}
}