Ejemplo n.º 1
0
        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"));
            }
        }