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.
 
 
 
 
 

462 lines
14 KiB

using EasyBL.WebApi;
using EasyBL.WebApi.Common;
using EasyBL.WebApi.Message;
using EasyBL.WEBAPP.WSM;
using Entity.ShowEasyDtos;
using Entity.Sugar;
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 LocationService : ServiceBase
{
#region 區域管理(List API 區域選單)
/// <summary>
/// 區域管理(List API 區域選單)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetRegionList(string sLanguageID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LangType", sLanguageID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
RegionMaintain_QryService rm_qry = new RegionMaintain_QryService();
var rsResult = rm_qry.QueryRegionList(i_crm);
//返回token信息
srm = new SuccessResponseMessage(null, null);
var rsRegionList = new List<RegionDTO>();
rsRegionList = RegionEntityToDTO(rsResult.DATA[BLWording.REL]);
srm.DATA.Add(BLWording.REL, rsRegionList);
} 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 區域管理(Region API 以ID查詢區域)
/// <summary>
/// 區域管理(Region API 以ID查詢區域)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetOneRegion(string sLanguageID, string sRegionID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LangType", sLanguageID);
i_crm.DATA.Add("RegionID", sRegionID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
RegionMaintain_UpdService rm_upd = new RegionMaintain_UpdService();
var rsResult = rm_upd.QueryOne(i_crm);
var rsRegion = new RegionDTO();
rsRegion = RegionEntityToDTO(rsResult.DATA[BLWording.REL]).FirstOrDefault();
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsRegion);
} 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 區域管理(Region API 以ID查詢區域)
#region 國家管理(List API 國家選單)
/// <summary>
/// 國家管理(List API 國家選單)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetCountryList(string sLanguageID, string sRegionID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LangType", sLanguageID);
i_crm.DATA.Add("RegionID", sRegionID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
CountryMaintain_QryService cm_qry = new CountryMaintain_QryService();
var rsResult = cm_qry.QueryCountryList(i_crm);
var rsCountryList = new List<CountryDTO>();
rsCountryList = CountryEntityToDTO(rsResult.DATA[BLWording.REL]);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsCountryList);
} 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 國家管理(Country API 以ID查詢國家)
/// <summary>
/// 國家管理(Country API 以ID查詢國家)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetOneCountry(string sLanguageID, string sCountryID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LangType", sLanguageID);
i_crm.DATA.Add("CountryID", sCountryID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
CountryMaintain_UpdService cm_upd = new CountryMaintain_UpdService();
var rsResult = cm_upd.QueryOne(i_crm);
var rsCountry = new CountryDTO();
rsCountry = CountryEntityToDTO(rsResult.DATA[BLWording.REL]).FirstOrDefault();
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsCountry);
} 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 國家管理(Country API 以ID查詢國家)
#region 城市管理(List API 城市選單)
/// <summary>
/// 城市管理(List API 城市選單)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetCityList(string sLanguageID, string sCountryID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LangType", sLanguageID);
i_crm.DATA.Add("CountryID", sCountryID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
CityMaintain_QryService cm_qry = new CityMaintain_QryService();
var rsResult = cm_qry.QueryCityList(i_crm);
var rsCityList = new List<CityDTO>();
rsCityList = CityEntityToDTO(rsResult.DATA[BLWording.REL]);
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsCityList);
} 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 城市管理理(City API 以ID查詢城市)
/// <summary>
/// 城市管理理(City API 以ID查詢城市)
/// </summary>
/// <param name="i_crm"></param>
/// <returns></returns>
public HttpResponseMessage GetOneCity(string sLanguageID, string sCityID)
{
RequestMessage i_crm = new RequestMessage();
i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
i_crm.DATA.Add("LangType", sLanguageID);
i_crm.DATA.Add("CityID", sCityID);
SuccessResponseMessage srm = null;
string sError = null;
try
{
do
{
if (string.IsNullOrEmpty(sLanguageID))
{
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
CityMaintain_UpdService rm_upd = new CityMaintain_UpdService();
var rsResult = rm_upd.QueryOne(i_crm);
var rsCity = new CityDTO();
rsCity = CityEntityToDTO(rsResult.DATA[BLWording.REL]).FirstOrDefault();
//返回token信息
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, rsCity);
} 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 城市管理理(City API 以ID查詢城市)
private List<RegionDTO> RegionEntityToDTO(Object Data)
{
var Entities = new List<SETB_SYS_Region>();
if (Data.GetType() == typeof(List<SETB_SYS_Region>))
{
Entities = ((IEnumerable)Data).Cast<SETB_SYS_Region>().ToList();
}
else
{
Entities.Add((SETB_SYS_Region)Data);
}
List<RegionDTO> result = new List<RegionDTO>();
foreach (var Entity in Entities)
{
var Region = new RegionDTO();
Region.RegionID = Entity.RegionID;
Region.RegionName = Entity.RegionName;
result.Add(Region);
}
return result;
}
private List<CountryDTO> CountryEntityToDTO(Object Data)
{
var Entities = new List<SETB_SYS_Country>();
if (Data.GetType() == typeof(List<SETB_SYS_Country>))
{
Entities = ((IEnumerable)Data).Cast<SETB_SYS_Country>().ToList();
}
else
{
Entities.Add((SETB_SYS_Country)Data);
}
List<CountryDTO> result = new List<CountryDTO>();
foreach (var Entity in Entities)
{
var Country = new CountryDTO();
Country.CountryID = Entity.CountryID;
Country.CountryName = Entity.CountryName;
result.Add(Country);
}
return result;
}
private List<CityDTO> CityEntityToDTO(Object Data)
{
var Entities = new List<SETB_UTL_City>();
if (Data.GetType() == typeof(List<SETB_UTL_City>))
{
Entities = ((IEnumerable)Data).Cast<SETB_UTL_City>().ToList();
}
else
{
Entities.Add((SETB_UTL_City)Data);
}
List<CityDTO> result = new List<CityDTO>();
foreach (var Entity in Entities)
{
var City = new CityDTO();
City.CityID = Entity.CityID;
City.CityName = Entity.CityName;
result.Add(City);
}
return result;
}
}
}