Example #1
0
        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);
        }