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.
218 lines
8.4 KiB
218 lines
8.4 KiB
using Business.Addressy;
|
|
using Business.Authentication;
|
|
using Business.Mobile;
|
|
using Common;
|
|
using Common.Model;
|
|
using Common.Model.Addressy;
|
|
using Common.Model.Customer;
|
|
using JsonRx.AuthFilter;
|
|
using JsonRx.Helper;
|
|
using log4net;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
using System.Web.Http.ModelBinding;
|
|
|
|
namespace JsonRx.Api
|
|
{
|
|
/// <summary>
|
|
/// </summary>
|
|
[RoutePrefix("api/v3")]
|
|
public class CustomerV2Controller : ApiController
|
|
{
|
|
private readonly IMobileServices _requestServices;
|
|
private readonly IAuthenticationBusiness _authenticationBusiness;
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(CustomerV2Controller));
|
|
|
|
/// <summary>
|
|
/// </summary>
|
|
public CustomerV2Controller() { }
|
|
|
|
/// <summary>
|
|
/// </summary>
|
|
/// <param name="requestServices"></param>
|
|
/// <param name="authenticationBusiness"></param>
|
|
public CustomerV2Controller(IMobileServices requestServices, IAuthenticationBusiness authenticationBusiness)
|
|
{
|
|
_requestServices = requestServices;
|
|
_authenticationBusiness = authenticationBusiness;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Customer Profile
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[TokenAuthentication]
|
|
[Route("mobile/{customer}/receiverinfo")]
|
|
public IHttpActionResult GetReceiverInformation(string customer)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = customer;
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "GetReceiverInformation";
|
|
var customerId = customer;
|
|
|
|
Log.Debug("GetCountriesServices | REQUEST : Customer: " + customer);
|
|
var kycResponse = _requestServices.GetReceiverInformation(customerId);
|
|
return Ok(kycResponse);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Customer Profile
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[TokenAuthentication]
|
|
[Route("mobile/{customer}/receiverinfo/add")]
|
|
public IHttpActionResult AddReceiver(string customer, ReceiverInfoModel receiver)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = customer;
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "AddReceiver";
|
|
var customerId = customer;
|
|
|
|
receiver.deviceType = Util.GetDeviceType(Request);
|
|
|
|
Log.DebugFormat("AddReceiver | REQUEST {0} | deviceType {1} ", JsonConvert.SerializeObject(receiver), receiver.deviceType);
|
|
|
|
JsonRxResponse res = new JsonRxResponse();
|
|
|
|
//if (string.IsNullOrEmpty(receiver.agent.id))
|
|
//{
|
|
// res.SetResponse("1", "Bank Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
//if (string.IsNullOrEmpty(receiver.firstName))
|
|
//{
|
|
// res.SetResponse("1", "FirstName Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
//if (string.IsNullOrEmpty(receiver.lastName))
|
|
//{
|
|
// res.SetResponse("1", "LastName Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
//if (string.IsNullOrEmpty(receiver.mobile))
|
|
//{
|
|
// res.SetResponse("1", "Mobile No. Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
//if (string.IsNullOrEmpty(receiver.address))
|
|
//{
|
|
// res.SetResponse("1", "Address Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
//if (string.IsNullOrEmpty(receiver.relationship))
|
|
//{
|
|
// res.SetResponse("1", "Relationship Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
//if (string.IsNullOrEmpty(receiver.nativeCountry))
|
|
//{
|
|
// res.SetResponse("1", "NativeCountry Is Required !");
|
|
// return Ok(res);
|
|
//}
|
|
|
|
|
|
var dbres = _requestServices.AddReceiver(customerId, receiver);
|
|
Log.Debug("AddReceiver| RESPONSE " + JsonConvert.SerializeObject(dbres));
|
|
return Ok(dbres);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Customer Profile
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[TokenAuthentication]
|
|
[Route("mobile/{customer}/receiverinfo/modify/{receiverId}")]
|
|
public IHttpActionResult ModifyReceiver(string customer, string receiverId, ReceiverInfoModel receiver)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = customer;
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "ModifyReceiver";
|
|
var customerId = customer;
|
|
|
|
receiver.deviceType = Util.GetDeviceType(Request);
|
|
|
|
Log.Debug("ModifyReceiver | REQUEST : " + JsonConvert.SerializeObject(receiver));
|
|
var dbres = _requestServices.ModifyReceiver(customerId, receiverId, receiver);
|
|
return Ok(dbres);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Customer Profile
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[TokenAuthentication]
|
|
[Route("mobile/{customer}/receiverinfo/remove/{receiverId}")]
|
|
public IHttpActionResult RemoveReceiver(string customer, string receiverId)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = customer;
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "RemoveReceiver";
|
|
Log.Debug("Trying to remove receiver");
|
|
var customerId = customer;
|
|
|
|
var dbres = _requestServices.RemoveReceiver(customerId, receiverId);
|
|
return Ok(dbres);
|
|
}
|
|
|
|
[HttpGet]
|
|
[ApplicationLevelAuthentication]
|
|
[Route("mobile/customerInfoAgree/{customer}")]
|
|
public IHttpActionResult RegisterCustomer(string customer)
|
|
{
|
|
var httpRequest = HttpContext.Current.Request;
|
|
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = customer;
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "customerInfoAgree";
|
|
var userName = customer;
|
|
|
|
Log.DebugFormat("customerInfoAgree | REQUEST {0} | Agree: {1} ", customer, httpRequest["agreeYn"]);
|
|
|
|
var custRegisterResponse = _requestServices.CustomerInfoAgree(userName, httpRequest["agreeYn"]);
|
|
|
|
return Ok(custRegisterResponse);
|
|
}
|
|
|
|
//[HttpGet]
|
|
//[ApplicationLevelAuthentication]
|
|
////[Route("")]
|
|
//[Route("mobile/customerInfoAgree/{customer=customer}/{agreeYn=agreeYn}")]
|
|
//public IHttpActionResult RegisterCustomerIOS(string customer, string agreeYn)
|
|
//{
|
|
// var httpRequest = HttpContext.Current.Request;
|
|
// LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
// LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = customer;
|
|
// LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "RegisterCustomer";
|
|
// var userName = customer;
|
|
|
|
// Log.DebugFormat("RegisterCustomerIOS.Agree | REQUEST {0} | Agree {1}: ", customer, agreeYn);
|
|
|
|
// var custRegisterResponse = _requestServices.CustomerInfoAgree(userName, agreeYn);
|
|
|
|
// return Ok(custRegisterResponse);
|
|
//}
|
|
|
|
[HttpPost]
|
|
//[TokenAuthentication]
|
|
[Route("mobile/AddressLookup")]
|
|
public IHttpActionResult AddressLookup(QueryAddressDto dto)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
|
|
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = dto.UserId;
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "AddressLookup";
|
|
|
|
Log.Debug("AddressLookup | REQUEST : " + JsonConvert.SerializeObject(dto));
|
|
|
|
LocateBusiness locateBusiness = new LocateBusiness();
|
|
|
|
var dbres = locateBusiness.QueryAddress(dto.PostalCode);
|
|
return Ok(dbres);
|
|
}
|
|
}
|
|
}
|