コード例 #1
0
        private async void OnRegisteringTeacher()
        {
            DisableButtons();
            _teacherValidator = new TeacherValidator();
            if (SelectedSchool == null)
            {
                MessageDialog dialog = new MessageDialog($"Kindly select a school");
                await dialog.ShowAsync();

                EnableButtons();
                return;
            }
            _teacher?.Email?.Trim();
            _teacher?.MobilePhone?.Trim();
            _teacher.SchoolId = SelectedSchool.School.Id;
            var valResult = await _teacherValidator.ValidateAsync(_teacher);

            HttpResponseMessage response = default;

            if (valResult.IsValid)
            {
                if (isNewTeacher)
                {
                    response = await _httpClientService.PostBasicAsync(_teacher, "teacher/register");
                }
                else
                {
                    response = await _httpClientService.PutBasicAsync(_teacher, $"teacher/update/{_teacher.Id}");
                }
                if (response.IsSuccessStatusCode)
                {
                    var entity = JsonConvert.DeserializeObject <Teacher>(await response.Content.ReadAsStringAsync());
                    if (_teacherFileData != null)
                    {
                        var imageUri = await UplaodFileAsync(_httpClientService, entity, "teacher", _teacherFileData);

                        _teacherProfileImage = imageUri != null ? new BitmapImage(new Uri(imageUri)) : null;
                        RaisePropertyChanged(nameof(TeacherProfileImage));
                    }
                    MessageDialog dialog = new MessageDialog($"{_teacher.FirstName} {_teacher.MiddleName} {_teacher.LastName} has been registered.");
                    await dialog.ShowAsync();

                    _teacher = new Teacher();
                    RaisePropertyChanged(nameof(Teacher));
                    HideValidationErrors();
                    EnableButtons();
                    return;
                }
                else
                {
                    MessageDialog dialog = new MessageDialog($"An error occured. {await response.Content.ReadAsStringAsync()}");
                    await dialog.ShowAsync();

                    EnableButtons();
                    return;
                }
            }
            RaiseValidationErrors(valResult);
            EnableButtons();
        }
コード例 #2
0
        public void IsValidDifferentObjectFail()
        {
            TeacherValidator validator = new TeacherValidator();
            int testInt = 5;

            Assert.IsFalse(validator.IsValid(testInt));
        }
コード例 #3
0
        public void TestInitialize()
        {
            _teacherValidator = new TeacherValidator(true);
            _teachers         = new List <Teacher> {
                new Teacher
                {
                    StaffNumber      = "54321",
                    RegistrationDate = DateTime.Now,
                    User             = new User
                    {
                        IdUser         = 1,
                        Name           = "Alejandra",
                        LastName       = "Luna Ceballos",
                        Gender         = Gender.FEMALE,
                        UserStatus     = UserStatus.ACTIVE,
                        Email          = "*****@*****.**",
                        AlternateEmail = "*****@*****.**",
                        PhoneNumber    = "2281213456"
                    }
                }
            };

            _mockSet     = DbContextMock.GetQueryableMockDbSet(_teachers, t => t.StaffNumber);
            _mockContext = DbContextMock.GetContext(_mockSet);
            _unitOfWork  = DbContextMock.GetUnitOfWork(_mockContext);
        }
コード例 #4
0
        public void IsValidTeacherFail()
        {
            Teacher          aTeacher  = new Teacher();
            TeacherValidator validator = new TeacherValidator();

            Assert.IsFalse(validator.IsValid(aTeacher));
        }
コード例 #5
0
 public Teacher_OneToManyRelationship_Controller(ApplicationDataContext applicationDataContext,
                                                 TeacherValidator validator,
                                                 IMapper mapper)
 {
     _mapper    = mapper;
     _validator = validator;
     _applicationDataContext = applicationDataContext;
 }
コード例 #6
0
        private bool CanIAdd(Object anObject)
        {
            TeacherValidator validator         = new TeacherValidator();
            bool             domainValidations = validator.IsValid(anObject);
            bool             validation        = domainValidations;

            return(validation);
        }
コード例 #7
0
        private bool IsValidData()
        {
            TeacherValidator teacherDataValidator = new TeacherValidator();

            FluentValidation.Results.ValidationResult dataValidationResult = teacherDataValidator.Validate(_teacher);
            IList <ValidationFailure> validationFailures = dataValidationResult.Errors;
            UserFeedback userFeedback = new UserFeedback(FormGrid, validationFailures);

            userFeedback.ShowFeedback();
            return(dataValidationResult.IsValid);
        }
コード例 #8
0
        private bool ModifyValidation(Object anObject, Object anotherObject)
        {
            TeacherValidator validator        = new TeacherValidator();
            bool             domainValidation = validator.IsValid(anotherObject);
            bool             nonExists        = !Exists(anotherObject);
            bool             sameId           = anObject.Equals(anotherObject);
            Teacher          aTeacher         = anObject as Teacher;
            Teacher          anotherTeacher   = anotherObject as Teacher;

            if (!(nonExists || sameId))
            {
                throw new TeacherAlreadyExistsException("El numero profesor ya esta ingresado en el sistema");
            }

            return(domainValidation && (nonExists || sameId));
        }
コード例 #9
0
        public void IsValidTeacherLastNameFail()
        {
            int     idTest       = 123;
            string  nameTest     = "Juan";
            string  lastNameTest = "";
            Teacher aTeacher     = new Teacher();

            aTeacher.Id       = idTest;
            aTeacher.Name     = nameTest;
            aTeacher.LastName = lastNameTest;
            List <Subject> subjects = new List <Subject>();

            aTeacher.Subjects = subjects;
            TeacherValidator validator = new TeacherValidator();

            Assert.IsFalse(validator.IsValid(aTeacher));
        }
コード例 #10
0
        public void IsValidTeacherSuccess()
        {
            int     idTest       = 123;
            string  nameTest     = "Juan";
            string  lastNameTest = "Martinez";
            Teacher aTeacher     = new Teacher();

            aTeacher.Id       = idTest;
            aTeacher.Name     = nameTest;
            aTeacher.LastName = lastNameTest;
            List <Subject> subjects = new List <Subject>();

            aTeacher.Subjects = subjects;
            TeacherValidator validator = new TeacherValidator();

            Assert.IsTrue(validator.IsValid(aTeacher));
        }
コード例 #11
0
        private bool ValidateData()
        {
            bool                      isValid = false;
            TeacherValidator          teacherDataValidator = new TeacherValidator(true);
            ValidationResult          dataValidationResult = teacherDataValidator.Validate(_teacher);
            IList <ValidationFailure> validationFailures   = dataValidationResult.Errors;

            foreach (ValidationFailure v in validationFailures)
            {
                Console.WriteLine(v);
            }
            UserFeedback userFeedback = new UserFeedback(FormGrid, validationFailures);

            userFeedback.ShowFeedback();
            if (dataValidationResult.IsValid)
            {
                isValid = true;
            }
            return(isValid);
        }
 public TeacherValidatorTests()
 {
     _teacherValidator = new TeacherValidator();
     _teacher.AddCourses(_courses);
 }
コード例 #13
0
        public TeacherModule() : base("/teachers")
        {
            Get["/"] = _ =>
            {
                return(View["index", DocumentSession.Query <Teacher>()
                            .Customize(q => q.WaitForNonStaleResultsAsOfLastWrite())
                            .ToList()]);
            };


            Get["/{Id}"] = x =>
            {
                Guid id        = Guid.Parse(x.Id);
                var  professor = DocumentSession.Query <Teacher>("TeachersById")
                                 .Customize(q => q.WaitForNonStaleResultsAsOfLastWrite())
                                 .Where(n => n.Id == id).FirstOrDefault();
                if (professor == null)
                {
                    return(new NotFoundResponse());
                }
                return(View["show", professor]);
            };

            Get["/edit/{Id}"] = x =>
            {
                Guid id        = Guid.Parse(x.Id);
                var  professor = DocumentSession.Query <Teacher>("TeachersById")
                                 .Customize(q => q.WaitForNonStaleResultsAsOfLastWrite())
                                 .Where(n => n.Id == id).FirstOrDefault();
                if (professor == null)
                {
                    return(new NotFoundResponse());
                }
                return(View["edit", professor]);
            };


            Post["/edit/{Id}"] = x =>
            {
                var teacher = this.Bind <Teacher>();
                var result  = new TeacherValidator().Validate(teacher, ruleSet: "Update");
                if (!result.IsValid)
                {
                    return(View["Shared/_errors", result]);
                }
                Guid teacher_id = Guid.Parse(x.Id);
                var  saved      = DocumentSession.Query <Teacher>("TeachersById")
                                  .Where(n => n.Id == teacher_id).FirstOrDefault();
                if (saved == null)
                {
                    return(new NotFoundResponse());
                }
                saved.Fill(teacher);
                return(Response.AsRedirect(string.Format("/teacher/{0}", teacher.Id)));
            };


            Get["/new"] = x =>
            {
                return(View["new", Teacher.DefaultTeacher()]);
            };

            Post["/new"] = x =>
            {
                var teacher = this.Bind <Teacher>();
                var result  = new TeacherValidator().Validate(teacher);
                if (!result.IsValid)
                {
                    return(View["Shared/_errors", result]);
                }
                DocumentSession.Store(teacher);
                return(Response.AsRedirect(string.Format("/teacher/{0}", teacher.Id)));
            };
        }