/// <summary> /// Sinh mã cán bộ dựa vào cấu hình hệ thống: /// - Tiền tố của mã cán bộ /// - Số lượng chữ số theo sau tiền tố /// </summary> /// <returns>Mã cán bộ mới được sinh ra</returns> private string GenerateEmployeeCode() { var departments = string.Join(",", CurrentUser.Departments.Select(d => d.Id)); var prefix = SystemConfigController.GetValueByNameFollowDepartment(SystemConfigParameter.PREFIX, departments); var numberCharacter = SystemConfigController.GetValueByNameFollowDepartment(SystemConfigParameter.NUMBER_OF_CHARACTER, departments); if (string.IsNullOrEmpty(prefix)) { prefix = "CB"; } var number = string.IsNullOrEmpty(numberCharacter) ? 5 : int.Parse(numberCharacter); var record = RecordController.GetByEmployeeCodeGenerate(prefix, number); var oldMaCb = _generateEmployeeConst; if (record != null && !string.IsNullOrEmpty(record.EmployeeCode)) { oldMaCb = record.EmployeeCode; } var oldNumber = long.Parse("" + oldMaCb.Substring(prefix.Length)); oldNumber++; var newMaCb = _generateEmployeeConst + oldNumber; newMaCb = prefix + newMaCb.Substring(newMaCb.Length - number); return(newMaCb); }