//[Consumes("application/x-www-form-urlencoded")]
        public ActionResult Post(Domain.Application.Dto.Request.Request <Applicant> json)
        {
            //var json = JsonConvert.DeserializeObject<Domain.Application.Dto.Request.Request<Applicant>>(value);
            ValidateApplicant validateApplicant = new ValidateApplicant();
            ValidationResult  validationResult  = validateApplicant.Validate(json.Data);

            if (!validationResult.IsValid)
            {
                var errors = new List <ValidationErrorResponse>();
                foreach (ValidationFailure result in validationResult.Errors)
                {
                    errors.Add(new ValidationErrorResponse()
                    {
                        propertyName = result.PropertyName,
                        ErrorMessage = result.ErrorMessage
                    });
                }

                Response <List <ValidationErrorResponse> > errorResponse = new Response <List <ValidationErrorResponse> > {
                    Data = errors
                };
                return(StatusCode((int)HttpStatusCode.BadRequest, errorResponse));
            }

            var    registeredId             = _facade.RegisterApplicant(json);
            string getUrl                   = "https://localhost:5001/Applicant/";
            string url                      = string.Format("{0}{1}", getUrl, registeredId);
            Response <AddResponse> response = new Response <AddResponse>()
            {
                Data = new AddResponse()
                {
                    Url = url
                }
            };

            return(CreatedAtAction(nameof(GetApplicant), new { id = registeredId }, response));
        }
        public ActionResult UpdateApplicant(int id, [FromBody] Applicant applicant)
        {
            try
            {
                ValidateApplicant validateApplicant = new ValidateApplicant();
                ValidationResult  validationResult  = validateApplicant.Validate(applicant);

                if (!validationResult.IsValid)
                {
                    var errors = new List <ValidationErrorResponse>();
                    foreach (ValidationFailure result in validationResult.Errors)
                    {
                        errors.Add(new ValidationErrorResponse()
                        {
                            propertyName = result.PropertyName,
                            ErrorMessage = result.ErrorMessage
                        });
                    }

                    Response <List <ValidationErrorResponse> > errorResponse = new Response <List <ValidationErrorResponse> > {
                        Data = errors
                    };
                    return(StatusCode((int)HttpStatusCode.BadRequest, errorResponse));
                }

                return(Ok(_facade.UpdateApplicant(id, applicant)));
            }
            catch
            {
                string message = string.Format("Unable to update applicant with specified id: {0}", id);
                return(StatusCode((int)HttpStatusCode.BadRequest, new Response <string>()
                {
                    Data = message
                }));
            }
        }