private UpdateProviderEducationRequest CreateRequest() { var request = new UpdateProviderEducationRequest(); request.Id = _existingProviderEducationId; request.ProviderId = _providerIdWithEducation; request.EducationTypeId = _educationTypeId; request.InstitutionName = Guid.NewGuid().ToString(); request.YearCompleted = "2000"; return request; }
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); }