Exemplo n.º 1
0
 public override bool Equals(object obj)
 {
     if (obj is ParkedVehicle vehicle)
     {
         return(RegistrationNumber.Equals(vehicle.RegistrationNumber));
     }
     return(false);
 }
Exemplo n.º 2
0
 public Student(RegistrationNumber regNumber, PlainText name)
 {
     if (RegNumber != regNumber && PlainText.Compare(Name, name) == 0)
     {
         throw new InexistingStudent("Student does not exist!");
     }
     RegNumber = regNumber;
     Name      = name;
 }
Exemplo n.º 3
0
        public void ModifyExamGrade(PlainText subjectName, RegistrationNumber regNumber, Grade grade)
        {
            Contract.Requires(subjectName != null, "Subject name is null!");
            Contract.Requires(regNumber != null, "Registration number is null!");
            Contract.Requires(grade != null, "Grade is null!");

            _subjects.First(d => d.Name == subjectName)
            .ModifyExamGrade(regNumber, grade);
        }
Exemplo n.º 4
0
        public void AddAttendance(PlainText subjectName, RegistrationNumber regNumber, Attendance attendance)
        {
            Contract.Requires(subjectName != null, "Subject name is null!");
            Contract.Requires(regNumber != null, "Registration number is null!");
            Contract.Requires(attendance != null, "Attendance is null!");

            _subjects.First(d => d.Name == subjectName)
            .AddAttendance(regNumber, attendance);
        }
Exemplo n.º 5
0
        public PlainText GenerateReport(Subject.Subject sub, RegistrationNumber reg)
        {
            Subject.SubjectSituation situation;
            situation = sub.GetSituationForStudent(reg);
            string    reportString = situation.ExamGrades.ToString() + "\n" + situation.Attendance.Count.ToString() + "\n" + situation.Lab.ActivityGrade.ToString() + "\n";
            PlainText reporttext   = new PlainText(reportString);

            return(reporttext);
        }
Exemplo n.º 6
0
        public void AddAttendance(PlainText subjectName, RegistrationNumber regNumber, Attendance attendance)
        {
            Contract.Requires(subjectName != null, "subjectName");
            Contract.Requires(regNumber != null, "regNumber");
            Contract.Requires(attendance != null, "attendance");

            _subjects.Find(d => d.SubjectInfo.Name == subjectName)
            .GetSituationForStudent(regNumber)
            .AddAttendance(attendance);
        }
Exemplo n.º 7
0
        public Grade GetAverageForStudent(RegistrationNumber regNumber)
        {
            SubjectSituation situation = _signedUpStudentsGrades.First(d => d.Key.RegNumber == regNumber).Value;

            decimal activityGrade = situation.ActivityGrade.Value;
            decimal examAverage   = situation.GetExamAverage(SubjectInfo.Evaluation);
            decimal proportion    = SubjectInfo.ActivityProportion.Fraction;

            return(new Grade(activityGrade * proportion + (1 - proportion) * examAverage));
        }
Exemplo n.º 8
0
        public void AddActivityGrade(PlainText subjectName, RegistrationNumber regNumber, Grade grade)
        {
            Contract.Requires(subjectName != null, "subjectName");
            Contract.Requires(regNumber != null, "regNumber");
            Contract.Requires(grade != null, "grade");

            _subjects.Find(d => d.SubjectInfo.Name == subjectName)
            .GetSituationForStudent(regNumber)
            .AddActivityGrade(grade);
        }
Exemplo n.º 9
0
        public void Create_ShouldCreateNextNewRegistrationNumber_When_Next_Is_Available_And_Are_Gapps_In_Numbers()
        {
            const int nextAvailableNumber        = 99999;
            string    expectedRegistrationNumber = $"1-0{nextAvailableNumber}";
            var       unavailableNumbers         = RegistrationNumbersGenerator.Generate(limit: nextAvailableNumber);

            var sut = RegistrationNumber.Create(unavailableNumbers);

            Assert.AreEqual(expectedRegistrationNumber, sut.FirstPart + sut.SecondPart);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Equality based on registration number.
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public override bool Equals(object obj)
        {
            if (obj == null || !(obj is Vehicle))
            {
                return(false);
            }
            var vehicle = obj as Vehicle;

            return(RegistrationNumber.ToLower().Equals(vehicle.RegistrationNumber.ToLower()));
        }
Exemplo n.º 11
0
        public void Create_ShouldCreateFirstMissingAvailableRegistrationNumber_When_Are_Gapps_In_Numbers_And_RegistrationNumbers_Reached_Max()
        {
            int firstAvailableNumber = 423;

            int[]  missingRegistrationNumbers = new int[] { firstAvailableNumber, 23441 };
            string expectedRegistrationNumber = $"1-000{firstAvailableNumber}";
            var    unavailableNumbers         = RegistrationNumbersGenerator.Generate(numbersToSkip: missingRegistrationNumbers);

            var sut = RegistrationNumber.Create(unavailableNumbers);

            Assert.AreEqual(expectedRegistrationNumber, sut.FirstPart + sut.SecondPart);
        }
Exemplo n.º 12
0
        public async Task GetCompanyAsync_CompanyNamedSemine_ShouldReturnCorrectCompany()
        {
            // Arrange
            var brregClient        = new BrregClient();
            var organizationNumber = 915085865;

            // Act
            var result = await brregClient.GetCompanyAsync(organizationNumber);

            // Assert
            result !.RegistrationNumber.Should().Be(organizationNumber);
            result !.Name.Should().NotBeNullOrWhiteSpace();
            result !.Name !.ToLowerInvariant().Should().Contain("semine");
        }
Exemplo n.º 13
0
        public override int GetHashCode()
        {
            int result = 1;

            result = (result * 397) ^ CurrentYear.GetHashCode();
            result = (result * 397) ^ Id.GetHashCode();
            result = (result * 397) ^ (RegistrationNumber != null ? RegistrationNumber.GetHashCode() : 0);
            result = (result * 397) ^ (Remark != null ? Remark.GetHashCode() : 0);
            result = (result * 397) ^ StudentStatus.GetHashCode();
            result = (result * 397) ^ (StudentNumber != null ? StudentNumber.GetHashCode() : 0);
            result = (result * 397) ^ CurrentCGPA.GetHashCode();
            result = (result * 397) ^ CurrentCTCU.GetHashCode();
            result = (result * 397) ^ CurrentAward.GetHashCode();
            return(result);
        }
Exemplo n.º 14
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Created.GetHashCode();
         hashCode = (hashCode * 397) ^ (Office != null ? Office.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (RegistrationNumber != null ? RegistrationNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographMake != null ? TachographMake.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographModel != null ? TachographModel.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (SerialNumber != null ? SerialNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ InspectionDate.GetHashCode();
         hashCode = (hashCode * 397) ^ (Technician != null ? Technician.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (CustomerContact != null ? CustomerContact.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (DepotName != null ? DepotName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (CompanyName != null ? CompanyName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ UserId;
         hashCode = (hashCode * 397) ^ Uploaded.GetHashCode();
         return(hashCode);
     }
 }
Exemplo n.º 15
0
 public void FillUpTrialDetails(string sponsor, string coopGroup, string regoNumber, string phase, string group,
                                string tumourCategory, string tumourGroup, string stage, string population, string multiCentre, string site,
                                string bioMarkerStudy, string molTarget)
 {
     EnterScientificTitle(PageHelper.RandomString(8));
     SelectASponsor(sponsor);
     SelectACooperativeGroup(coopGroup);
     EnterNickName(PageHelper.RandomString(3));
     RegistrationNumber.SendKeys(regoNumber);
     SelectAPhase(phase);
     SelectAGroup(group);
     SelectATumourCategory(tumourCategory);
     SelectATumourGroup(tumourGroup);
     SelectStagesOfDisease(stage);
     SelectAPopulation(population);
     SelectMultiCentreTrial(multiCentre);
     SelectLeadSite(site);
     SelectBioMarkerSubstudy(bioMarkerStudy);
     SelectAMolecularTarget(molTarget);
 }
Exemplo n.º 16
0
        private void OnReprint(Window window)
        {
            if (string.IsNullOrEmpty(RegistrationNumber))
            {
                return;
            }

            IsLoading = true;

            Document document = FindDocumentLocally();

            if (document != null)
            {
                Print(document);
                window.Close();
                return;
            }

            GetInstance <IConnectClient>().CallAsync(ConnectHelper.GetConnectKeys(), client =>
            {
                return(client.Service.Find(RegistrationNumber.ToUpper().Replace(" ", string.Empty), DocumentType.Tachograph | DocumentType.Undownloadability | DocumentType.LetterForDecommissioning));
            },
                                                     result =>
            {
                if (result.Data == null)
                {
                    MessageBoxHelper.ShowError(Resources.ERR_UNABLE_FIND_ANY_MATCHES, Window);
                    return;
                }

                Print((Document)result.Data);
            },
                                                     exception =>
            {
                MessageBoxHelper.ShowError(Resources.TXT_ONE_OR_MORE_ERRORS, new object[] { ExceptionPolicy.HandleException(ContainerBootstrapper.Container, exception) }, window);
            },
                                                     () =>
            {
                window.Close();
            });
        }
Exemplo n.º 17
0
 public void AddAttendance(PlainText subjectName, RegistrationNumber regNumber, Attendance attendance)
 {
     _subjects.Find(d => d.SubjectInfo.Name == subjectName)
     .GetSituationForStudent(regNumber)
     .AddAttendance(attendance);
 }
Exemplo n.º 18
0
 public void AddActivityGrade(PlainText subjectName, RegistrationNumber regNumber, Grade grade)
 {
     _subjects.Find(d => d.SubjectInfo.Name == subjectName)
     .GetSituationForStudent(regNumber)
     .AddActivityGrade(grade);
 }
Exemplo n.º 19
0
        /// <summary>
        /// 根据T, 在element中查找,T类型的节点,最后返回 T的列表,比如要返回   List<MileStone> 就传入 <MeilStoneColletion>...</MeilStoneColletion>元素
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="element"></param>
        /// <returns></returns>
        public static List <T> SearchCollectionNew <T>(XElement element) where T : class, new()
        {
            var tList = new List <T>();

            if (element != null && element.HasElements)
            {
                dynamic t     = null;
                var     tName = typeof(T).Name;
                var     nName = element.Name.ToString();

                if (nName.Contains(tName))
                {
                    //var eName = nName.Replace("Collection", "");
                    var children = element.Elements(tName);   //获取所有子节点
                    var props    = typeof(T).GetProperties(); //T的属性列表
                    foreach (var child in children)
                    {
                        t = CreateInstance(typeof(T));
                        foreach (var prop in props)
                        {
                            if (prop.PropertyType.IsClass && prop.PropertyType.Name != "String")
                            {
                                Type    classType = prop.PropertyType;         //获得属性当前的类类型
                                dynamic obj       = CreateInstance(classType); //用反射根据传入类型生成对象
                                //var classProps = classType.GetProperties();//获取此类型对象的属性列表
                                XElement cElement = null;
                                if (!prop.PropertyType.Name.Contains("Collection")) //属性类型不是集合时进入
                                {
                                    cElement = child.Element(prop.Name);            //此类对应的元素
                                    var classProps = classType.GetProperties();     //获取此类型对象的属性列表

                                    if (cElement != null && cElement.HasElements)
                                    {
                                        ExtractXMLDynamic.SetNotCollectionElement(obj, cElement, classProps); //把obj 对象传入进行值设置
                                    }
                                    prop.SetValue(t, obj);                                                    //把属性元素对象设置到目标对象t
                                }
                                else
                                {
                                    var subCollectionName       = prop.PropertyType.Name;                                //子Collection名称
                                    var subColletctionChildName = subCollectionName.Replace("Collection", string.Empty); //去掉Collectin后的子元素名称
                                    var subCollection           = child.Element(subCollectionName);                      //获取子Collection元素

                                    //此处可以扩展,如果有其它的情况可以加入其它的条件判断
                                    if (subColletctionChildName == typeof(RegistrationNumber).Name)
                                    {
                                        var subInstance = new RegistrationNumber();
                                        var tSubList    = SearchSubCollection(subInstance, subCollection);
                                        SetInstanceSubCollection(t, tSubList);
                                    }
                                }
                            }

                            else
                            {
                                prop.SetValue(t, child.Element(prop.Name).Value);
                            }
                        }

                        tList.Add(t);
                        if (nName == "RegistrationNumberCollection")
                        {
                            var test = tList;
                        }
                        if (nName == "OrganizationAddressCollection")
                        {
                            var test = tList;
                        }
                    }
                }
            }

            return(tList);
        }
Exemplo n.º 20
0
 public SubjectSituation GetSituationForStudent(RegistrationNumber regNumber)
 {
     return(_signedUpStudentsGrades.First(d => d.Key.RegNumber == regNumber).Value);
 }
 public void Ctor_ValidRegistrationNumber_ConstructsValidRegistrationNumber(string registrationNumber, string expected)
 {
     var reg = new RegistrationNumber(registrationNumber);
     Assert.AreEqual(expected, reg.Value);
 }
Exemplo n.º 22
0
 public Student(Guid ID, RegistrationNumber regNumber, PlainText name, Credits credits)
     : this(ID, regNumber, name)
 {
     Credits = credits;
 }
Exemplo n.º 23
0
 public Student(Guid ID, RegistrationNumber regNumber, PlainText name)
 {
     RegNumber = regNumber;
     Name      = name;
     studentID = ID;
 }
Exemplo n.º 24
0
        public async Task <bool> IsAvailable(RegistrationNumber registrationNumber)
        {
            var unavailableRegistrationNumbers = await Get();

            return(!unavailableRegistrationNumbers.Any(rn => rn.ToString() == registrationNumber.ToString()));
        }
Exemplo n.º 25
0
 public Situation GetStudSituation(PlainText subject, RegistrationNumber regNr)
 {
     return(_definedSubjects.Find(d => d.Name == subject).GetStudentSituation(regNr));
 }
 public Vehicle ByRegistration(RegistrationNumber registration)
 {
     var url = new Uri(String.Format(_settings.UrlTemplate, "Reg", registration));
     return VehicleFromUrl(url);
 }
Exemplo n.º 27
0
 public GradeableSituation(RegistrationNumber regNumber, List <Attendance> att, List <Grade> examGrades, List <Grade> activityGrades)
     : base(regNumber, att, examGrades, activityGrades)
 {
 }
Exemplo n.º 28
0
        public void AddAttendance(Guid Id, PlainText subjectName, RegistrationNumber regNumber, Attendance attendance)
        {
            var subjects = FindById(Id);

            subjects.AddAttendance(subjectName, regNumber, attendance);
        }
Exemplo n.º 29
0
        public void AddActivityGrade(Guid Id, PlainText subjectName, RegistrationNumber regNumber, Grade grade)
        {
            var subjects = FindById(Id);

            subjects.AddActivityGrade(subjectName, regNumber, grade);
        }
Exemplo n.º 30
0
 public override int GetHashCode()
 {
     return(RegistrationNumber != null?RegistrationNumber.GetHashCode() : 0);
 }
Exemplo n.º 31
0
 public Grade CalculateStudentAverage(PlainText subjectName, RegistrationNumber regNumber)
 {
     return(_definedSubjects.Find(d => d.SubjectInfo.Name == subjectName).GetAverageForStudent(regNumber));
 }
Exemplo n.º 32
0
 public Student(RegistrationNumber regNumber, PlainText name)
 {
     RegNumber = regNumber;
     Name      = name;
 }