BillableHoursWebApp.Api.Controllers.ProjectsController.GetInvoiceFromFinalizedProject C# (CSharp) Méthode

GetInvoiceFromFinalizedProject() private méthode

private GetInvoiceFromFinalizedProject ( int id ) : IHttpActionResult
id int
Résultat IHttpActionResult
        public IHttpActionResult GetInvoiceFromFinalizedProject(int id)
        {
            var currentUserId = User.Identity.GetUserId();
            var project = this.data.Projects.Find(x => x.Id == id).FirstOrDefault();

            if (project == null)
            {
                return this.BadRequest("No project with that id is present.");
            }

            if (!project.IsComplete)
            {
                return this.BadRequest("Project is not finished yet.");
            }

            if (project.ClientId != currentUserId)
            {
                return this.BadRequest("You are not authorized to meddle in other people's business... begone!");
            }

            var result = project.Client.Invoices.FirstOrDefault(x => x.ProjectId == project.Id);

            if (result == null)
            {
                return this.BadRequest("No invoice for this project.");
            }

            var mappedResult = Mapper.Map<InvoiceResponseModel>(result);

            return this.Ok(mappedResult);
        }