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.
|
|
using Business.Mobile; using Common; using Common.Model; using log4net; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Http;
namespace JsonRx.ApiV3 { /// <summary>
/// This controller endpoints should be used to perform realtime data validation
/// </summary>
[RoutePrefix("api/v3")] public class ValidationController : ApiController { private readonly IMobileServices _obj; private static readonly ILog Log = LogManager.GetLogger(typeof(ValidationController));
/// <summary>
/// constructor
/// </summary>
public ValidationController() { }
/// <summary>
/// Constructor that injects IMobileServices service
/// </summary>
/// <param name="requestServices"></param>
public ValidationController(IMobileServices requestServices) { _obj = requestServices; }
/// <summary>
/// Endpoint to validate data
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost] [Route("validation")] public IHttpActionResult RealtimeValidation(RealtimeValidationModel model) { LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid(); LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = "Anonymous"; LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = nameof(ValidationController.RealtimeValidation);
System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers;
string lang = headers.GetValues("lang").FirstOrDefault(); Log.DebugFormat("New user Register | Lang {0}| REQUEST {1}", lang, JsonConvert.SerializeObject(model));
var resp = _obj.RealtimeValidation(model, lang);
Log.Debug("RealtimeValidation | Result:" + JsonConvert.SerializeObject(resp)); return Ok(resp); } } }
|