/// <summary> /// Update the Details of a Section. /// </summary> /// <param name="section"></param> /// <param name="details"></param> private void UpdateSectionDetails(Section section, SectionDetails details) { // Update Section Data details.MapInto(section); // Create Fields foreach (var field in details.Fields) { var newField = section.CreateField(field.DataEntryFieldId, field.Label); field.MapInto(newField); } // Create new SubSection foreach (var subSection in details.SubSections) { var newSubSection = section.CreateSubSection(subSection.Label); subSection.MapInto(newSubSection); // Create new SubSection Fields foreach (var field in subSection.Fields) { var newField = section.CreateField(field.DataEntryFieldId, field.Label, newSubSection); field.MapInto(newField); } } }
/// <summary> /// Clean all Fields and Subsections out of a Section. /// </summary> /// <param name="section"></param> private void CleanSection(Section section) { // Remove Existing Data section.SubSections.ToList().ForEach(_administrationUnitOfWork.Remove); section.Fields.ToList().ForEach(_administrationUnitOfWork.Remove); }