private void UpdateEmployeeIDTracker(int trackerID, int runningID) { EmployeeIDTracker tracker = DataContext.EmployeeIDTrackers.FirstOrDefault(e => e.EmploymentTypeID == trackerID); tracker.RunningID = runningID; DataContext.EmployeeIDTrackers.Add(tracker); DataContext.Entry(tracker).State = EntityState.Modified; DataContext.SaveChanges(); }
private bool UpdateEmployeeIDTracker(int employeeType, string employeeID) { EmployeeIDTracker tracker = DataContext.EmployeeIDTrackers.FirstOrDefault(e => e.EmploymentTypeID == employeeType); if (string.IsNullOrEmpty(tracker.IDPrefix) == false) { employeeID = employeeID.Replace(tracker.IDPrefix, ""); } if (int.TryParse(employeeID, out int runningID)) { tracker.RunningID = runningID; DataContext.EmployeeIDTrackers.Add(tracker); DataContext.Entry(tracker).State = EntityState.Modified; DataContext.SaveChanges(); return(true); } return(false); }
public string GenerateNewEmployeeID(int employeeTypeID) { string employeeID = string.Empty; EmployeeIDTracker tracker = DataContext.EmployeeIDTrackers.FirstOrDefault(e => e.EmploymentTypeID == employeeTypeID); string empType = DataContext.DropDownSubCategories.FirstOrDefault(s => s.SubCategoryID == employeeTypeID)?.SubCategoryName; bool isDuplicate = true; int runningID = tracker.RunningID; int newRunningID = tracker.RunningID + 1; string idPrefix = tracker.IDPrefix; while (isDuplicate) { if (empType == PERMANENT_EMP_TYPE_NAME) { employeeID = newRunningID.ToString(); } else { employeeID = $"{tracker.IDPrefix}{newRunningID.ToString().PadLeft(3, '0')}"; } if (!Entities.Any(e => e.EmployeeID.ToLower() == employeeID.ToLower())) { isDuplicate = false; } else { newRunningID += 1; } } UpdateEmployeeIDTracker(employeeTypeID, runningID); return(employeeID.ToUpper()); }