public async Task <List <MemberPayroll> > LoadPayrollsAsync(int year, int month, List <Member> lstMembers) { List <MemberPayroll> result = new List <MemberPayroll>(); Payroll[] serviceDataInfos = await eliteClient.GetPayrollAsync(userName, password, year, month); if (serviceDataInfos != null) { result = mapper.Map <Payroll[], List <MemberPayroll> >(serviceDataInfos); Member memberInfo = null; result.ForEach(x => { memberInfo = lstMembers.FirstOrDefault(y => y.RefId == x.MemberRefId); if (memberInfo != null) { x.MemberId = memberInfo.Id; } else { logger.Warn(ExternalServices.Payroll, $"Couldn't be found member with Id: {x.MemberRefId}"); } x.Year = year; x.Month = month; x.StartDate = Utilities.ToDateTime(year, month); x.EndDate = Utilities.ToDateTime(year, month, ToDateTimeOptions.EndMonth); }); result = result.Where(x => x.MemberId != 0).ToList(); } return(result); }