public async Task <IActionResult> Create(CreateLandlordRequest request)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var content = CreateContent(request);
                    HttpClient.DefaultRequestHeaders.Authorization = GetAuthHeader();
                    var response = await HttpClient.PostAsync(
                        Configuration["Url:CreateLandlord"],
                        content);

                    switch (response.StatusCode)
                    {
                    case HttpStatusCode.Created:
                        var createdResult = await response.GetCreatedResponseAsync();

                        return(RedirectToAction("Details", new { id = createdResult.IdString }));

                    case HttpStatusCode.BadRequest:
                        var badRequestResult = await response.GetBadRequestResponseAsync();

                        AddBadRequestErrorsToModelState(badRequestResult);
                        return(View(request));

                    case HttpStatusCode.Unauthorized:
                        var unauthorizedResponse = await response.GetUnauthorizedResponseAsync();

                        return(View(request));

                    case HttpStatusCode.Forbidden:
                        var forbiddenResponse = await response.GetForbiddenResponseAsync();

                        return(View(request));

                    case HttpStatusCode.InternalServerError:
                        var internalServerResult = await response.GetInternalServerErrorResponseAsync();

                        ViewData["Message"] = internalServerResult.Status;
                        return(View(request));

                    default:
                        ViewData["Message"] = UNABLE_CREATE_LANDLORD;
                        return(View(request));
                    }
                }
                catch (Exception)
                {
                    ViewData["Message"] = UNABLE_CREATE_LANDLORD;
                    return(View(request));
                }
            }
            return(View(request));
        }
        public async Task <IActionResult> CreateLandlordAsync(
            [FromBody] CreateLandlordRequest request)
        {
            if (ModelState.IsValid)
            {
                var result = await _landlordService.CreateLandlordAsync(request);

                return(StatusCode(result.Status, result.Payload));
            }
            return(GetBadRequestResult());
        }
        public async Task <ResponseMessage> CreateLandlordAsync(
            CreateLandlordRequest request)
        {
            try
            {
                var result = await Mediator.Send(request);

                return(CreatedResponse(result, "Landlord Created."));
            }
            catch (Exception ex)
            {
                return(GetResponseMessageForException(ex));
            }
        }