Website
In EmespmdHttpClient class add
public void SetUserIdentifier(string userIdentifier)
{
this.DefaultRequestHeaders.Add("EMESPMD-USER", userIdentifier);
}
From action method send _loggedInUser.XomPersonnelId as a separate
param(naming userIdentifier) to each service call.
In Gateway service add below line next to try{
_emespmdHttpClient.SetUserIdentifier(userIdentifier);
Service
Create an extension(HttpRequestExtensions) method in EMESPMD.Api.MessageHandler
folder.
public static class HttpRequestExtensions
{
public static string
RequestedUserIdentifier(this HttpRequestMessage request)
{
if
(request.Headers.Contains("EMESPMD-USER"))
return
request.Headers.GetValues("EMESPMD-USER").First();
return string.Empty;
}
}
Create a Base controller
public class BaseController : ApiController
{
protected string CurrentUserIdentifier()
{
return
Request.RequestedUserIdentifier();
}
}
Inherit the Controller from base controller
public class AdminController : BaseController
Call the CurrentUserIdentifier() method and pass the data as
separate param to service.
string userIdentifier =
CurrentUserIdentifier();
_log.LogMessage(_controllerName + " ; Action-" + actionName);
CustomResponse<XomPersonnel> customResponse = new CustomResponse<XomPersonnel>();
try
{
return
_adminService.GetPersonnelInformation(lanId, userIdentifier);
}
In service method call the LogMessage method which is having 2
arguments.
_log.LogMessage(user, _serviceName
+ "Method-" + actionName);
Comments
Post a Comment