Example #1
0
        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 }));
        }
Example #2
0
        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));
        }