private void SyncReportItems(MetaReport target, List <MetaReportItemModel> itemModel, DBEntities context) { MetaReportItemModel.CreateMap(); var reportItems = context.MetaReportItem.Where(c => c.MetaReportId == target.Id).ToList(); foreach (var item in itemModel) { var reportItem = reportItems.FirstOrDefault(c => c.Id == item.Id); if (reportItem == null) { reportItem = new MetaReportItem() { Id = item.Id }; Mapper.Map(item, reportItem); reportItem.MetaReportId = target.Id; context.MetaReportItem.AddObject(reportItem); } else { Mapper.Map(item, reportItem); reportItem.MetaReportId = target.Id; } } for (int i = 0; i < reportItems.Count; i++) { var reportItem = reportItems[i]; var item = itemModel.FirstOrDefault(c => c.Id == reportItem.Id); if (item == null) { context.MetaReportItem.DeleteObject(reportItems[i]); reportItems.RemoveAt(i); i--; } } }
private void SyncReportItems(MetaReport target, List<MetaReportItemModel> itemModel, DBEntities context) { MetaReportItemModel.CreateMap(); var reportItems = context.MetaReportItem.Where(c => c.MetaReportId == target.Id).ToList(); foreach (var item in itemModel) { var reportItem = reportItems.FirstOrDefault(c => c.Id == item.Id); if (reportItem == null) { reportItem = new MetaReportItem() { Id = item.Id }; Mapper.Map(item, reportItem); reportItem.MetaReportId = target.Id; context.MetaReportItem.AddObject(reportItem); } else { Mapper.Map(item, reportItem); reportItem.MetaReportId = target.Id; } } for (int i = 0; i < reportItems.Count; i++) { var reportItem = reportItems[i]; var item = itemModel.FirstOrDefault(c => c.Id == reportItem.Id); if (item == null) { context.MetaReportItem.DeleteObject(reportItems[i]); reportItems.RemoveAt(i); i--; } } }