コード例 #1
0
        public async Task <bool> DeleteAsync(IAlternativeModel alternative)
        {
            var _alternative = await _context.Alternatives.FindAsync(alternative.AlternativeID);

            _context.Alternatives.Remove(_alternative);
            return(true);
        }
コード例 #2
0
        public async Task <IAlternativeModel> UpdateAsync(IAlternativeModel alternative)
        {
            var _alternative = await _context.Alternatives.FindAsync(alternative.AlternativeID);

            _context.Entry(_alternative).CurrentValues.SetValues(_mapper.Map <IAlternativeModel, Alternative>(alternative));
            return(alternative);
        }
コード例 #3
0
        public async Task <bool> DeleteAsync(IAlternativeModel alternative)
        {
            var deleted = await _altRepo.DeleteAsync(alternative);

            await _altRepo.SaveAsync();

            return(deleted);
        }
コード例 #4
0
        public async Task <IAlternativeModel> UpdateAlternative(IAlternativeModel alternative)
        {
            var alternativeInDb = await _context.Alternatives.FindAsync(alternative.AlternativeId);

            _context.Entry(alternativeInDb).CurrentValues.SetValues(_mapper.Map <Alternative>(alternative));
            await _context.SaveChangesAsync();

            return(alternative);
        }
コード例 #5
0
        public async Task <IAlternativeModel> InsertAlternative(IAlternativeModel alternative)
        {
            var mapped = _mapper.Map <Alternative>(alternative);

            _context.Alternatives.Add(mapped);
            await _context.SaveChangesAsync();

            return(alternative);
        }
コード例 #6
0
        public async Task <IAlternativeModel> UpdateAsync(IAlternativeModel alternative)
        {
            var _alternative = await _altRepo.GetByIDAsync(alternative.AlternativeID);

            _alternative.AlternativeName = alternative.AlternativeName;
            _alternative.DateUpdated     = DateTime.Now;
            var updatedAlternative = await _altRepo.UpdateAsync(_alternative);

            await _altRepo.SaveAsync();

            return(updatedAlternative);
        }
コード例 #7
0
        public async Task <IAlternativeModel> AddAsync(IAlternativeModel alternative)
        {
            alternative.AlternativeID    = Guid.NewGuid();
            alternative.DateCreated      = DateTime.Now;
            alternative.DateUpdated      = DateTime.Now;
            alternative.AlternativeScore = null;


            alternative = _altRepo.Add(alternative);
            await _altRepo.SaveAsync();

            return(alternative);
        }
コード例 #8
0
        public async Task <IAlternativeModel> Update(IAlternativeModel alternative)
        {
            var alternativeInDb = await _alternativeRepository.GetAlternativeById(alternative.AlternativeId);

            alternativeInDb.DateUpdated   = DateTime.Now;
            alternativeInDb.FinalPriority = alternative.FinalPriority;

            using (var uow = _uowFactory.CreateUnitOfWork())
            {
                await _alternativeRepository.UpdateAlternative(alternativeInDb);

                uow.Commit();
            }
            return(alternativeInDb);
        }
コード例 #9
0
        public IAlternativeModel Add(IAlternativeModel alternative)
        {
            Guid altID            = alternative.AlternativeID;
            var  allCriteria      = _context.Criteria.Where(c => c.ChoiceID == alternative.ChoiceID).ToList();
            var  prevAlternatives = _context.Alternatives.Where(c => c.ChoiceID == alternative.ChoiceID).OrderByDescending(x => x.DateCreated).ToArray();
            List <IAlternativeComparisonModel> acs = new List <IAlternativeComparisonModel>();
            int n = prevAlternatives.Length;

            foreach (var item in allCriteria)
            {
                Guid critID = item.CriteriaID;
                for (int i = 0; i < n; i++)
                {
                    IAlternativeComparisonModel a = new AlternativeComparisonModel {
                        CriteriaID = critID, AlternativeID1 = altID, AlternativeID2 = prevAlternatives[i].AlternativeID, DateCreated = DateTime.Now, DateUpdated = DateTime.Now, AlternativeRatio = 0
                    };
                    acs.Add(a);
                }
            }
            _context.AlternativeComparisons.AddRange(_mapper.Map <List <IAlternativeComparisonModel>, List <AlternativeComparison> >(acs));
            _context.Alternatives.Add(_mapper.Map <IAlternativeModel, Alternative>(alternative));
            return(alternative);
        }