David_Wimbley
Таким образом, вы уже привязали пользователя к ветви, когда он регистрируется в таблице User, которая создается в identity framework, верно?
Когда вы получаете пользователя (предполагая, что вы используете entity framework), вы должны иметь возможность получить идентификатор транзакции с помощью оператора EF select (var user = users.Где(М=&ГТ;м. имя пользователя == "").выберите(м=&ГТ;м. сделок);).
Но перейдем к главному вопросу вашего вопроса.
Я думаю, что какие бы данные вы ни хранили, вам нужно будет включить guid/id транзакции от пользователя в строку, сохраняемую в базе данных.
Для хранения данных можно создать метод расширения в интерфейсе IIdentity, чтобы получить доступ к идентификатору транзакции, привязанному к этому пользователю. Что-то вроде этого
public static string GetTransactionId(this IIdentity identity)
{
var username = identity.GetUserName();
var users = userstable.Where(m => m.UserName == username).Select(m => m.Transactions).FirstOrDefault;
if (user == null)
{
return "";
}
var transId = users.TransactionId;
return transId;
}
Тогда использование будет просто
User.Identity.GetTransactionId()
Вы сможете использовать это, чтобы получить идентификатор транзакции, а затем сохранить его в таблице.
Оттуда, в вашем контроллере/моделях, вы получите данные из своей БД, передав идентификатор транскрипции от контроллера.
Что-то вроде
var transactionId = User.Identity.GetTransactionId();
var model = new MyDataModel();
model.Build(transactionId);
Тогда в рамках вашей модели вы бы сделали что-то вроде
var mydatainmodel = tableindb.Where(m=>m.TransactionId == transactionIdPassedIn);
Возможно, я смешал терминологию между тем, что вы назвали "филиалом" и "транзакцией", но надеюсь, что это направит вас в правильном направлении.