Пример #1
0
        public ApplicationClient MapToApplicationClientAddingClientSecret(ApplicationClientForUpdateDto applicationClient)
        {
            var applicationClientEntity = this.mapper.Map <ApplicationClient>(applicationClient);

            CreateClientSecret(applicationClientEntity);
            return(applicationClientEntity);
        }
        //PATCH :  api/applicationclients/1
        public async Task <IActionResult> PartialUpdate(
            [FromRoute] Guid id,
            JsonPatchDocument <ApplicationClientForUpdateDto> patchDocument)
        {
            var applicationClientResponse = await this.businessLogic.GetApplicationClient(id);

            if (applicationClientResponse.Result == null)
            {
                var clientDto = new ApplicationClientForUpdateDto();
                patchDocument.ApplyTo(clientDto, ModelState);
                if (!TryValidateModel(clientDto))
                {
                    return(ValidationProblem(ModelState));
                }

                var applicationClientWithSecret = this.businessLogic.MapToApplicationClientAddingClientSecret(clientDto);
                if (!TryValidateModel(applicationClientWithSecret))
                {
                    return(ValidationProblem(ModelState));
                }

                var createClientResponse = await this.businessLogic.CreateApplicationClient(id, applicationClientWithSecret);

                if (!createClientResponse.IsSuccessful)
                {
                    return(BadRequest(new { message = createClientResponse.ErrorMessage }));
                }

                return(CreatedAtRoute("GetApplicationClient",
                                      new { id = id },
                                      createClientResponse.Result));
            }
            var clientToPatch = this.businessLogic.MapToApplicationClientForUpdateDto(applicationClientResponse.Result);

            patchDocument.ApplyTo(clientToPatch, ModelState);
            if (!TryValidateModel(clientToPatch))
            {
                return(ValidationProblem(ModelState));
            }

            var response = await this.businessLogic.UpdateApplicationClient(applicationClientResponse.Result, clientToPatch);

            if (!response.IsSuccessful)
            {
                return(BadRequest(new { message = response.ErrorMessage }));
            }

            return(NoContent());
        }
Пример #3
0
        public async Task <GenericResponse> UpdateApplicationClient(ApplicationClient applicationClient, ApplicationClientForUpdateDto applicationClientForUpdate)
        {
            try
            {
                this.mapper.Map(applicationClientForUpdate, applicationClient);

                this.dataService.ApplicationClients.Update(applicationClient);
                await this.dataService.CompleteAsync();

                return(GenericResponseBuilder.Success());
            }
            catch (Exception ex)
            {
                logger.LogError(string.Format("Error in BLL - UpdateApplicationClient. {0}", ex.Message));
                return(GenericResponseBuilder.NoSuccess(ex.Message.ToString()));
            }
        }