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 { }));
 }