コード例 #1
0
ファイル: EnrollmentDBService.cs プロジェクト: s17531/cw3
        public EnrollmentStatus PromoteStudents(PromoteStudentsRequest promoteStudentsRequest)
        {
            EnrollmentStatus registerStudentStatus = new EnrollmentStatus();

            using (var client = new SqlConnection(SqlConn))
                using (var command = new SqlCommand())
                {
                    command.Connection = client;
                    client.Open();

                    try
                    {
                        command.CommandText = $"SELECT IdEnrollment FROM Enrollment WHERE Enrollment.Semester = @semester AND IdStudy = (SELECT IdStudy FROM Studies WHERE Studies.Name = @name);";
                        command.Parameters.AddWithValue("semester", promoteStudentsRequest.Semester);
                        command.Parameters.AddWithValue("name", promoteStudentsRequest.Studies);

                        var dataReader = command.ExecuteReader();

                        if (!dataReader.Read())
                        {
                            registerStudentStatus.enrollment = null;
                            registerStudentStatus.Status     = 400;
                            registerStudentStatus.Message    = "Nie ma takiego semestru dla tych studiów";
                            return(registerStudentStatus);
                        }

                        dataReader.Close();

                        command.CommandText = "PromoteStudents";
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.Clear();
                        command.Parameters.AddWithValue("@Studies", promoteStudentsRequest.Studies);
                        command.Parameters.AddWithValue("@Semester", promoteStudentsRequest.Semester);

                        int rowAffected = command.ExecuteNonQuery();

                        command.CommandText = $"SELECT * FROM Enrollment WHERE Enrollment.Semester = @semester AND IdStudy = (SELECT IdStudy FROM Studies WHERE Studies.Name = @name);";
                        command.CommandType = CommandType.Text;
                        command.Parameters.Clear();
                        command.Parameters.AddWithValue("@name", promoteStudentsRequest.Studies);
                        command.Parameters.AddWithValue("@semester", promoteStudentsRequest.Semester + 1);

                        dataReader = command.ExecuteReader();

                        if (!dataReader.Read())
                        {
                            registerStudentStatus.enrollment = null;
                            registerStudentStatus.Status     = 400;
                            registerStudentStatus.Message    = "Błąd bazy!";
                            return(registerStudentStatus);
                        }

                        EnrollmentResponse enrollment = new EnrollmentResponse()
                        {
                            IdEnrollment = int.Parse((dataReader["IdEnrollment"]).ToString()),
                            Semester     = promoteStudentsRequest.Semester + 1,
                            IdStudy      = int.Parse((dataReader["IdStudy"]).ToString()),
                            StartDate    = DateTime.Parse(dataReader["StartDate"].ToString()),
                        };


                        registerStudentStatus.enrollment = enrollment;
                        registerStudentStatus.Status     = 201;
                        registerStudentStatus.Message    = "Promowany";
                    }
                    catch (SqlException exc)
                    {
                        registerStudentStatus.enrollment = null;
                        registerStudentStatus.Status     = 400;
                        registerStudentStatus.Message    = "Wyjątek bazy danych";
                    }

                    return(registerStudentStatus);
                }
        }
コード例 #2
0
        public async Task <bool> verifyOwnerPetEnrollmentStatus(int ownerId, string petName, EnrollmentStatus status = EnrollmentStatus.Enrolled)
        {
            bool matchPet = false;

            ownerCollection = testDataManager.GetEnrolledOwnerCollection(ownerId);
            foreach (PetAndPolicy pet in ownerCollection.pets)
            {
                matchPet = pet.Pet.Name.ToLower().Equals(petName.ToLower());
                if (matchPet)
                {
                    matchPet = pet.PetPolicy.EnrollmentStatusId == (int?)status;
                    Assert.IsTrue(matchPet, $"{petName} enrollment status {pet.PetPolicy.EnrollmentStatusId} is not match the expected {status}");
                    break;
                }
            }
            Assert.IsTrue(matchPet, $"pet {petName} not found in owner {ownerId}");
            return(matchPet);
        }
コード例 #3
0
        /// <summary>
        /// Create the adaptive card submit action corresponding to the current status.
        /// </summary>
        /// <param name="userStatus">user status</param>
        /// <param name="teamName">Team name the status is for</param>
        /// <param name="extraData">TeamContext or ChooseUserAndTeamResult object</param>
        /// <returns>submit action</returns>
        public static AdaptiveSubmitAction CreateStatusSubmitAction(EnrollmentStatus userStatus, string teamName, object extraData)
        {
            var textAndMsg = GetButtonTextAndMsgIdForStatusButton(userStatus, teamName);

            return(CreateSubmitAction(textAndMsg.Item1, textAndMsg.Item2, extraData));
        }
コード例 #4
0
 /// <summary>
 /// Returns a list of user actions that are invoked when an admin wishes to perform the action on behalf of someone else
 /// </summary>
 /// <param name="userAndTeam">user and team info</param>
 /// <param name="enrollmentStatus">enrollment status for the team</param>
 /// <returns>List of user actions</returns>
 public static List <AdaptiveAction> CreateUserActionsForAdmin(UserAndTeam userAndTeam, EnrollmentStatus enrollmentStatus)
 {
     return(CreateUserActions(enrollmentStatus, userAndTeam.Team.TeamName, userAndTeam));
 }
コード例 #5
0
 /// <summary>
 /// Returns a list of user actions that a user can take
 /// </summary>
 /// <param name="teamContext">team context for the actions</param>
 /// <param name="enrollmentStatus">user status for the team</param>
 /// <returns>List of user actions</returns>
 public static List <AdaptiveAction> CreateUserActions(TeamContext teamContext, EnrollmentStatus enrollmentStatus)
 {
     return(CreateUserActions(enrollmentStatus, teamContext.TeamName, teamContext));
 }
コード例 #6
0
        public EnrollmentStatus GetEnrollmentStatus(int userId)
        {
            var survey = _surveyService.GetSurvey(new SurveyRequest
            {
                SurveyName      = Settings.SurveyNames.Enrollment,
                UserID          = userId,
                IncludeResponse = true
            });

            var enrollmentStatus = new EnrollmentStatus()
            {
                Pages           = survey.Status.Pages,
                PercentComplete = survey.Status.PercentComplete,
                State           = survey.Status.State
            };

            var questionA = survey.GetQuestion("My Interests", "Acquisition");
            var questionC = survey.GetQuestion("My Interests", "Continuity");
            var questionS = survey.GetQuestion("My Interests", "Succession");
            var questionF = survey.GetQuestion("My Interests", "NeedAcquisitionFunding");

            // Business Acquisitions
            if (questionA != null && questionA.HasAnswer)
            {
                var answer = questionA.FindPossibleAnswer("I am interested in Business Acquisitions.");

                enrollmentStatus.BusinessAcquisition.Interested = answer != null && answer.IsSelected;
                enrollmentStatus.BusinessAcquisition.HasAnswer  = true;
            }

            // Funding
            if (questionF != null && questionF.HasAnswer && enrollmentStatus.BusinessAcquisition.Interested)
            {
                var answer = questionF.FindPossibleAnswer("Yes, I need funding and want to learn more.");

                enrollmentStatus.BusinessAcquisitionFunding.Interested = answer != null && answer.IsSelected;
                enrollmentStatus.BusinessAcquisitionFunding.HasAnswer  = true;
            }

            // Continuity
            if (questionC != null && questionC.HasAnswer)
            {
                var answer = questionC.FindPossibleAnswer("I have a written Continuity Plan and I am satisfied that my plan meets all my needs.");

                enrollmentStatus.ContinuityPlanning.Interested = answer != null && !answer.IsSelected;
                enrollmentStatus.ContinuityPlanning.HasAnswer  = true;
            }

            // Succession
            if (questionS != null && questionS.HasAnswer)
            {
                var answer = questionS.FindPossibleAnswer("I have a written Succession Plan and I am satisfied that my plan meets all my needs.");

                enrollmentStatus.SuccessionPlanning.Interested = answer != null && !answer.IsSelected;
                enrollmentStatus.SuccessionPlanning.HasAnswer  = true;
            }

            // Messages
            enrollmentStatus.ContinuityPlanning.Message         = GetInterestMessage(questionC);
            enrollmentStatus.SuccessionPlanning.Message         = GetInterestMessage(questionS);
            enrollmentStatus.BusinessAcquisition.Message        = GetInterestMessage(questionA);
            enrollmentStatus.BusinessAcquisitionFunding.Message = GetInterestMessage(questionF);

            // Overwrite message if interested in both acquisition and funding
            if (enrollmentStatus.BusinessAcquisition.Interested)
            {
                enrollmentStatus.BusinessAcquisition.Message = enrollmentStatus.BusinessAcquisitionFunding.Interested ?
                                                               "You are interested in acquiring a business and need funding and want to learn more." :
                                                               "You are interested in acquiring a business and do not need funding.";
            }

            return(enrollmentStatus);
        }