public static ModelDataViewModel GetModel(int modelId) { var viewModel = new ModelDataViewModel { ModelID = modelId }; try { using (_certonaService = new CertonaServiceClient()) { try { var request = new GetModelRequest { ModelID = modelId, User = FormsAuthenticationWrapper.User }; GetModelResponse response = _certonaService.GetModel(request); var columnGroupHeaders = new List <string>(); if (response.Errors != null && response.Errors.Count != 0) { viewModel.Errors = response.Errors.ToList(); } if (response.Model != null) { ModelDTO mDTO = response.Model; GetModelData(mDTO, ref viewModel.GridData, ref columnGroupHeaders); } viewModel.ColumnGroupHeaders = new string[columnGroupHeaders.Count]; viewModel.ColumnGroupHeaders = columnGroupHeaders.ToArray(); if (response.Model != null) { viewModel.CatalogName = response.Model.CatalogName; viewModel.ModelName = response.Model.Name; } } catch (TimeoutException exception) { _certonaService.Abort(); throw; } catch (CommunicationException exception) { _certonaService.Abort(); throw; } } } catch (Exception ex) { viewModel.Errors.Add(new ErrorResult { Description = ex.Message }); } return(viewModel); }