public ActionResult AddInput(EditVisitInputViewModel vm) { try { if (vm.SelectedInputActivity > 0) { /*Models.ActivityInput AI = new ActivityInput(); * AI.Activity = DB.Activities.Find(vm.SelectedInputActivity); * AI.InputType = ActivityInput.InputTypeEnum.Number; * AI.OneTime = false; * AI.Required = vm.InputRequired; * AI.Title = vm.InputTitle; * string possibleValues = vm.InputMinValue + ";;" + vm.InputMaxValue; * AI.PossibleValues = possibleValues; * DB.ActivityInputs.Add(AI); * DB.SaveChanges();*/ Models.Activity Act = DB.Activities.Find(vm.SelectedInputActivity); Models.Service Serv = DB.Services.Find(vm.SelectedVisitType); Models.ServiceActivity SA = DB.ServiceActivities.FirstOrDefault(sa => sa.Activity.ActivityId == Act.ActivityId && sa.Service.ServiceId == Serv.ServiceId && sa.Active == false); if (SA == null) { Models.ServiceActivity newSA = new ServiceActivity(); newSA.Activity = Act; newSA.Service = Serv; newSA.Active = true; DB.ServiceActivities.Add(newSA); } else { SA.Active = true; } DB.SaveChanges(); } } catch (Exception e) { //ERROR int x = 10; } vm.SelectedInputActivity = -1; /*vm.InputMaxValue = 10000; * vm.InputMinValue = 0; * vm.InputRequired = false; * vm.InputTitle = "";*/ return(RedirectToAction("Index", new { serviceId = vm.SelectedVisitType })); }
public ActionResult Index(EditVisitInputViewModel vm, int?serviceId) { if (vm == null) { vm = new EditVisitInputViewModel(); vm.SelectedVisitType = -1; } if (serviceId != null && vm.SelectedVisitType <= 0) { vm.SelectedVisitType = (int)serviceId; return(Index(vm, null)); } vm.ActivityInputList = new List <Activity>(); vm.InputActivityList = new List <Activity>(); vm.ActivityInputListNoNumber = new List <Activity>(); vm.VisitTypesList = DB.Services.Where(s => s.Active == true).ToList(); if (vm.SelectedVisitType != null && vm.SelectedVisitType > 0) { //vm.ActivityInputList = DB.ActivityInputs.Where(ai => ai.Activity.ServiceActivities.Any(sa => sa.Service.ServiceId == vm.SelectedVisitType) && // ai.InputType == ActivityInput.InputTypeEnum.Number) // .ToList(); vm.ActivityInputList = DB.Activities.Where(a => a.ServiceActivities.Any(sa => sa.Service.ServiceId == vm.SelectedVisitType && sa.Active && sa.Activity.ActivityActivityInputs.Any(ai => ai.ActivityInput.InputType == ActivityInput.InputTypeEnum.Number))).ToList(); //vm.ActivityInputList = DB.Activities.Where(a => a.ServiceActivities.Any(sa => sa.Service.ServiceId == vm.SelectedVisitType && sa.Active)).OrderByDescending(x => x.ActivityActivityInputs.Any(aai => aai.ActivityInput.InputType == ActivityInput.InputTypeEnum.Number)).ToList(); vm.ActivityInputListNoNumber = DB.Activities.Where(a => a.ServiceActivities.Any(sa => sa.Service.ServiceId == vm.SelectedVisitType && sa.Active && !sa.Activity.ActivityActivityInputs.Any(ai => ai.ActivityInput.InputType == ActivityInput.InputTypeEnum.Number))).ToList(); //vm.InputActivityList = DB.Services.Find(vm.SelectedVisitType).Activities.ToList(); Service tmpService = DB.Services.Find(vm.SelectedVisitType); // Only number input activities //OLD //vm.InputActivityList = DB.Activities.Where(a => a.ActivityActivityInputs.Any(ai => ai.ActivityInput.InputType == ActivityInput.InputTypeEnum.Number)).ToList(); vm.InputActivityList = DB.Activities.ToList(); vm.InputActivityList = vm.InputActivityList.Except(tmpService.ServiceActivities.Where(sa => sa.Active).Select(sa => sa.Activity)).ToList(); vm.InputActivityList = vm.InputActivityList.OrderByDescending(x => x.ActivityActivityInputs.Any(aai => aai.ActivityInput.InputType == ActivityInput.InputTypeEnum.Number)).ToList(); } return(View(vm)); }