/// <summary> /// Maps from web to db Model /// </summary> /// <param name="input">OLEPreviousCitizenship web object</param> /// <param name="refType">OLECitizenshipRefTypeEnum enum value</param> /// <returns>Updated OLECitizenship db object</returns> public static db.OLECitizenship ToCitizDbModel(this OLEPreviousCitizenship input, OLECitizenshipRefTypeEnum refType) { if (input == null) { return null; } return new db.OLECitizenship { Citizenship = input.PreviousCitizenship, CitizenshipRefType = refType }; }
/// <summary> /// Maps from web to db Model /// </summary> /// <param name="input">List of OLEPreviousCitizenship web objects</param> /// <param name="refType">OLECitizenshipRefTypeEnum enum value</param> /// <param name="dbModelList">List of OLECitizenship db objects</param> /// <returns>Updated List of OLECitizenship db objects</returns> public static List<db.OLECitizenship> ToCitizDbModel(this List<OLEPreviousCitizenship> input, OLECitizenshipRefTypeEnum refType, List<db.OLECitizenship> dbModelList) { foreach (var dbItem in new List<db.OLECitizenship>(dbModelList)) { if (dbItem.CitizenshipRefType != 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.ToCitizDbModel(refType)); } else { item.ToCitizDbModel(dbModelList.Where(o => o.Id == item.Id).FirstOrDefault()); } } return dbModelList; }