Я разрабатываю систему управления жалобами, в которой мне нужно генерировать уникальный серийный номер для каждой жалобы, например 00001/20 {Серийный номер / год}.
Я использую шаблон хранилища и генерирую этот номер жалобы. используя следующий фрагмент кода, но проблема заключается в том, что если два пользователя попытаются подать жалобу одновременно, он сгенерирует одну и ту же жалобу "нет", и это привело к ошибке, поскольку я храню серийный номер в отдельной таблице, которая также упоминается ниже для справки , Дайте мне знать лучший способ достичь этого
int serialNo = repository.serialNo.Find(c => c.Year == DateTime.Now.Year).FirstOrDefault().TicketCounter;
string complaintNo = string.Format("{0}", serialNo.ToString().PadLeft(5, '0'));
model.Id = repository.complaintRepo.GetMaxPK(c => c.Id);
Я использую шаблон хранилища.