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