示例#1
0
        public AssociatedPerson GetAssociatedPerson(decimal?parcelNumber, string nameCode)
        {
            var rpasc = _context.AsmtrealPropertyAssociatedPersons.Where(t => ((parcelNumber == null) || (parcelNumber == 0) || (t.ParcelNumber == parcelNumber)) &&
                                                                         ((nameCode == null) || (t.NameCode == nameCode))).FirstOrDefault();
            var nnamejoinedRpasc = _context.AsmtmasterNameAddress.FirstOrDefault(t => rpasc != null && t.NameCode == rpasc.NameCode);
            var rpmas            = _context.AsmtrealPropertyAssessedValueMaster.Where(t => t.ParcelNumber == parcelNumber).FirstOrDefault();
            var taxPayerNName    = _context.AsmtmasterNameAddress.Where(t => t.NameCode == rpmas.TaxpayerCode).FirstOrDefault();
            var ownerNName       = _context.AsmtmasterNameAddress.Where(t => t.NameCode == rpmas.TaxpayerCode).FirstOrDefault();
            var aplnd            = _context.AsmtlandUseCodes.Where(t => t.LandUseCode == rpmas.LandUseCode).FirstOrDefault();
            var rpzon            = _context.AsmtzoneDescriptions.Where(t => t.ZoneCode == rpmas.ZoneCode).FirstOrDefault();
            var aptxc            = _context.AsmttaxCodeArea.Where(t => t.TaxCodeArea == rpmas.TaxCodeArea).FirstOrDefault();
            var lineValues       = from RPASC in _context.AsmtrealPropertyAssociatedPersons
                                   join NNAME in _context.AsmtmasterNameAddress
                                   on RPASC.NameCode equals NNAME.NameCode
                                   where ((parcelNumber == null) || (parcelNumber == 0) || (RPASC.ParcelNumber == parcelNumber)) &&
                                   ((nameCode == null) || (RPASC.NameCode == nameCode))
                                   select AssociatedPersonMapper.Map(RPASC, NNAME);

            lineValues = lineValues?.OrderBy(t => t.AsmtmasterNameAddressNameCode);
            if (rpasc != null)
            {
                var result = new AssociatedPerson(rpasc.Id, rpasc?.ParcelNumber, taxPayerNName?.Name, ownerNName?.Name, rpmas?.Description1,
                                                  aplnd?.UseCodeShortDesc, rpmas?.Description2, rpmas?.Description3, rpmas?.Description4, rpmas?.Description5
                                                  , rpmas?.LienDate, rpmas?.AffidavitNumber, rpzon?.ZoneCodeDesc, aptxc?.TaxCodeDesc, rpmas?.FirePatrolAcres
                                                  , rpmas?.UnimprovedLandAcres, rpmas?.ImprovedLandAcers, rpmas?.FmimprovedLandValue, rpmas?.BuildingValue
                                                  , rpmas?.AffidavitTaxYear, lineValues.ToList()
                                                  , nnamejoinedRpasc?.AddressLine1, nnamejoinedRpasc?.City, nnamejoinedRpasc?.State
                                                  , nnamejoinedRpasc?.Zip, rpasc?.ChangeId, rpasc?.ChangeDate, rpasc.NameCode, nnamejoinedRpasc?.Name, rpasc.Comment);
                return(result);
            }

            return(null);
        }
        private void ExtractPeople(Profile profile, HtmlNode document)
        {
            profile.AssociatedPeople = new List <AssociatedPerson>();
            var peopleNodes = document.QuerySelectorAll("#aux .insights .browse-map .profile-card");

            foreach (var personNode in peopleNodes)
            {
                var person = new AssociatedPerson
                {
                    Name       = GetDataBySelector(personNode, ".item-title>a"),
                    Title      = GetDataBySelector(personNode, ".headline"),
                    ProfileUrl = GetAttributeValueBySelector(personNode, ".item-title>a", "href")
                };
                profile.AssociatedPeople.Add(person);
            }
        }
示例#3
0
        /// <summary>Populate person metadata.</summary>
        /// <param name="metadata">The metadata.</param>
        /// <param name="person">The person.</param>
        private void PopulatePersonMetadata(IEntityMetadata metadata, AssociatedPerson person)
        {
            var code = this.GetPersonEntityCode(person);

            metadata.EntityType = EntityType.Infrastructure.User;
            var name = string.Empty;

            if (!string.IsNullOrEmpty(person.GivenName?.FirstOrDefault()))
            {
                name += person.GivenName.First();
            }
            if (!string.IsNullOrEmpty(person.MiddleName?.FirstOrDefault()))
            {
                name += " " + person.MiddleName.First();
            }
            if (!string.IsNullOrEmpty(person.FamilyName?.FirstOrDefault()))
            {
                name += " " + person.FamilyName.First();
            }

            metadata.Name             = name;
            metadata.OriginEntityCode = code;
            metadata.Codes.Add(code);

            metadata.Properties[PermIdVocabularies.Person.PersonUrl]              = person.PersonUrl?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.HonorificPrefix]        = person.HonorificPrefix?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.GivenName]              = person.GivenName?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.MiddleName]             = person.MiddleName?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.FamilyName]             = person.FamilyName?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.HasReportedTitlePerson] = person.HasReportedTitlePerson?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.PositionUrl]            = person.PositionUrl?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.PositionType]           = person.PositionType?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.PositionRank]           = person.PositionRank?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.PositionStartDate]      = person.PositionStartDate?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.PreferredName]          = person.PreferredName?.FirstOrDefault().PrintIfAvailable();
            metadata.Properties[PermIdVocabularies.Person.EntityType]             = person.EntityType?.FirstOrDefault().PrintIfAvailable();

            // Set Url
            if (!string.IsNullOrEmpty(person.PersonUrl?.FirstOrDefault()))
            {
                metadata.Uri = new Uri(string.Format("https://permid.org/1-{0}", person.PersonUrl.First()));
            }
        }
示例#4
0
 /// <summary>Gets person entity code.</summary>
 /// <param name="person">The person.</param>
 /// <returns>The person entity code.</returns>
 private EntityCode GetPersonEntityCode(AssociatedPerson person)
 {
     return(new EntityCode(EntityType.Infrastructure.User, this.GetCodeOrigin(), person.PersonUrl.First()));
 }
示例#5
0
        private void AddNewSubjectProc()
        {
            var nameIsTaken  = false;
            var colorIsTaken = false;

            if (SubjectModel.Name.Length > 14)
            {
                MessageBox.Show("Maximum character length is 14 characters");
                return;
            }
            foreach (var v in AssociatedPerson.Subjects)
            {
                if (v.Name == SubjectModel.Name)
                {
                    MessageBox.Show("Subject name is already taken");
                    return;
                }

                if (v.Color != SubjectModel.Color)
                {
                    continue;
                }
                MessageBox.Show("Color is already taken");
                return;
            }

            if (SubjectModel.StartTime >= SubjectModel.EndTime)
            {
                MessageBox.Show("Invalid times; Start time cannot be greater than end time");
                return;
            }
            bool isTooWhite = true;
            var  brightness = (int)Math.Sqrt(
                SubjectModel.Color.R * SubjectModel.Color.R * .241 +
                SubjectModel.Color.G * SubjectModel.Color.G * .691 +
                SubjectModel.Color.B * SubjectModel.Color.B * .068);

            isTooWhite = brightness > 240  ? true : false;
            if (SubjectModel.Color == Colors.Transparent || SubjectModel.Color == Colors.White || isTooWhite)
            {
                MessageBox.Show("Invalid color value");
                return;
            }

            List <Subject> Subjects = new List <Subject>();

            bool conflict = false;

            for (int x = 0; x < 7; x++)
            {
                if (DaysChecked[x])
                {
                    var subjectModel = new Subject();
                    switch (x)
                    {
                    case 0:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Sunday;

                        break;

                    case 1:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Monday;

                        break;

                    case 2:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Tuesday;

                        break;

                    case 3:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Wednesday;

                        break;

                    case 4:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Thursday;

                        break;

                    case 5:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Friday;

                        break;

                    case 6:
                        subjectModel.DayOfTheWeek = ViewModel.DaysOfTheWeek.Saturday;

                        break;

                    default:
                        break;
                    }

                    subjectModel.Id         = Guid.NewGuid().ToString();
                    subjectModel.Name       = SubjectModel.Name;
                    subjectModel.StartTime  = SubjectModel.StartTime;
                    subjectModel.EndTime    = SubjectModel.EndTime;
                    subjectModel.Color      = SubjectModel.Color;
                    subjectModel.Height     = ConvertToMinutes(SubjectModel.EndTime) - ConvertToMinutes(SubjectModel.StartTime);
                    subjectModel.IsTooSmall = subjectModel.Height <= 30;

                    if (conflict == false)
                    {
                        conflict = CheckIfConflict(subjectModel);
                    }
                    Subjects.Add(subjectModel);
                }
            }
            if (conflict == false)
            {
                foreach (var v in Subjects)
                {
                    AssociatedPerson.Subjects.Add(v);

                    _textToSave = $"{v.Id},{v.Name},{v.Color},{v.StartTime},{v.EndTime},{v.DayOfTheWeek}";
                    SaveSubjectToText();
                    using (File.Create(Path.Combine(Directory.GetCurrentDirectory(), "Data", AssociatedPerson.Username,
                                                    "Subject Data", v.Name + " Tests.txt")));
                    using (File.Create(Path.Combine(Directory.GetCurrentDirectory(), "Data", AssociatedPerson.Username, "Subject Data", v.Name + " Grading System.txt")));
                    AssociatedPerson.SetGroupedSubjects();
                }
                MessageBox.Show("Subject added");
            }
            else
            {
                MessageBox.Show("Invalid times; will cause schedule conflict");
            }


            //SaveTask();
            //  DaysSelected.Clear();
            AddSubjectWindow.Close();
        }