예제 #1
0
        public async Task <IHttpActionResult> MahnungVersenden([FromBody] MahnungVersendenPostData mahnungVersendenPost)
        {
            var access = this.GetManagementAccess();

            access.AssertFeatureOrThrow(ApplicationFeature.AuftragsuebersichtAuftraegeMahnungVersenden);
            if (mahnungVersendenPost == null)
            {
                return(BadRequest("Keine Werte angegeben"));
            }

            if (mahnungVersendenPost.OrderItemIds?.Count == 0)
            {
                return(BadRequest("Keine OrderItemIds angegeben"));
            }

            if (!CheckNurMahnbareAuftraegeEnthalten(mahnungVersendenPost.OrderItemIds))
            {
                return(BadRequest(
                           "Es dürfen nur «Verwaltungsausleihen» oder «Lesesaalausleihen» mit dem internen Status «Ausgeliehen» übergeben werden."));
            }

            var result = await orderManagerClient.MahnungVersenden(mahnungVersendenPost.OrderItemIds, mahnungVersendenPost.Language,
                                                                   mahnungVersendenPost.GewaehlteMahnungAnzahl, access.UserId);

            if (result.Success)
            {
                return(Ok("success"));
            }

            return(BadRequest(""));
        }