uniblab icon

Untitled

uniblab | PRO | 06/14/18 07:36:17 PM UTC | 0 ⭐ | 1365 👁️ | Never ⏰ | []
C# |

1.41 KB

|

None

|

0 👍

/

0 👎

using System.Linq;
 
namespace Johnson.FacStaffList {
 
    public sealed class PersonToRecord : Icod.Wod.Map.IMapWith {
 
        public PersonToRecord() : base() {
        }
 
 
        System.Collections.Generic.IEnumerable<System.Object> Icod.Wod.Map.IMapWith.ExecuteMap( System.Object obj ) {
            return this.ExecuteMap( obj as System.Collections.Generic.IEnumerable<Person> );
        }
        public System.Collections.Generic.IEnumerable<System.Object> ExecuteMap( System.Collections.Generic.IEnumerable<Person> collection ) {
            if ( ( null == collection ) || !collection.Any() ) {
                throw new System.ArgumentNullException( "collection" );
            }
            return collection.SelectMany(
                x => x.jobs ?? new Job[ 0 ],
                ( person, job ) => new {
                    person,
                    job = job ?? new Job()
                }
            ).Select(
                x => new {
                    x.person.netid,
                    x.person.fname,
                    x.person.mname,
                    x.person.lname,
                    x.job.title_work,
                    x.person.emplid,
                    x.person.salutation,
                    x.person.suffix,
                    primary_job = ( 0 != ( x.job.primary_job ?? 0 ) ),
                    x.job.manager_emplid,
 
                    x.person.work_phone,
                    x.person.work_address_1,
                    x.person.work_address_2,
                    x.person.work_city,
                    x.person.work_state,
                    x.person.work_postal,
                    work_address_visibility = ( 0 != ( x.person.work_address_visibility ?? 0 ) ),
 
                    x.job.title_univ,
                    x.job.job_family_id,
                    x.job.supervisory_org
                }
            );
        }
 
    }
 
}

Comments