public async Task <CustomizedResult> Adicionar(OrphanageModel model) { var orphanage = model.ConvertToOrphanage(); try { if (!orphanage.IsValid()) { var invalidResult = new CustomizedResult("Não foi possível adicionar o orphanato", orphanage); invalidResult.AdicionarMensagensDeErro(orphanage.ErrorMessages); return(invalidResult); } var response = await _orphanageRepository.Adicionar(orphanage); var fotos = await _service.Adicionar(new ImageModel(response, model.Images)); var customizedResult = new CustomizedResult("Orphanato adicionado com sucesso.", response.ConvertToModel("~/", "~/")); return(customizedResult); } catch (InvalidOperationException e) { var customizedResult = new CustomizedResult("Não foi possível adicionar o orphanato", $"{e.Message} "); customizedResult.AdicionarMensagensDeErro(unicError: e.Message); return(customizedResult); } catch (Exception e) { var customizedResult = new CustomizedResult("Não foi possível adicionar o orphanato", $" {e.Message} "); customizedResult.AdicionarMensagensDeErro(unicError: $"exception \r {e.Message} \r {e.Data} \r {e.Source} \r {e.StackTrace} \r {e.GetBaseException()}"); return(customizedResult); } }
public static Orphanage ConvertToOrphanage(this OrphanageModel orphanageModel, bool pending = true) { return(new Orphanage(orphanageModel.Name, orphanageModel.Latitude, orphanageModel.Longitude, orphanageModel.About, orphanageModel.Instructions, orphanageModel.OpeningHours, orphanageModel.OpenOnWeekends, pending)); }
public async Task <IActionResult> Post( [FromServices] IOrphanageService _service, [FromForm] OrphanageModel orphanageModel) => CustomResponse(await _service.Adicionar(orphanageModel));