|
|
using Common; using Common.Helper; using Common.Model.Config; using Common.Model.Reward; using log4net; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Runtime.Remoting.Messaging;
namespace Repository.Reward { public class RewardRepository : IRewardRepository { private readonly Dao _dao = new Dao(); private static readonly ILog Log = LogManager.GetLogger(typeof(RewardRepository));
JsonRxResponse IRewardRepository.GetProductLists(string rooturl) { JsonRxResponse jsonRx = new JsonRxResponse(); try { var sql = "EXEC proc_RewardPointOperation @flag='productlist' "; Log.Debug(sql); var dataSet = _dao.ExecuteDataset(sql); List<ResponsingProductsListDetail> productDetails = new List<ResponsingProductsListDetail>();
if (dataSet.Tables[0].Rows.Count == 0) { Log.DebugFormat("ProductList count is 0"); jsonRx.ErrorCode = "0"; jsonRx.Msg = "No Product List"; jsonRx.Data = new System.Collections.ArrayList(); return jsonRx; } string currentpath = AppDomain.CurrentDomain.BaseDirectory;
foreach (DataRow row in dataSet.Tables[0].Rows) { string imgtemppath = null, resultimgpath = null; string ipath = row["productImgPath"].ToString(); if (File.Exists(ipath)) { imgtemppath = ipath.Replace(currentpath, ""); resultimgpath = rooturl + "/" + imgtemppath.Replace("\\", "/"); } productDetails.Add(new ResponsingProductsListDetail { productCode = row["productCode"].ToString(), productName = row["productName"].ToString(), pointPrice = (Convert.ToDouble(row["pointPrice"].ToString())).ToString(), deliverYN = row["deliveryYN"].ToString(), productImgPath = resultimgpath }); } jsonRx.ErrorCode = "0"; jsonRx.Msg = "Success"; jsonRx.Data = productDetails; return jsonRx; } catch (Exception e) { Log.DebugFormat($"Exception : {e.ToString()}"); jsonRx.ErrorCode = "1"; jsonRx.Msg = "Failed"; jsonRx.Data = e.ToString(); return jsonRx; } }
JsonRxResponse IRewardRepository.BuyProduct(RequestedOrderDetail orderRequest) { JsonRxResponse jsonRx = new JsonRxResponse(); // 동대문 코드 1034
var sql = string.Format($@"EXEC proc_RewardPointOperation @flag='buyproduct',
@orderId = '{DateTime.Now.ToString("yyyyMMddHHmmssfff")}', @email = '{orderRequest.userId}', @branchCode = '{orderRequest.branchCode}', @productCode = '{orderRequest.productCode}', @recvType = '{orderRequest.recvType}', @recvAddress = '{orderRequest.recvAddress}', @recvZipCode = '{orderRequest.recvZipCode}', @recvPhoneNumber = '{orderRequest.recvPhoneNumber}', @recvName = '{orderRequest.recvName}', @orderType = '{orderRequest.orderType}' ").Replace("\r\n", string.Empty);
Log.Debug(sql);
var dbdataset = _dao.ExecuteDataset(sql); if (dbdataset.Tables.Count == 0) { Log.DebugFormat("[REWARD-POINT] proc_RewardPointOperation fail"); jsonRx.ErrorCode = "1"; jsonRx.Msg = "[REWARD-POINT] Please contact GME"; return jsonRx; }
var dbresult = _dao.ParseDbResult(dbdataset.Tables[0]); string branchemail = null, branchname = null, productname = null, mobile = null; if (dbdataset.Tables.Count >= 2) { foreach (DataRow row in dbdataset.Tables[1].Rows) { branchemail = row["agentEmail1"].ToString(); branchname = row["agentName"].ToString(); productname = row["productname"].ToString(); mobile = row["mobile"].ToString(); } } jsonRx.ErrorCode = dbresult.ResponseCode; jsonRx.Msg = dbresult.Msg; jsonRx.Data = new System.Collections.ArrayList(); jsonRx.Extra = branchemail; jsonRx.Extra2 = branchname + "," + productname + "," + mobile; return jsonRx; }
JsonRxResponse IRewardRepository.OrderedProductList(RequestedOrderDetail orderRequest) { JsonRxResponse jsonRx = new JsonRxResponse(); try { var sql = string.Format($@"EXEC proc_RewardPointOperation @flag='orderedlist',
@email = '{orderRequest.userId}', @startDate = '{orderRequest.startDate}', @endDate = '{orderRequest.endDate}' ").Replace("\r\n", string.Empty);
Log.Debug(sql); var dataSet = _dao.ExecuteDataset(sql); var dbresult = _dao.ParseDbResult(dataSet.Tables[0]); if (dbresult.ResponseCode == "0") { List<RequestedProductDetail> orderProductDetail = new List<RequestedProductDetail>(); if (dataSet.Tables[1].Rows.Count == 0) { Log.DebugFormat("Orderd List count is 0"); jsonRx.ErrorCode = "0"; jsonRx.Msg = "Orderd List count is 0"; jsonRx.Data = new System.Collections.ArrayList(); return jsonRx; }
foreach (DataRow row in dataSet.Tables[1].Rows) { orderProductDetail.Add(new RequestedProductDetail { orderId = row["orderId"].ToString(), productCode = row["productCode"].ToString(), productName = row["productName"].ToString(), usePoint = (Convert.ToDouble(row["usePoint"].ToString())).ToString(), orderType = row["orderType"].ToString(), recvType = row["recvType"].ToString(), branchCode = row["branchCode"].ToString(), branchName = row["agentName"].ToString(), recvAddress = row["recvAddress"].ToString(), recvZipCode = row["recvZipCode"].ToString(), recvPhoneNumber = row["recvPhoneNumber"].ToString(), recvName = row["recvName"].ToString(), orderStatus = row["orderStatus"].ToString(), createdDate = row["createdDate"].ToString(), modifiedDate = row["modifiedDate"].ToString(), recvDate = row["recvDate"].ToString() }); } jsonRx.ErrorCode = "0"; jsonRx.Msg = "Success"; jsonRx.Data = orderProductDetail; return jsonRx; } else { return new JsonRxResponse { ErrorCode = dbresult.ResponseCode, Msg = dbresult.Msg }; } } catch (Exception e) { Log.DebugFormat($"Exception : {e.ToString()}"); jsonRx.ErrorCode = "1"; jsonRx.Msg = "Failed"; jsonRx.Data = e.ToString(); return jsonRx; } }
JsonRxResponse IRewardRepository.GetAgentInfo() { var lang = Convert.ToString(CallContext.GetData(Constants.Language)); JsonRxResponse jsonRx = new JsonRxResponse(); try { var sql = string.Format($@"EXEC mobile_proc_userLogin @flag = 'agentDetail'").Replace("\r\n", string.Empty); Log.Debug(sql); var dataSet = _dao.ExecuteDataset(sql); List<ResponsingAgentDetail> agentList = new List<ResponsingAgentDetail>(); if (dataSet.Tables[0].Rows.Count == 0) { Log.DebugFormat("Agent List count is 0"); jsonRx.ErrorCode = "0"; jsonRx.Msg = "Agent List count is 0"; jsonRx.Data = new System.Collections.ArrayList(); return jsonRx; } foreach (DataRow row in dataSet.Tables[0].Rows) { agentList.Add(new ResponsingAgentDetail { agentId = row["agentId"].ToString(), agentName = row["agentName"].ToString(), agentState = row["agentState"].ToString(), agentCity = row["agentCity"].ToString(), agentAddress = row["agentAddress"].ToString(), agentZip = row["agentZip"].ToString(), agentPhone1 = row["agentPhone1"].ToString() }); } var map = Utilities.GetLanguageMapping(RESPONSE_MSG.GET_BRANCH_INFOS_SUCCESS.ToString(), lang);
jsonRx.ErrorCode = "0"; jsonRx.Msg = map.Message; jsonRx.Data = agentList; return jsonRx; } catch (Exception e) { var map = Utilities.GetLanguageMapping(RESPONSE_MSG.GET_BRANCH_INFOS_FAIL.ToString(), lang); Log.DebugFormat($"Exception : {e.ToString()}"); jsonRx.ErrorCode = "1"; jsonRx.Msg = map.Message; jsonRx.Data = e.ToString(); return jsonRx; }
}
string IRewardRepository.GetExpectedReward(string customerId, string tranId) { JsonRxResponse jsonRx = new JsonRxResponse(); try { string reward = null;
var sql = string.Format($@"EXEC PROC_PointMasterDetails @flag = 'expectedreward',
@customerId = '{customerId}', @holdtranId = '{tranId}' ").Replace("\r\n", string.Empty);
Log.Debug(sql); var dataSet = _dao.ExecuteDataset(sql);
if (dataSet.Tables[0].Rows.Count == 0) { return null; } foreach (DataRow row in dataSet.Tables[0].Rows) { reward = row["expectedReward"].ToString(); } double dreward = 0; if (double.TryParse(reward, out dreward)) { reward = Math.Round(dreward, 0).ToString(); }
return reward; } catch (Exception e) { Log.DebugFormat($"Exception : {e.ToString()}"); return null; } } } }
|