public void AddMessage(DuoChatDTO item) { if (Database.Chat.GetAll().FirstOrDefault(x => x.PersonLogin1 == item.PersonLogin1 && x.PersonLogin2 == item.PersonLogin2 || x.PersonLogin1 == item.PersonLogin2 && x.PersonLogin2 == item.PersonLogin1) == null) { Database.Chat.Create(CustomMapper.ChatMapper().Map <DuoChatDTO, DuoChat>(item)); } foreach (var x in item.Messages) { if (Database.Chat.GetAll().FirstOrDefault(x => x.PersonLogin1 == item.PersonLogin1 && x.PersonLogin2 == item.PersonLogin2) != null) { Database.Chat.GetAll().FirstOrDefault(x => x.PersonLogin1 == item.PersonLogin1 && x.PersonLogin2 == item.PersonLogin2).Messages.Add(new Message() { Message_Data = $"{item.PersonLogin1}: {x.Message_Data}" }); break; } if (Database.Chat.GetAll().FirstOrDefault(x => x.PersonLogin1 == item.PersonLogin2 && x.PersonLogin2 == item.PersonLogin1) != null) { Database.Chat.GetAll().FirstOrDefault(x => x.PersonLogin1 == item.PersonLogin2 && x.PersonLogin2 == item.PersonLogin1).Messages.Add(new Message() { Message_Data = $"{item.PersonLogin1}: {x.Message_Data}" }); break; } } Database.Save(); }