/// <summary> /// Maps from web to db Model /// </summary> /// <param name="input">List of PersonName Web Model</param> /// <param name="refType">PersonNameRefTypeEnum enum value</param> /// <param name="dbModelList">List of PersonName db Model</param> /// <returns>Updated List of PersonName db Model</returns> public static List<db.PersonName> ToDbModel(this List<PersonName> input, PersonNameRefTypeEnum refType, List<db.PersonName> dbModelList) { if (input == null) { return dbModelList; } foreach (var dbItem in new List<db.PersonName>(dbModelList)) { if (dbItem.PersonNameRefType != refType) { continue; } // clean db list from unsued items var item = input.Where(o => o.Id == dbItem.Id).FirstOrDefault(); if (item == null) { dbModelList.Remove(dbItem); } } if (input == null) { return dbModelList; } foreach (var item in input) { if (item.Id == 0) { dbModelList.Add(item.ToDbModel(refType)); } else { item.ToDbModel(dbModelList.Where(o => o.Id == item.Id).FirstOrDefault()); } } return dbModelList; }
/// <summary> /// Maps from web to db Model /// </summary> /// <param name="input">List of PersonName Web Model</param> /// <param name="refType">PersonNameRefTypeEnum enum value</param> /// <returns>NEW PersonName db Model</returns> public static db.PersonName ToDbModel(this PersonName input, PersonNameRefTypeEnum refType) { if (input == null) { return null; } return new db.PersonName { FirstName = input.FirstName, LastName = input.LastName, PersonNameRefType = refType }; }