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.
 
 
 
 
 

219 lines
10 KiB

using CustomerOnlineRemit.Common.Model.Account;
using CustomerOnlineRemit.Common.Model;
using CustomerOnlineRemit.Repository.ConnectionServices;
using Newtonsoft.Json;
using CustomerOnlineRemit.Common.Model.Customer;
using System.Data;
namespace CustomerOnlineRemit.Repository.Repository.Account
{
public class AccountRepository : IAccountRepository
{
private static readonly Serilog.ILogger _logger = Serilog.Log.ForContext<AccountRepository>();
private IDBServiceUtility _dbHelper;
public AccountRepository(IDBServiceUtility dbHelper)
{
_dbHelper = dbHelper;
}
public async Task<LoginResponse> DoLoginAsync(LoginModel loginModel)
{
LoginResponse _response = new LoginResponse();
try
{
var sql = "EXEC proc_online_customer_login";
sql += " @Flag = " + _dbHelper.FilterString("l");
sql += ",@customerEmail = " + _dbHelper.FilterString(loginModel.UserName);
sql += ",@customerPassword = " + _dbHelper.FilterString(loginModel.Password);
sql += ",@ipAddress = " + _dbHelper.FilterString(loginModel.IpAddress);
sql += ",@sessionId = " + _dbHelper.FilterString(loginModel.SessionId);
sql += ",@LogInfo = N" + _dbHelper.FilterString(JsonConvert.SerializeObject(loginModel.LoginInfo));
_logger.Debug("ACCOUNTREPOSITORY | DOLOGINASYNC | SQL | " + sql);
var dr = _dbHelper.ExecuteDataRow(sql);
if (dr == null)
{
_response.ResponseCode = ResponseHelper.FAILED;
_response.ResponseMessage = "DB Null Error!";
_logger.Error("ACCOUNTREPOSITORY | DOLOGINASYNC | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
}
else
{
_response.ResponseCode = Convert.ToInt16(dr["errorCode"]);
_response.ResponseMessage = Convert.ToString(dr["msg"]);
if (_response.ResponseCode == ResponseHelper.SUCCESS)
{
_response.UserName = Convert.ToString(dr["username"]);
_response.UserId = Convert.ToString(dr["Id"]);
_response.Email = Convert.ToString(dr["username"]);
_response.ForceChangePassword = Convert.ToBoolean(dr["isForcedPwdChange"]);
_response.FullName = Convert.ToString(dr["fullName"]);
_response.GoogleAuthCode = "";
_response.MobileNumber = Convert.ToString(dr["mobile"]);
_response.RememberMe = loginModel.RememberMe;
_response.SessionId = loginModel.SessionId;
}
}
}
catch (Exception ex)
{
_response.ResponseCode = ResponseHelper.EXCEPTION;
_response.ResponseMessage = "Exception occured: " + ex.Message;
_logger.Error("ACCOUNTREPOSITORY | DOLOGINASYNC | EXCEPTION | " + JsonConvert.SerializeObject(_response));
}
return await Task.FromResult(_response);
}
public async Task<CustomerReceiverModel> GetCustomerReceiverList(bool ShowAll, LoginResponse loginDetails)
{
CustomerReceiverModel _response = new CustomerReceiverModel();
try
{
var sql = "EXEC PROC_DYNAMIC_TABLE";
sql += " @Flag = " + _dbHelper.FilterString("CustomerReceiver");
sql += ",@ShowAll = " + _dbHelper.FilterString(ShowAll.ToString());
_logger.Debug("ACCOUNTREPOSITORY | GETCUSTOMERRECEIVERLIST | SQL | " + sql);
var dt = _dbHelper.ExecuteDataTable(sql);
if (dt == null || dt.Rows.Count <= 0)
{
_response.ResponseCode = ResponseHelper.FAILED;
_response.ResponseMessage = "DB Null Error!";
_logger.Error("ACCOUNTREPOSITORY | GETCUSTOMERRECEIVERLIST | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
}
else
{
_response.ResponseCode = Convert.ToInt16(dt.Rows[0]["errorCode"]);
_response.ResponseMessage = Convert.ToString(dt.Rows[0]["msg"]);
List<ReceiverModel> obj = new List<ReceiverModel>();
foreach (DataRow item in dt.Rows)
{
obj.Add(new ReceiverModel
{
Id = Convert.ToString(item["Id"]),
Name = Convert.ToString(item["Name"]),
Mobile = Convert.ToString(item["Mobile"]),
Country = Convert.ToString(item["Country"]),
TransactionType = Convert.ToString(item["TransactionType"])
});
}
_response.ReceiverModel = obj;
}
}
catch (Exception ex)
{
_response.ResponseCode = ResponseHelper.EXCEPTION;
_response.ResponseMessage = "Exception occured: " + ex.Message;
_logger.Error("ACCOUNTREPOSITORY | GETCUSTOMERRECEIVERLIST | EXCEPTION | " + JsonConvert.SerializeObject(_response));
}
return await Task.FromResult(_response);
}
public async Task<CustomerTransactionList> GetCustomerTransactionList(bool ShowAll, LoginResponse loginDetails)
{
CustomerTransactionList _response = new CustomerTransactionList();
try
{
var sql = "EXEC PROC_DYNAMIC_TABLE";
sql += " @Flag = " + _dbHelper.FilterString("CustomerTxn");
sql += ",@ShowAll = " + _dbHelper.FilterString(ShowAll.ToString());
_logger.Debug("ACCOUNTREPOSITORY | GETCUSTOMERTRANSACTIONLIST | SQL | " + sql);
var dt = _dbHelper.ExecuteDataTable(sql);
if (dt == null || dt.Rows.Count <= 0)
{
_response.ResponseCode = ResponseHelper.FAILED;
_response.ResponseMessage = "DB Null Error!";
_logger.Error("ACCOUNTREPOSITORY | GETCUSTOMERTRANSACTIONLIST | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
}
else
{
_response.ResponseCode = Convert.ToInt16(dt.Rows[0]["errorCode"]);
_response.ResponseMessage = Convert.ToString(dt.Rows[0]["msg"]);
List<CustomerTransaction> obj = new List<CustomerTransaction>();
foreach (DataRow item in dt.Rows)
{
obj.Add(new CustomerTransaction
{
Id = Convert.ToString(item["Id"]),
Amount = Convert.ToString(item["Amount"]),
PaymentMethod = Convert.ToString(item["PaymentMethod"]),
PBankName = Convert.ToString(item["PBankName"]),
PCurrency = Convert.ToString(item["PCurrency"]),
TransactionDay = Convert.ToString(item["TransactionDay"]),
TransactionMonth = Convert.ToString(item["TransactionMonth"]),
Status = Convert.ToString(item["Status"])
});
}
_response.CustomerTransaction = obj;
}
}
catch (Exception ex)
{
_response.ResponseCode = ResponseHelper.EXCEPTION;
_response.ResponseMessage = "Exception occured: " + ex.Message;
_logger.Error("ACCOUNTREPOSITORY | GETCUSTOMERTRANSACTIONLIST | EXCEPTION | " + JsonConvert.SerializeObject(_response));
}
return await Task.FromResult(_response);
}
public async Task<DropDownModel> GetDynamicDropDown(string flag, LoginResponse loginDetails, string selectedValue1 = "")
{
DropDownModel _response = new DropDownModel();
try
{
var sql = "EXEC PROC_DYNAMIC_TABLE";
sql += " @Flag = " + _dbHelper.FilterString(flag);
sql += ", @selectedValue1 = " + _dbHelper.FilterString(selectedValue1);
_logger.Debug("ACCOUNTREPOSITORY | GETCUSTOMERTRANSACTIONLIST | SQL | " + sql);
var dt = _dbHelper.ExecuteDataTable(sql);
if (dt == null || dt.Rows.Count <= 0)
{
_response.ResponseCode = ResponseHelper.FAILED;
_response.ResponseMessage = "DB Null Error!";
_logger.Error("ACCOUNTREPOSITORY | GETCUSTOMERTRANSACTIONLIST | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
}
else
{
_response.ResponseCode = Convert.ToInt16(dt.Rows[0]["errorCode"]);
_response.ResponseMessage = Convert.ToString(dt.Rows[0]["msg"]);
List<DropDownListModel> obj = new List<DropDownListModel>();
foreach (DataRow item in dt.Rows)
{
obj.Add(new DropDownListModel
{
Id = Convert.ToString(item["Id"]),
Text = Convert.ToString(item["Text"])
});
}
_response.dropDownList = obj;
}
}
catch (Exception ex)
{
_response.ResponseCode = ResponseHelper.EXCEPTION;
_response.ResponseMessage = "Exception occured: " + ex.Message;
_logger.Error("ACCOUNTREPOSITORY | GETCUSTOMERTRANSACTIONLIST | EXCEPTION | " + JsonConvert.SerializeObject(_response));
}
return await Task.FromResult(_response);
}
}
}