public async Task <bool> DeleteAsync(ICriterionModel criterion) { var _criterion = await _context.Criteria.FindAsync(criterion.CriteriaID); _context.Criteria.Remove(_criterion); return(true); }
public async Task <ICriterionModel> UpdateAsync(ICriterionModel criterion) { var _criterion = await _context.Criteria.FindAsync(criterion.CriteriaID); _context.Entry(_criterion).CurrentValues.SetValues(_mapper.Map <ICriterionModel, Criterion>(criterion)); return(criterion); }
public ICriterionModel Add(ICriterionModel criterion) { Guid critID = criterion.CriteriaID; var prevCriteria = _context.Criteria.Where(c => c.ChoiceID == criterion.ChoiceID).ToList(); List <ICriteriaComparisonModel> ccs = new List <ICriteriaComparisonModel>(); foreach (var item in prevCriteria) { ICriteriaComparisonModel c = new CriteriaComparisonModel { CriteriaID1 = critID, CriteriaID2 = item.CriteriaID, DateCreated = DateTime.Now, DateUpdated = DateTime.Now, CriteriaRatio = 0 }; ccs.Add(c); } _context.CriteriaComparisons.AddRange(_mapper.Map <List <ICriteriaComparisonModel>, List <CriteriaComparison> >(ccs)); var prevAlternatives = _context.Alternatives.Where(c => c.ChoiceID == criterion.ChoiceID).OrderByDescending(x => x.DateCreated).ToArray(); List <IAlternativeComparisonModel> acs = new List <IAlternativeComparisonModel>(); int n = prevAlternatives.Length; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { IAlternativeComparisonModel a = new AlternativeComparisonModel { CriteriaID = critID, AlternativeID1 = prevAlternatives[i].AlternativeID, AlternativeID2 = prevAlternatives[j].AlternativeID, DateCreated = DateTime.Now, DateUpdated = DateTime.Now, AlternativeRatio = 0 }; acs.Add(a); } } _context.AlternativeComparisons.AddRange(_mapper.Map <List <IAlternativeComparisonModel>, List <AlternativeComparison> >(acs)); _context.Criteria.Add(_mapper.Map <ICriterionModel, Criterion>(criterion)); return(criterion); }
public async Task <bool> UpdateAsync(ICriterionModel criteria) { var updated = await _critRepo.UpdateAsync(criteria); await _critRepo.SaveAsync(); return(true); }
public async Task <ICriterionModel> LoadCriteriaComparisonsPageAsync(ICriterionModel criterion, int PageNumber, int PageSize = 5) { var _criterion = await _context.Criteria.FindAsync(criterion.CriteriaID); await _context.Entry(_criterion).Collection(c => c.CriteriaComparisons).Query().OrderBy(x => x.DateCreated).Skip((PageNumber - 1) * PageSize).Take(PageSize).LoadAsync(); await _context.Entry(_criterion).Collection(c => c.CriteriaComparisons1).Query().OrderBy(x => x.DateCreated).Skip((PageNumber - 1) * PageSize).Take(PageSize).LoadAsync(); return(_mapper.Map <Criterion, ICriterionModel>(_criterion)); }
public async Task <bool> DeleteAsync(ICriterionModel criteria) { using (var uof = _unitFactory.Create()) { var deleted = await _critRepo.DeleteAsync(criteria); await _critRepo.SaveAsync(); uof.Commit(); return(deleted); } }
public async Task <ICriterionModel> AddAsync(ICriterionModel criterion) { criterion.CriteriaID = Guid.NewGuid(); criterion.DateCreated = DateTime.Now; criterion.DateUpdated = DateTime.Now; criterion.CriteriaScore = null; using (var uof = _unitFactory.Create()) { criterion = _critRepo.Add(criterion); await _critRepo.SaveAsync(); uof.Commit(); } return(criterion); }
public async Task <ICriterionModel> Update(ICriterionModel criterion) { return(await _unitOfWork.CriterionRepository.UpdateAsync(criterion)); }