Browse Source

選擇『年份』、『月份』後,不會動態調整下方出現的展會

Dev
alina 2 years ago
parent
commit
07f672d053
  1. 100
      EuroTran/EasyBL.WEBAPP/ShowEasy/ONSiteMaintain_QryService.cs
  2. 4
      EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs
  3. 2
      EuroTran/WebApp/Controllers/OnsiteController.cs

100
EuroTran/EasyBL.WEBAPP/ShowEasy/ONSiteMaintain_QryService.cs

@ -1528,9 +1528,9 @@ namespace EasyBL.WEBAPP.ShowEasy
}
//展覽列表
public List<ArgumentDTO> QueryExhibitions(string sLanguageID, string sServiceID)
public List<ArgumentDTO> QueryExhibitions(string sLanguageID, string sServiceID,string sYear, string sMonth)
{
List<ArgumentDTO> saExhibition = new List<ArgumentDTO>();
List<ArgumentDTO> saReturnExhibition = new List<ArgumentDTO>();
var db = SugarBase.GetIntance();
try
{
@ -1546,20 +1546,92 @@ namespace EasyBL.WEBAPP.ShowEasy
if (objONSiteBaseInfo.ExhibitionID != "[]" && objONSiteBaseInfo.ExhibitionID != "")
{
if (!string.IsNullOrEmpty(sYear) && string.IsNullOrEmpty(sMonth))
{
var saExhibition2 = db.Queryable<SETB_CMS_Exhibition, SETB_CMS_Exhibition_Info>((t1, t2) =>
new object[] {
JoinType.Inner, t1.OrgID == t2.OrgID && t1.ExhibitionID == t2.ExhibitionID && t1.LanguageID==t2.LanguageID
})
.Where((t1, t2) => t1.LanguageID == sLanguageID && objONSiteBaseInfo.ExhibitionID.Contains(t1.ExhibitionID) && t2.Year == sYear)
.Select((t1, t2) => new ArgumentDTO
{
ArgumentID = t1.ExhibitionID,
ArgumentValue = t1.ExhibitionName
})
.ToList();
//防止重複
if (saExhibition2.Count() > 0)
{
saReturnExhibition.Add(saExhibition2[0]);
foreach (var ExhibitionYearModel in saExhibition2)
{
var Flag = saReturnExhibition.Where(x => x.ArgumentID == ExhibitionYearModel.ArgumentID).Single();
if (Flag == null)
{
saReturnExhibition.Add(ExhibitionYearModel);
}
}
}
saExhibition = db.Queryable<SETB_CMS_Exhibition>
()
.Where((t1) => t1.LanguageID == sLanguageID && objONSiteBaseInfo.ExhibitionID.Contains(t1.ExhibitionID))
.Select((t1) => new ArgumentDTO
{
ArgumentID=t1.ExhibitionID,
ArgumentValue = t1.ExhibitionName
})
.ToList();
}
else if (!string.IsNullOrEmpty(sYear) && !string.IsNullOrEmpty(sMonth))
{
var rMonthStart = new DateTime();
var rMonthEnd = new DateTime();
rMonthStart = SqlFunc.ToDate(sYear + "/" + sMonth.Split('-')[0] + "/01");
rMonthEnd = SqlFunc.ToDate(sYear + "/" + sMonth.Split('-')[1] + "/01").AddMonths(1).AddDays(-1);
var saExhibition3 = db.Queryable<SETB_CMS_Exhibition, SETB_CMS_Exhibition_Info>((t1, t2) =>
new object[] {
JoinType.Inner, t1.OrgID == t2.OrgID && t1.ExhibitionID == t2.ExhibitionID && t1.LanguageID==t2.LanguageID
})
.Where((t1, t2) => t1.LanguageID == sLanguageID && objONSiteBaseInfo.ExhibitionID.Contains(t1.ExhibitionID) && t2.Year == sYear)
.WhereIF(!string.IsNullOrEmpty(sMonth), (t1, t2) => t2.EndDate >= SqlFunc.ToDate(rMonthStart))
.WhereIF(!string.IsNullOrEmpty(sMonth), (t1, t2) => t2.StartDate <= SqlFunc.ToDate(rMonthEnd))
.WhereIF(!string.IsNullOrEmpty(sMonth), (t1, t2) => t2.StartDate <= SqlFunc.ToDate(rMonthEnd) && t2.EndDate >= SqlFunc.ToDate(rMonthStart))
.Select((t1, t2) => new ArgumentDTO
{
ArgumentID = t1.ExhibitionID,
ArgumentValue = t1.ExhibitionName
})
.ToList();
//防止重複
if (saExhibition3.Count() > 0)
{
saReturnExhibition.Add(saExhibition3[0]);
foreach (var ExhibitionYearModel in saExhibition3)
{
var Flag = saReturnExhibition.Where(x => x.ArgumentID == ExhibitionYearModel.ArgumentID).Single();
if (Flag == null)
{
saReturnExhibition.Add(ExhibitionYearModel);
}
}
}
}
else {
var saExhibition = db.Queryable<SETB_CMS_Exhibition>()
.Where((t1) => t1.LanguageID == sLanguageID && objONSiteBaseInfo.ExhibitionID.Contains(t1.ExhibitionID))
.Select((t1) => new ArgumentDTO
{
ArgumentID = t1.ExhibitionID,
ArgumentValue = t1.ExhibitionName
})
.ToList();
saReturnExhibition = saExhibition;
}
}
return saExhibition;
return saReturnExhibition;
} while (false);
@ -1569,7 +1641,7 @@ namespace EasyBL.WEBAPP.ShowEasy
}
return saExhibition;
return saReturnExhibition;
}

4
EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs

@ -684,7 +684,7 @@ namespace EasyBL.WEBAPP.ShowEasy
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage QueryExhibitions(string sLanguageID, string ServiceID)
public HttpResponseMessage QueryExhibitions(string sLanguageID, string ServiceID,string Year, string Month)
{
SuccessResponseMessage srm = null;
string sError = null;
@ -697,7 +697,7 @@ namespace EasyBL.WEBAPP.ShowEasy
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
ONSiteMaintain_QryService em_qry = new ONSiteMaintain_QryService();
var rsResult = em_qry.QueryExhibitions(sLanguageID, ServiceID);
var rsResult = em_qry.QueryExhibitions(sLanguageID, ServiceID, Year, Month);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsResult);

2
EuroTran/WebApp/Controllers/OnsiteController.cs

@ -99,7 +99,7 @@ namespace WebApp.Controllers
[HttpGet]
public HttpResponseMessage Exhibitions(string Lang,string ServiceID,string Year,string Month)
{
return new OnsiteService().QueryExhibitions(Lang, ServiceID);
return new OnsiteService().QueryExhibitions(Lang, ServiceID, Year, Month);
}
//服務細項目

|||||||
100:0
Loading…
Cancel
Save