public async Task <IActionResult> Post([FromBody] ClientViewModel vm) { if (vm == null) { return(await ResponseProvider.ParameterErrorResponse("Request parameter is null")); } if (string.IsNullOrEmpty(vm.ClientName)) { return(await ResponseProvider.ParameterErrorResponse($"Parameter's {nameof(vm.ClientName)} is null or empty")); } //checke client name if (await _DbContext.Clients.AnyAsync(m => m.ClientName == vm.ClientName)) { return(await ResponseProvider.ResourceExistResponse($"Parameter's {nameof(vm.ClientName)} is exist")); } var client = new Client() { ClientId = Guid.NewGuid().ToString(), ClientName = vm.ClientName, Enabled = vm.Enabled, AllowOfflineAccess = vm.AllowOfflineAccess, Created = DateTime.Now }; var result = await _DbContext.AddAsync(client); await _DbContext.SaveChangesAsync(); //update vm data vm.ClientId = result.Entity.ClientId; vm.Id = result.Entity.Id; return(await ResponseProvider.OkResult(vm, "create success")); }
public async Task <IActionResult> Put([FromBody] ClientViewModel vm) { if (vm == null) { return(await ResponseProvider.ParameterErrorResponse("Request parameter is null")); } if (string.IsNullOrEmpty(vm.ClientName)) { return(await ResponseProvider.ParameterErrorResponse($"Parameter's {nameof(vm.ClientName)} is null or empty")); } //checke client name if (await _DbContext.Clients.AnyAsync(m => m.ClientName == vm.ClientName && m.Id != vm.Id)) { return(await ResponseProvider.ResourceExistResponse($"Parameter's {nameof(vm.ClientName)} is exist")); } var client = await _DbContext.Clients.FirstOrDefaultAsync(m => m.Id == vm.Id); //resouce is not found if (client == null) { return(await ResponseProvider.ResourceNotFoundResponse()); } //update property client.ClientName = vm.ClientName; client.AllowOfflineAccess = vm.AllowOfflineAccess; client.Enabled = vm.Enabled; client.Updated = DateTime.Now; var result = _DbContext.Update(client); await _DbContext.SaveChangesAsync(); return(await ResponseProvider.OkResult(vm, "update success")); }