Esempio n. 1
0
        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());
        }