private void Save() { _educationTypeId = int.Parse(GetFieldValue(_viewModel.Fields, _id), CultureInfo.InvariantCulture); if (_educationTypeId == 0) { var addRequest = new AddEducationTypeRequest(); var nameValue = GetFieldValue(_viewModel.Fields, _name); addRequest.Name = nameValue; var isEnabledValue = GetFieldValue(_viewModel.Fields, _isEnabled); addRequest.IsEnabled = bool.Parse(isEnabledValue); _educationTypeId = ProcessRequest<AddEducationTypeResponse>(addRequest).Id; } else { if (_viewModel.Action == RecordActions.Edited) { var updateRequest = new UpdateEducationTypeRequest(); updateRequest.Id = _educationTypeId; var nameValue = GetFieldValue(_viewModel.Fields, _name); updateRequest.Name = nameValue; var isEnabledValue = GetFieldValue(_viewModel.Fields, _isEnabled); updateRequest.IsEnabled = bool.Parse(isEnabledValue); ProcessRequest<UpdateEducationTypeResponse>(updateRequest); } } }
public static void Save(ProviderAdminDetailView parent, SubEntity providerEducations, int providerId) { try { providerEducations.ErrorMessage = string.Empty; //Edits foreach (var record in providerEducations.Records.Where(r => r.Action == RecordActions.Edited)) { var request = new UpdateProviderEducationRequest(); request.ProviderId = providerId; request.Id = int.Parse(parent.GetFieldValue(record.Fields, _id)); request.EducationTypeId = int.Parse(parent.GetFieldValue(record.Fields, _educationTypeId)); request.InstitutionName = parent.GetFieldValue(record.Fields, _institutionName); request.IsCompleted = bool.Parse(parent.GetFieldValue(record.Fields, _isCompleted)); request.YearCompleted = parent.GetFieldValue(record.Fields, _yearCompleted); parent.ProcessRequest<UpdateProviderEducationResponse>(request); } //Existing Records Added foreach (var record in providerEducations.Records.Where(r => r.Action == RecordActions.Added)) { var request = new AddProviderEducationRequest() { ProviderId = providerId, EducationTypeId = int.Parse(parent.GetFieldValue(record.Fields, _educationTypeId)), InstitutionName = parent.GetFieldValue(record.Fields, _institutionName), IsCompleted = bool.Parse(parent.GetFieldValue(record.Fields, _isCompleted)), YearCompleted = parent.GetFieldValue(record.Fields, _yearCompleted) }; parent.ProcessRequest<AddProviderEducationResponse>(request); } //New Records Created foreach (var record in providerEducations.Records.Where(r => r.Action == RecordActions.New)) { if (string.IsNullOrEmpty(parent.GetFieldValue(record.Fields, _educationTypeId))) { //Add New Language var addEducationTypeRequest = new AddEducationTypeRequest() { Name = parent.GetFieldValue(record.Fields, _educationTypeName), IsEnabled = true }; record.Fields.First(f => f.FieldName == _educationTypeId).FieldValue = parent.ProcessRequest<AddEducationTypeResponse>(addEducationTypeRequest).Id; } //Add newly created language to provider var request = new AddProviderEducationRequest() { ProviderId = providerId, EducationTypeId = int.Parse(parent.GetFieldValue(record.Fields, _educationTypeId)), InstitutionName = parent.GetFieldValue(record.Fields, _institutionName), IsCompleted = bool.Parse(parent.GetFieldValue(record.Fields, _isCompleted)), YearCompleted = parent.GetFieldValue(record.Fields, _yearCompleted) }; parent.ProcessRequest<AddProviderEducationResponse>(request); } //Deletes foreach (var record in providerEducations.Records.Where(r => r.Action == RecordActions.Deleted)) { var request = new DeleteProviderEducationRequest() { Id = int.Parse(parent.GetFieldValue(record.Fields, _id)) }; parent.ProcessRequest<DeleteProviderEducationResponse>(request); } } catch (Exception ex) { providerEducations.ErrorMessage = ex.Message; throw; } providerEducations = BuildEducationsSubEntity(parent, providerId); }