public List <APIPerson> GetPeople(int id) { // URL to call this is https://localhost:44390/API/GetPeople // Because the Controller is APIController (drops the controller bit in the URL) // GetPeople is the name of the fuction, once it created from APIModel List <APIPerson> PersonList = new List <APIPerson>(); // List used in place of a database backend, just to playwith // Here is the list being created and data added. APIPerson Person = new APIPerson(); Person.age = 21; Person.gender = "Male"; Person.id = 1; Person.name = "Tony"; PersonList.Add(Person); APIPerson Person2 = new APIPerson(); Person2.age = 31; Person2.gender = "FeMale"; Person2.id = 2; Person2.name = "Teresa"; PersonList.Add(Person2); return(PersonList); }
public APIPerson.Person GetPerson(object pid) { var api = new APIPerson(db); var p = api.GetPersonData(pid.ToInt()); return(p); }
private void UpdateVacationBalances(APIPerson apiPerson, ref Person person) { var personId = person.Id; foreach (var apiEmployment in apiPerson.Employments) { var apiVacationBalance = apiEmployment.VacationBalance; if (apiVacationBalance != null) { var employment = person.Employments.SingleOrDefault(e => e.EmploymentId.ToString() == apiEmployment.EmployeeNumber && (e.EndDateTimestamp == 0 || e.EndDateTimestamp >= GetUnixTime(DateTime.Now.Date))); if (employment != null) { if (employment.VacationBalance == null) { employment.VacationBalance = new VacationBalance { PersonId = person.Id, EmploymentId = employment.Id, Year = apiVacationBalance.VacationEarnedYear + 1 }; } employment.VacationBalance.Year = apiVacationBalance.VacationEarnedYear + 1; employment.VacationBalance.FreeVacationHours = apiVacationBalance.FreeVacationHoursTotal ?? 0; employment.VacationBalance.TransferredHours = apiVacationBalance.TransferredVacationHours ?? 0; employment.VacationBalance.VacationHours = apiVacationBalance.VacationHoursWithPay ?? 0; employment.VacationBalance.UpdatedAt = GetUnixTime(apiVacationBalance.UpdatedDate); } } } }
public APIPerson.Person GetSpouse(object pid) { var p1 = db.LoadPersonById(pid.ToInt()); if (p1 == null) { return(null); } var api = new APIPerson(db); var p = api.GetPersonData(p1.SpouseId ?? 0); return(p); }
private void mapAPIPerson(APIPerson apiPerson, ref Person personToInsert) { personToInsert.CprNumber = apiPerson.CPR; personToInsert.FirstName = apiPerson.FirstName ?? "ikke opgivet"; personToInsert.LastName = apiPerson.LastName ?? "ikke opgivet"; personToInsert.Initials = apiPerson.Initials ?? ""; // only update email if supplied if (apiPerson.Email != null || personToInsert.Mail == null) { personToInsert.Mail = apiPerson.Email ?? ""; } foreach (var existingEmployment in personToInsert.Employments.Where(e => e.EndDateTimestamp == 0 || e.EndDateTimestamp >= GetUnixTime(DateTime.Now.Date))) { // if database active employment does not exist in source then set end date if (!apiPerson.Employments.Select(s => s.EmployeeNumber).Contains(existingEmployment.EmploymentId.ToString())) { existingEmployment.EndDateTimestamp = GetUnixTime(DateTime.Now.Date); } } personToInsert.IsActive = false; foreach (var sourceEmployment in apiPerson.Employments) { var employment = personToInsert.Employments.Where(d => d.EmploymentId.ToString() == sourceEmployment.EmployeeNumber && (d.EndDateTimestamp == 0 || d.EndDateTimestamp >= GetUnixTime(DateTime.Now.Date))).FirstOrDefault(); if (employment == null) { employment = new Employment(); personToInsert.Employments.Add(employment); } var orgUnitId = _orgUnitRepo.AsNoTracking().Where(o => o.OrgId.ToString() == sourceEmployment.OrgUnitId).Select(o => o.Id).First(); employment.OrgUnitId = orgUnitId; employment.Position = sourceEmployment.Position ?? "Ingen stillingsbetegnelse"; employment.IsLeader = sourceEmployment.Manager; employment.StartDateTimestamp = GetUnixTime(sourceEmployment.FromDate ?? DateTime.Now.Date); employment.ExtraNumber = sourceEmployment.ExtraNumber ?? 0; employment.EmploymentType = sourceEmployment.EmploymentType ?? 0; employment.CostCenter = sourceEmployment.CostCenter == null ? 0 : long.Parse(sourceEmployment.CostCenter); employment.EmploymentId = sourceEmployment.EmployeeNumber; employment.EndDateTimestamp = sourceEmployment.ToDate == null ? 0 : GetUnixTime(sourceEmployment.ToDate.Value.AddDays(1)); employment.InstituteCode = sourceEmployment.InstituteCode; // only set person active to true if person has a current or future employment if (sourceEmployment.ToDate == null || sourceEmployment.ToDate >= DateTime.Now.Date) { personToInsert.IsActive = true; } } }
public void UpdateHomeAddress(APIPerson apiPerson, ref Person person) { if (apiPerson.Address == null) { _logger.LogWarning($"No home address supplied for {apiPerson.FirstName} {apiPerson.LastName}"); return; } var splitStreetAddress = SplitAddressOnNumber(apiPerson.Address.Street); var apiAddress = new Address { Description = person.FullName, StreetName = splitStreetAddress.ElementAt(0), StreetNumber = splitStreetAddress.Count > 1 ? splitStreetAddress.ElementAt(1) : "1", ZipCode = apiPerson.Address.PostalCode, Town = apiPerson.Address.City ?? "", }; apiAddress = _launderer.Launder(apiAddress); var apiPersonalAddress = new PersonalAddress() { PersonId = person.Id, Type = PersonalAddressType.Home, StreetName = apiAddress.StreetName, StreetNumber = apiAddress.StreetNumber, ZipCode = apiAddress.ZipCode, Town = apiAddress.Town, Latitude = apiAddress.Latitude ?? "", Longitude = apiAddress.Longitude ?? "", Description = apiAddress.Description }; var homeAddress = person.PersonalAddresses.Where(a => a.Type == PersonalAddressType.Home).FirstOrDefault(); if (homeAddress == null) { person.PersonalAddresses.Add(apiPersonalAddress); } else if (homeAddress != apiPersonalAddress) { homeAddress.Type = PersonalAddressType.OldHome; person.PersonalAddresses.Add(apiPersonalAddress); } }