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