public ActionResult AddOrUpdateProfessorIndicator(int id = 0) { var ratios = _ratioService.GetAll(); var rationList = new List <SelectListItem>(); foreach (var ratio in ratios) { rationList.Add(new SelectListItem { Text = ratio.Name, Value = ratio.Id.ToString() }); } ViewBag.ratio = rationList; var indicator = new Models.Indicator(); indicator.Scores = new List <Models.Score>(); if (id > 0) { var currentIndicator = _indicatorService.Get(g => g.Id == id); if (currentIndicator.Ratio != null) { rationList.FirstOrDefault(x => x.Value == currentIndicator.Ratio.Id.ToString()).Selected = true; } indicator = Mapper.Map <Model.Models.Indicator, Models.Indicator>(currentIndicator); } ViewBag.ratio = rationList; ViewBag.IndicatorHasLimit = IndicatorHasLimit(indicator.CountOfType); return(PartialView(indicator)); }
public ActionResult AddOrUpdateGroupIndicator(Models.Indicator model) { if (model.Id > 0) { var indicator = _indicatorService.Get(g => g.Id == model.Id); indicator.Name = model.Name; indicator.ObjectType = _objectTypeService.Get(g => g.Id == 2); indicator.Ratio = _ratioService.Get(g => g.Id == model.Ratio.Id); foreach (var score in (List <Model.Models.Score>)Session["ScoreList"]) { score.Id = 0; indicator.Scores.Add(score); } _indicatorService.Update(indicator); } else { model.CreationDate = DateTime.Now; model.IsActive = true; model.LastModifiedDate = DateTime.Now; var ratio = _ratioService.Get(g => g.Id == model.Ratio.Id); var indicator = Mapper.Map <Models.Indicator, Model.Models.Indicator>(model); indicator.Ratio = ratio; indicator.ObjectType = _objectTypeService.Get(g => g.Id == 2); foreach (var score in (List <Model.Models.Score>)Session["ScoreList"]) { score.Id = 0; score.Indicator = null; } indicator.Scores = (List <Model.Models.Score>)Session["ScoreList"]; _indicatorService.Add(indicator); } return(Json(new { })); }