public IActionResult GetById(int id) { GeneralCritereaImpact generalCritereaImpact = _generalCritereaImpactService.GetById(id); GeneralCritereaImpactDto generalCritereaImpactDto = _mapper.Map <GeneralCritereaImpactDto>(generalCritereaImpact); return(Ok(generalCritereaImpactDto)); }
public IActionResult CreateMany([FromBody] List <GeneralCritereaImpactCreateDto> generalCritereaImpactDtoList) { try { List <GeneralCritereaImpact> newlist = new List <GeneralCritereaImpact>(); foreach (GeneralCritereaImpactCreateDto generalCritereaImpactDto in generalCritereaImpactDtoList) { GeneralCritereaImpact c = _mapper.Map <GeneralCritereaImpact>(generalCritereaImpactDto); try { c = _generalCritereaImpactService.Create(c); newlist.Add(c); } catch (AppException ex) { return(BadRequest(ex.Message)); } } return(Ok(_mapper.Map <List <GeneralCritereaImpactDto> >(newlist))); } catch (AppException ex) { return(BadRequest(ex.Message)); } }
public void Delete(int id) { GeneralCritereaImpact x = _context.GeneralCritereaImpacts.Find(id); if (x != null) { _context.GeneralCritereaImpacts.Remove(x); _context.SaveChanges(); } }
public IActionResult Create([FromBody] GeneralCritereaImpactDto generalCritereaImpactDto) { // map dto to entity and set id GeneralCritereaImpact c = _mapper.Map <GeneralCritereaImpact>(generalCritereaImpactDto); try { // save c = _generalCritereaImpactService.Create(c); return(Ok(_mapper.Map <GeneralCritereaImpactDto>(c))); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(ex.Message)); } }
public GeneralCritereaImpact Update(GeneralCritereaImpact updatedObject) { GeneralCritereaImpact x = _context.GeneralCritereaImpacts.Find(updatedObject.ID); if (x == null) { throw new AppException("GeneralCritereaImpact not found"); } /*copy properties here*/ x.Weight = updatedObject.Weight; _context.GeneralCritereaImpacts.Update(x); _context.SaveChanges(); return(x); }
public GeneralCritereaImpact Create(GeneralCritereaImpact newObject) { if (newObject.MistakeID < 0) { Mistake m = _context.Mistakes.First(x => x.AnwserID == newObject.AnwserID && x.ArgumentID == (newObject.MistakeID * -1)); if (m == null) { throw new AppException("When inserting general criteria the realted mistake was not found"); } newObject.MistakeID = m.ID; } _context.GeneralCritereaImpacts.Add(newObject); _context.SaveChanges(); return(_context.GeneralCritereaImpacts.Last()); }
public Anwser Update(Anwser updatedObject) { Anwser t = _context.Anwsers.Find(updatedObject.ID); if (t == null) { throw new AppException("Anwser " + updatedObject.ID + " not found"); } _context.Mistakes.RemoveRange(_context.Mistakes.Where(x => x.AnwserID == updatedObject.ID)); _context.GeneralCritereaImpacts.RemoveRange(_context.GeneralCritereaImpacts.Where(x => x.AnwserID == updatedObject.ID && x.MistakeID != null)); _context.SaveChanges(); /*copy properties here*/ Question q = _context.Questions.Find(t.QuestionID); float max = (float)q.Max; //List<Mistake> list = _context.Mistakes.Where(x => x.AnwserID == t.ID).ToList(); t.Adjustment = updatedObject.Adjustment; t.Total = max; foreach (Mistake item in updatedObject.Mistakes) { Mistake temp = new Mistake() { AnwserID = t.ID, ArgumentID = item.ArgumentID, AdjustedWeight = item.AdjustedWeight }; _context.Mistakes.Add(temp); _context.SaveChanges(); temp = _context.Mistakes.Last(x => x.AnwserID == t.ID); foreach (ArgumentCriterea ac in _context.ArgumentCritereas.Where(x => x.ArgumentID == item.ArgumentID)) { GeneralCritereaImpact tempgc = new GeneralCritereaImpact() { ExamAttemptID = t.ExamAttemptID, AnwserID = t.ID, MistakeID = temp.ID, ExamCritereaID = ac.ExamCritereaID, Weight = ac.Severity }; _context.GeneralCritereaImpacts.Add(tempgc); } t.Total += item.AdjustedWeight; _context.SaveChanges(); } if (t.Total + t.Adjustment > max) { t.Adjustment = max - t.Total; t.Total = max; } else { t.Total += (float)t.Adjustment; } t.FinalTotal = updatedObject.FinalTotal; t.CensorshipDate = DateTime.Now; t.Note = updatedObject.Note; t.Completion = updatedObject.Completion; _context.Anwsers.Update(t); _context.SaveChanges(); return(t); }