public override bool Equals(object obj) { if (obj is ParkedVehicle vehicle) { return(RegistrationNumber.Equals(vehicle.RegistrationNumber)); } return(false); }
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; }
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); }
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); }
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); }
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); }
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)); }
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); }
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); }
/// <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())); }
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); }
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"); }
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); }
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); } }
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); }
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(); }); }
public void AddAttendance(PlainText subjectName, RegistrationNumber regNumber, Attendance attendance) { _subjects.Find(d => d.SubjectInfo.Name == subjectName) .GetSituationForStudent(regNumber) .AddAttendance(attendance); }
public void AddActivityGrade(PlainText subjectName, RegistrationNumber regNumber, Grade grade) { _subjects.Find(d => d.SubjectInfo.Name == subjectName) .GetSituationForStudent(regNumber) .AddActivityGrade(grade); }
/// <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); }
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); }
public Student(Guid ID, RegistrationNumber regNumber, PlainText name, Credits credits) : this(ID, regNumber, name) { Credits = credits; }
public Student(Guid ID, RegistrationNumber regNumber, PlainText name) { RegNumber = regNumber; Name = name; studentID = ID; }
public async Task <bool> IsAvailable(RegistrationNumber registrationNumber) { var unavailableRegistrationNumbers = await Get(); return(!unavailableRegistrationNumbers.Any(rn => rn.ToString() == registrationNumber.ToString())); }
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); }
public GradeableSituation(RegistrationNumber regNumber, List <Attendance> att, List <Grade> examGrades, List <Grade> activityGrades) : base(regNumber, att, examGrades, activityGrades) { }
public void AddAttendance(Guid Id, PlainText subjectName, RegistrationNumber regNumber, Attendance attendance) { var subjects = FindById(Id); subjects.AddAttendance(subjectName, regNumber, attendance); }
public void AddActivityGrade(Guid Id, PlainText subjectName, RegistrationNumber regNumber, Grade grade) { var subjects = FindById(Id); subjects.AddActivityGrade(subjectName, regNumber, grade); }
public override int GetHashCode() { return(RegistrationNumber != null?RegistrationNumber.GetHashCode() : 0); }
public Grade CalculateStudentAverage(PlainText subjectName, RegistrationNumber regNumber) { return(_definedSubjects.Find(d => d.SubjectInfo.Name == subjectName).GetAverageForStudent(regNumber)); }
public Student(RegistrationNumber regNumber, PlainText name) { RegNumber = regNumber; Name = name; }