public void sendMessage(int userId, MessageSendModel model, string keyDialog) { var db = new MyDBModels.DB(); var user = db.user.Where(u => u.UserId == userId).First(); var profileId = user.ProfileId; var currentCommunication = db.communication.Where(c => c.KeyDialog == keyDialog).First(); MyDBModels.Message messsage = new MyDBModels.Message(); messsage.DataMessage = model.DataMessage; messsage.TimeWritten = model.TimeWritten; messsage.IsReadProfileId = new int[] { profileId }; messsage.ProfileId = profileId; messsage.TypeMessage = 1; db.message.Add(messsage); db.SaveChanges(); var messageIdArray = currentCommunication.MessageIdArray.ToList(); messageIdArray.Add(db.message.Where(m => m.ProfileId == profileId && m.TimeWritten == model.TimeWritten).FirstOrDefault().MessageId);//OrderByDescending need? currentCommunication.MessageIdArray = messageIdArray.ToArray(); var dataAccess = new CommunicationDataAccess(); if (!currentCommunication.IsGroup) { var friendProfileId = currentCommunication.ParticipantProfileIdArray.Where(p => p != profileId).First(); dataAccess.searchAndConnectOldCommunication(profileId, friendProfileId); } db.SaveChanges(); }
public void confirmFriend(int userId, int confirmProfileId, bool addFriend) { var db = new MyDBModels.DB(); var myUserModel = db.user.Where(u => u.UserId == userId).First(); var myProfileModel = db.profile.Where(p => p.ProfileId == myUserModel.ProfileId).First(); var friendUserModel = db.user.Where(u => u.ProfileId == confirmProfileId).First(); var possibleProfileIdArray = myUserModel.FriendPossibleIdArray; if (addFriend) { var friendArrayIdUpdate = myUserModel.FriendIdArray.ToList(); friendArrayIdUpdate.Add(confirmProfileId); myUserModel.FriendIdArray = friendArrayIdUpdate.ToArray(); var myFirendFriendArrayIdUpdate = friendUserModel.FriendIdArray.ToList(); myFirendFriendArrayIdUpdate.Add(myUserModel.ProfileId); friendUserModel.FriendIdArray = myFirendFriendArrayIdUpdate.ToArray(); if (friendUserModel.FriendPossibleIdArray.Contains(myUserModel.ProfileId)) { var firendPossibleArrayIdUpdate = friendUserModel.FriendPossibleIdArray.ToList(); firendPossibleArrayIdUpdate.Remove(myUserModel.ProfileId); myUserModel.FriendPossibleIdArray = firendPossibleArrayIdUpdate.ToArray(); } CommunicationDataAccess dataAccess = new CommunicationDataAccess(); if (!dataAccess.searchAndConnectOldCommunication(myProfileModel.ProfileId, friendUserModel.ProfileId)) { CommunicationShortModel shortModel = new CommunicationShortModel(); var firendProfile = db.profile.Where(fp => fp.ProfileId == friendUserModel.ProfileId).First(); shortModel.Name = String.Format("{0} {1} - {2} {3}", firendProfile.Name, firendProfile.LastName, myProfileModel.Name, myProfileModel.LastName); shortModel.PhotoUrl = firendProfile.PhotoUrl; shortModel.ParticipantProfileIdArray = new int[] { firendProfile.ProfileId, myUserModel.ProfileId }; dataAccess.createCommunication(userId, shortModel); db.SaveChanges(); } } var possibleArrayIdUpdate = possibleProfileIdArray.ToList(); possibleArrayIdUpdate.Remove(confirmProfileId); myUserModel.FriendPossibleIdArray = possibleArrayIdUpdate.ToArray(); db.SaveChanges(); }