Example #1
0
        public async Task <bool> DeleteAsync(ICriterionModel criterion)
        {
            var _criterion = await _context.Criteria.FindAsync(criterion.CriteriaID);

            _context.Criteria.Remove(_criterion);
            return(true);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        public async Task <bool> UpdateAsync(ICriterionModel criteria)
        {
            var updated = await _critRepo.UpdateAsync(criteria);

            await _critRepo.SaveAsync();

            return(true);
        }
Example #5
0
        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));
        }
Example #6
0
        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);
            }
        }
Example #7
0
        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));
 }