public async Task <bool> Create(KpiItemContent KpiItemContent) { KpiItemContentDAO KpiItemContentDAO = new KpiItemContentDAO(); KpiItemContentDAO.Id = KpiItemContent.Id; KpiItemContentDAO.KpiItemId = KpiItemContent.KpiItemId; KpiItemContentDAO.ItemId = KpiItemContent.ItemId; DataContext.KpiItemContent.Add(KpiItemContentDAO); await DataContext.SaveChangesAsync(); KpiItemContent.Id = KpiItemContentDAO.Id; await SaveReference(KpiItemContent); return(true); }
private async Task SaveReference(KpiItem KpiItem) { await DataContext.KpiItemContentKpiCriteriaItemMapping .Where(x => x.KpiItemContent.KpiItemId == KpiItem.Id) .DeleteFromQueryAsync(); await DataContext.KpiItemContent .Where(x => x.KpiItemId == KpiItem.Id) .DeleteFromQueryAsync(); List <KpiItemContentDAO> KpiItemContentDAOs = new List <KpiItemContentDAO>(); List <KpiItemContentKpiCriteriaItemMappingDAO> KpiItemContentKpiCriteriaItemMappingDAOs = new List <KpiItemContentKpiCriteriaItemMappingDAO>(); if (KpiItem.KpiItemContents != null) { KpiItem.KpiItemContents.ForEach(x => x.RowId = Guid.NewGuid()); foreach (KpiItemContent KpiItemContent in KpiItem.KpiItemContents) { KpiItemContentDAO KpiItemContentDAO = new KpiItemContentDAO(); //KpiItemContentDAO.Id = KpiItemContent.Id; KpiItemContentDAO.KpiItemId = KpiItem.Id; KpiItemContentDAO.ItemId = KpiItemContent.ItemId; KpiItemContentDAO.RowId = KpiItemContent.RowId; KpiItemContentDAOs.Add(KpiItemContentDAO); } await DataContext.KpiItemContent.BulkMergeAsync(KpiItemContentDAOs); foreach (KpiItemContent KpiItemContent in KpiItem.KpiItemContents) { KpiItemContent.Id = KpiItemContentDAOs.Where(x => x.RowId == KpiItemContent.RowId).Select(x => x.Id).FirstOrDefault(); if (KpiItemContent.KpiItemContentKpiCriteriaItemMappings != null) { foreach (KpiItemContentKpiCriteriaItemMapping KpiItemContentKpiCriteriaItemMapping in KpiItemContent.KpiItemContentKpiCriteriaItemMappings) { KpiItemContentKpiCriteriaItemMappingDAO KpiItemContentKpiCriteriaItemMappingDAO = new KpiItemContentKpiCriteriaItemMappingDAO { KpiItemContentId = KpiItemContent.Id, KpiCriteriaItemId = KpiItemContentKpiCriteriaItemMapping.KpiCriteriaItemId, Value = KpiItemContentKpiCriteriaItemMapping.Value }; KpiItemContentKpiCriteriaItemMappingDAOs.Add(KpiItemContentKpiCriteriaItemMappingDAO); } } } await DataContext.KpiItemContentKpiCriteriaItemMapping.BulkMergeAsync(KpiItemContentKpiCriteriaItemMappingDAOs); } }
public async Task <bool> BulkMerge(List <KpiItemContent> KpiItemContents) { List <KpiItemContentDAO> KpiItemContentDAOs = new List <KpiItemContentDAO>(); foreach (KpiItemContent KpiItemContent in KpiItemContents) { KpiItemContentDAO KpiItemContentDAO = new KpiItemContentDAO(); KpiItemContentDAO.Id = KpiItemContent.Id; KpiItemContentDAO.KpiItemId = KpiItemContent.KpiItemId; KpiItemContentDAO.ItemId = KpiItemContent.ItemId; KpiItemContentDAOs.Add(KpiItemContentDAO); } await DataContext.BulkMergeAsync(KpiItemContentDAOs); return(true); }
public async Task <bool> Update(KpiItemContent KpiItemContent) { KpiItemContentDAO KpiItemContentDAO = DataContext.KpiItemContent.Where(x => x.Id == KpiItemContent.Id).FirstOrDefault(); if (KpiItemContentDAO == null) { return(false); } KpiItemContentDAO.Id = KpiItemContent.Id; KpiItemContentDAO.KpiItemId = KpiItemContent.KpiItemId; KpiItemContentDAO.ItemId = KpiItemContent.ItemId; await DataContext.SaveChangesAsync(); await SaveReference(KpiItemContent); return(true); }