|
|
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); } } }
|