private string generarConsecutivo(string areaTrabajo) { string consecutivo = ""; string anterior = bd.ultimaSolicitudMantenimiento(areaTrabajo); int id = 0; string codigoArea; if (areaTrabajo == "Redes / informática / computadoras") { codigoArea = "MIF"; } else if (areaTrabajo == "Equipos varios") { codigoArea = "MEQ"; } else { codigoArea = "MED"; } if (anterior != null) { string[] strArray = anterior.Split('-'); id = Convert.ToInt32(strArray[2]); } int numDigitos = 0; if (id > 0) { numDigitos = Convert.ToInt32(Math.Floor(Math.Log10(id) + 1)); if (id == 9 || id == 99 || id == 999 || id == 9999 || id == 99999 || id == 999999 || id == 9999999) { numDigitos--; } } else { numDigitos = 1; } for (int i = 0; i < 4 - numDigitos; ++i) { consecutivo += "0"; } return("UMI-" + codigoArea + "-" + consecutivo + (id + 1).ToString() + "-" + dateSolicitud.Value.Year.ToString()); }