private static void AddDetailToDetail(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.ReportDetail reportDetail, SearchField searchField) { Model.Archive.ReportDetail newReportDetail = Model.Archive.ReportDetail.GetNewInstance(null, searchField.Field.ID, (int)searchField.Relation, searchField.Method.Code, searchField.Value, reportDetail.ID); dc.ReportDetails.InsertOnSubmit(newReportDetail); dc.SubmitChanges(); foreach (var item in searchField.SearchFields) { AddDetailToDetail(dc, newReportDetail, item); } }
private static void DeleteReportDetails(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.ReportDetail reportDetail) { foreach (var item in dc.ReportDetails.Where(t => t.ParentID == reportDetail.ID)) { DeleteReportDetails(dc, item); dc.ReportDetails.DeleteOnSubmit(item); dc.SubmitChanges(); } }
private static List <SearchField> LoadSearchFields(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.ReportDetail reportDetail, List <SearchField> searchFields) { foreach (var item in dc.ReportDetails.Where(t => t.ParentID == reportDetail.ID)) { List <SearchField> innerSearchFields = new List <SearchField>(); LoadSearchFields(dc, item, innerSearchFields); searchFields.Add(new SearchField(item.ArchiveField, SearchMethod.GetAllSearchMethods().Where(t => t.Code == item.MethodCode).Single(), item.Value, (SearchField.Relations)item.RelationCode, innerSearchFields)); } return(searchFields); }