I have one webserver is running for two year (SQL server2017 and ASP.NET Web Forms)
but in these two days appeared repeated insert data.
searching data before inserting data to check data is not null but SQL server in repeated data.
I can't however sort out what is best practice in resolving the issue.
toolbox.cs#
public string getID(string PId, string TestId)
{
string idCode = "";
char FillUp = '0';
int length = 4;
int one = 0;
if (PId.Length != 10)
{
throw new NullReferenceException("Error");
}
string newId = PId.Replace("-", "");
if (TestId == null)
{
idCode = newId + "0001";
}
else
{
string checkID = TestId.Substring(11, 4);
int trynumber;
int.TryParse(checkID , out trynumber);
int firstNumber = trynumber + 1;
string number = firstNumber.ToString();
string idNumber = number.PadLeft(length, FillUp);
idCode = newId + idNumber;
}
return idCode;
}
#addData.ashx#
using (Entity EntityData= new Entity())
{
var checkID = EntityData.TEST_DATA.AsNoTracking()
.Where(o => o.NUMBER_NO == XXXX_NO)
.OrderByDescending(o => o.ID)
.FirstOrDefault();
toolbox tool = new toolbox();
if (checkID == null)
{
ID = tool.getID(getPID, null);
}
else
{
ID = tool.getID(getPID, checkID.ID);
}
TEST_DATA addDATA = new TEST_DATA();
addDATA.ID = ID;
addDATA.NUMBER_NO = XXXX_NO;
addDATA.RECDATE = DateTime.Now;
addDATA.MODIFY_TIME = DateTime.Now;
EntityData.TEST_DATA.Add(addDATA);
EntityData.SaveChanges();
}