public async Task <IActionResult> Create(string kontokorrentId, [FromBody] NeueBezahlungRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } if (request.EmpfaengerIds.Length == 0) { return(BadRequest("Keine Emfpaenger angegeben")); } try { var bezahlung = await aktionenService.BezahlungHinzufuegen(User.GetId(), kontokorrentId, new Models.NeueBezahlung() { Id = request.Id, Beschreibung = request.Beschreibung, BezahlendePersonId = request.BezahlendePersonId, EmpfaengerIds = request.EmpfaengerIds, Wert = request.Wert, Zeitpunkt = request.Zeitpunkt }); if (null == bezahlung) { return(NotFound()); } return(Ok(MapAktion(bezahlung))); } catch (PersonExistiertNichtException) { return(NotFound("Person existiert nicht")); } }
public async Task <IActionResult> Create([FromBody] ApiModels.v1.NeueBezahlungRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } if (request.Empfaenger.Length == 0) { return(BadRequest("Keine Emfpaenger angegeben")); } try { var aktion = await aktionenService.BezahlungHinzufuegen(null, User.GetId().Id, new NeueBezahlung() { Beschreibung = request.Beschreibung, BezahlendePersonId = request.BezahlendePerson, EmpfaengerIds = request.Empfaenger, Wert = request.Wert, Zeitpunkt = request.Zeitpunkt.HasValue ? new DateTimeOffset(request.Zeitpunkt.Value, TimeSpan.Zero) : DateTimeOffset.Now }); var bezahlung = aktion.Bezahlung; return(Ok(new ApiModels.v1.Bezahlung() { Beschreibung = bezahlung.Beschreibung, BezahlendePerson = new ApiModels.v1.Person() { Id = bezahlung.BezahlendePerson.Id, Name = bezahlung.BezahlendePerson.Name }, Id = bezahlung.Id, Empfaenger = bezahlung.Empfaenger.Select(d => new ApiModels.v1.Person() { Id = d.Id, Name = d.Name }).ToArray(), Wert = bezahlung.Wert, Zeitpunkt = bezahlung.Zeitpunkt.UtcDateTime })); } catch (PersonExistiertNichtException) { return(NotFound("Person existiert nicht")); } }