Beispiel #1
0
        public StepView(AccelerationDirection acceleration, SteeringWheel direction, ApplicationStep currentStep, double distance, int totalSteps, int step)
        {
            Distance         = distance;
            this.currentStep = currentStep;
            this.ViewModel   = new StepViewModel(acceleration, direction, currentStep, distance, totalSteps, step, this);
            BindingContext   = ViewModel;

            ConfigureScreen();
            ConfigureModals();
        }
Beispiel #2
0
        public ApplicationStep GetApplicationStepModel(string applicationStepItemId)
        {
            if (string.IsNullOrWhiteSpace(applicationStepItemId))
            {
                return(null);
            }

            Item Item = Sitecore.Context.Database.GetItem(applicationStepItemId);

            if (Item == null)
            {
                return(null);
            }

            var applicationStep = new ApplicationStep()
            {
                StepId = Item.Fields[Constants.ApplicationStep.Template.Fields.APPLICATION_STEP_ID].Value,
                Title  = Item.Fields[Constants.ApplicationStep.Template.Fields.APPLICATION_STEP_TITLE].Value,
            };

            return(applicationStep);
        }
        public JsonResult GetApplicationInfo(string identifier, string email)
        {
            var applicationInfoModel = new ApplicationInfo();

            if (string.IsNullOrEmpty(identifier) && string.IsNullOrEmpty(email))
            {
                applicationInfoModel = new ApplicationInfo
                {
                    Status = ApplicationStatus.PersonItemNotFound
                };

                return(Json(applicationInfoModel, JsonRequestBehavior.AllowGet));
            }

            if (!string.IsNullOrEmpty(identifier))
            {
                var personItem = _service.SearchPeopleByOktaId(identifier);

                //fallback to email verification assuming the persons okta id was updated, can be removed later
                if (personItem == null)
                {
                    personItem = _service.SearchPeopleByEmail(email);
                }

                if (personItem != null)
                {
                    Person personO = new Person();
                    personO.FirstName = personItem.Fields[Constants.Person.Template.Fields.PEOPLE_FIRST_NAME].Value;
                    personO.LastName  = personItem.Fields[Constants.Person.Template.Fields.PEOPLE_LAST_NAME].Value;
                    personO.OktaId    = personItem.Fields[Constants.Person.Template.Fields.OKTA_ID].Value;
                    personO.Email     = personItem.Fields[Constants.Person.Template.Fields.PEOPLE_EMAIL].Value;
                    personO.ItemPath  = personItem.Paths.FullPath;
                    personO.ItemId    = personItem.ID.ToString();


                    var applicationItemId = personItem.Fields[Constants.Person.Template.Fields.PEOPLE_APPLICATION]?.Value;
                    var applicationModel  = _service.GetApplicationModel(applicationItemId);



                    if (applicationModel != null)
                    {
                        if (applicationModel.Completed)
                        {
                            applicationInfoModel = new ApplicationInfo
                            {
                                Status = ApplicationStatus.ApplicationCompleted
                            };
                        }
                        else
                        {
                            var             applicationStepId = applicationModel.Step;
                            ApplicationStep applicationStep   = _service.GetApplicationStepModel(applicationStepId);

                            applicationInfoModel = new ApplicationInfo
                            {
                                Application     = applicationModel,
                                ApplicationStep = applicationStep,
                                Person          = personO,
                                Status          = ApplicationStatus.ApplicationFound
                            };
                        }
                    }
                    else
                    {
                        applicationInfoModel = new ApplicationInfo
                        {
                            Person = personO,
                            Status = ApplicationStatus.ApplicationItemNotFound
                        };
                    }
                }
                else
                {
                    applicationInfoModel = new ApplicationInfo
                    {
                        Status = ApplicationStatus.PersonItemNotFound
                    };
                }
            }
            else
            {
                applicationInfoModel = new ApplicationInfo
                {
                    Status = ApplicationStatus.NotLoggedIn
                };
            }
            return(Json(applicationInfoModel, JsonRequestBehavior.AllowGet));
        }