/// <summary> /// update contacts /// </summary> /// <param name="hotelVm"></param> /// <param name="LoggedInUserName"></param> /// <param name="resultHotel"></param> /// <param name="hotel"></param> /// <returns></returns> private async Task UpdateContacts(HotelDetailsViewModel hotelVm, string LoggedInUserName, BaseResult <List <Hotel> > resultHotel, Hotel hotel) { var contactDbList = iContact.GetListByPredicate(x => x.HotelId == hotelVm.HotelId).Result.Result; foreach (var item in hotelVm.ContactDetails) { if (item.ObjectState == ObjectState.Added) { item.HotelId = hotel.Id; await this.CreateContacts(item, LoggedInUserName).ConfigureAwait(false); resultHotel.Result.Add(hotel); } else if (item.ObjectState == ObjectState.Modified) { var contactDb = contactDbList.Where(p => p.Id == item.ContactId).FirstOrDefault(); contactDb.HotelId = hotelVm.HotelId; Contacts contact = DbMapperMasterdata.AutomapperContacts(item, contactDb, LoggedInUserName); await iContact.UpdateEntityByDapper(contact).ConfigureAwait(false); resultHotel.Result.Add(hotel); } } }