static void Main(string[] args) { //generamos 10 numeros aleatorios para trabajar con ellos List <int> listaNumeros = new List <int>(); List <LineaTelefonica.Entities.LineaTelefonica> listaLineas = new List <LineaTelefonica.Entities.LineaTelefonica>(); List <Venta> listaVentas = new List <Venta>(); List <TipoEvaluacion> listaTipoEvaluacion = new List <TipoEvaluacion>(); List <Evaluacion> listaEvaluacion = new List <Evaluacion>(); List <TipoPlan> listatipoPlan = new List <TipoPlan>(); List <TipoPago> listatipoPago = new List <TipoPago>(); RandomNumber r = new RandomNumber(); Random random = new Random(); int numeroBase = r.getrandom(); int numlineas = 40; int numlineasPostpago = random.Next(numlineas / 2, numlineas); int numlineasPrepago = numlineas - numlineasPostpago; for (int i = 0; i < numlineas; i++) { listaNumeros.Add(numeroBase); numeroBase++; } Trabajador trabajador2 = new Trabajador(TipoTrabajador.vendedor, "Maria", "Evaristo", "MEvaristo", "2010447884"); Cliente cliente = new Cliente("14525874", "Claudia", "Contreras", "987845865", "*****@*****.**", "ubicacion"); for (int i = 0; i < numlineasPostpago; i++) { var linea = new LineaTelefonica.Entities.LineaTelefonica(); linea.nroCelular = listaNumeros[i].ToString(); linea.tipolinea = TipoLinea.postPago; listaLineas.Add(linea); } for (int i = numlineasPostpago; i < numlineas; i++) { var linea = new LineaTelefonica.Entities.LineaTelefonica(); linea.nroCelular = listaNumeros[i].ToString(); linea.tipolinea = TipoLinea.prepago; listaLineas.Add(linea); } for (int j = 0; j < numlineas; j++) { if (j < numlineas / 5) { listatipoPlan.Add(TipoPlan.control_35); } else if (j < numlineas / 3) { listatipoPlan.Add(TipoPlan.Premium_125); } else if (j < numlineas / 2) { listatipoPlan.Add(TipoPlan.control_45); } else { listatipoPlan.Add(TipoPlan.Libre_105); } } for (int j = 0; j < numlineas; j++) { if ((j % 2) == 0) { listatipoPago.Add(TipoPago.contado); } else { listatipoPago.Add(TipoPago.credito); } } for (int j = 0; j < numlineas; j++) { if (j < numlineas / 5) { listaTipoEvaluacion.Add(TipoEvaluacion.lineaNueva); } else if (j < numlineas / 3) { listaTipoEvaluacion.Add(TipoEvaluacion.portabilidad); } else { listaTipoEvaluacion.Add(TipoEvaluacion.renovacionContrato); } } for (int i = 0; i < numlineas; i++) { if (listaLineas[i].tipolinea == TipoLinea.postPago) { Evaluacion evaluacionActual = new Evaluacion(); evaluacionActual.tipoevaluacion = listaTipoEvaluacion[i]; evaluacionActual.lineaTelefonica = listaLineas[i]; evaluacionActual.plan = new Plan(listatipoPlan[i], "Hasta cumplir Contrato"); evaluacionActual.trabajador = trabajador; evaluacionActual.cliente = cliente; if ((i % 2) == 0) { evaluacionActual.estado = EstadoEvaluacion.aprobado; Venta ventaB = new Venta(); ventaB.evaluacion = evaluacion; ventaB.tipopago = listatipoPago[i]; ventaB.lineaTelefonica = evaluacionActual.lineaTelefonica; listaVentas.Add(ventaB); } else { evaluacionActual.estado = EstadoEvaluacion.desaprobado; } listaEvaluacion.Add(evaluacion); } else { Venta ventaA = new Venta(); ventaA.lineaTelefonica = listaLineas[i]; ventaA.tipopago = listatipoPago[i]; listaVentas.Add(ventaA); } } //Reportes //reporte de evaluaciones aprobadas por cada tipo Console.WriteLine("Reporte de Evaluaciones Aprobadas"); Console.WriteLine("NroEvaluacion".PadRight(15) + "LineaTelefonica".PadRight(18) + "TipoEvaluacion".PadRight(22) + "EstadoEvaluacion".PadRight(15)); int num = 1; for (int i = 0; i < listaEvaluacion.Count; i++) { if (listaEvaluacion[i].estado == EstadoEvaluacion.aprobado) { Console.WriteLine((num).ToString().PadRight(15) + listaEvaluacion[i].lineaTelefonica.nroCelular.PadRight(18) + listaEvaluacion[i].tipoevaluacion.ToString().PadRight(22) + listaEvaluacion[i].estado.ToString().PadRight(15)); num++; } } //reporte de Evaluaciones no Aprobadas Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Reporte de Evaluaciones No Aprobadas"); Console.WriteLine("NroEvaluacion".PadRight(15) + "LineaTelefonica".PadRight(18) + "TipoEvaluacion".PadRight(22) + "EstadoEvaluacion".PadRight(15)); num = 1; for (int i = 0; i < listaEvaluacion.Count; i++) { if (listaEvaluacion[i].estado == EstadoEvaluacion.desaprobado) { Console.WriteLine((num).ToString().PadRight(15) + listaEvaluacion[i].lineaTelefonica.nroCelular.PadRight(18) + listaEvaluacion[i].tipoevaluacion.ToString().PadRight(22) + listaEvaluacion[i].estado.ToString().PadRight(15)); num++; } } Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Reporte de Total Lineas Vendidas " + listaVentas.Count); Console.WriteLine("NroLinea".PadRight(10) + "LineaTelefonica".PadRight(18) + "TipoLinea".PadRight(17) + "TipoPago".PadRight(15)); num = 1; for (int i = 0; i < listaVentas.Count; i++) { Console.WriteLine((num).ToString().PadRight(10) + listaVentas[i].lineaTelefonica.nroCelular.PadRight(18) + listaVentas[i].lineaTelefonica.tipolinea.ToString().PadRight(17) + listaVentas[i].tipopago.ToString().PadRight(15)); num++; } }
static void Main(string[] args) { //generamos 10 numeros aleatorios para trabajar con ellos List <int> listaNumeros = new List <int>(); List <LineaTelefonica.Entities.LineaTelefonica> listaLineas = new List <LineaTelefonica.Entities.LineaTelefonica>(); List <Venta> listaVentas = new List <Venta>(); List <TipoEvaluacion> listaTipoEvaluacion = new List <TipoEvaluacion>(); List <Evaluacion> listaEvaluacion = new List <Evaluacion>(); List <TipoPlan> listatipoPlan = new List <TipoPlan>(); List <TipoPago> listatipoPago = new List <TipoPago>(); RandomNumber r = new RandomNumber(); Random random = new Random(); int numeroBase = r.getrandom(); int numlineas = 40; int numlineasPostpago = random.Next(numlineas / 2, numlineas); //dado que nos piden minimo 2 evaluaciones desaprobadas, necesitamos como minimo 2 lineas postpago int numlineasPrepago = numlineas - numlineasPostpago; for (int i = 0; i < numlineas; i++) { listaNumeros.Add(numeroBase); numeroBase++; } //creamos a un trabajador Trabajador trabajador = new Trabajador(TipoTrabajador.vendedor, "Sebastian", "Romero", "sromero", "2009104490"); Cliente cliente = new Cliente("10231322", "Eduardo", "Gomero", "923121892", "*****@*****.**", "direccion"); for (int i = 0; i < numlineasPostpago; i++) { var linea = new LineaTelefonica.Entities.LineaTelefonica(); linea.nroCelular = listaNumeros[i].ToString(); linea.tipolinea = TipoLinea.postPago; listaLineas.Add(linea); } for (int i = numlineasPostpago; i < numlineas; i++) { var linea = new LineaTelefonica.Entities.LineaTelefonica(); linea.nroCelular = listaNumeros[i].ToString(); linea.tipolinea = TipoLinea.prepago; listaLineas.Add(linea); } //verificamos que se hayan creado correctamente las lineas //for (int i = 0; i < numlineas; i++) //{ // Console.WriteLine(listaLineas[i].nroCelular + " " +listaLineas[i].tipolinea); //} //creamos una lista de Planes que seran usadas para construir las ventas, todo construido aleatoriamente for (int j = 0; j < numlineas; j++) { if (j < numlineas / 5) { listatipoPlan.Add(TipoPlan.control_35); } else if (j < numlineas / 3) { listatipoPlan.Add(TipoPlan.Premium_125); } else if (j < numlineas / 2) { listatipoPlan.Add(TipoPlan.control_45); } else { listatipoPlan.Add(TipoPlan.Libre_105); } } //lista de Evaluaciones tambien construido aleatoriamente for (int j = 0; j < numlineas; j++) { if ((j % 2) == 0) { listatipoPago.Add(TipoPago.contado); } else { listatipoPago.Add(TipoPago.credito); } } //tipo de pago, generado aleatoriamente for (int j = 0; j < numlineas; j++) { if (j < numlineas / 5) { listaTipoEvaluacion.Add(TipoEvaluacion.lineaNueva); } else if (j < numlineas / 3) { listaTipoEvaluacion.Add(TipoEvaluacion.portabilidad); } else { listaTipoEvaluacion.Add(TipoEvaluacion.renovacionContrato); } } //verificamos que se hayan creado aleatoriamente los tipos de evaluaciones para asignar //for (int i = 0; i < listaTipoEvaluacion.Count; i++) //{ // Console.WriteLine(listaTipoEvaluacion[i].ToString()); //} for (int i = 0; i < numlineas; i++) { if (listaLineas[i].tipolinea == TipoLinea.postPago) { Evaluacion evaluacion = new Evaluacion(); //asignamos tipoevaluacion evaluacion.tipoevaluacion = listaTipoEvaluacion[i]; evaluacion.lineaTelefonica = listaLineas[i]; evaluacion.plan = new Plan(listatipoPlan[i], "Hasta cumplir Contrato"); evaluacion.trabajador = trabajador; evaluacion.cliente = cliente; //y si esta aprobada o no, lo consideramos aleatorio si es par o impar if ((i % 2) == 0) { //si la evaluacion se considera aprobada, se hace la venta, asi que añadimos la informacion a una lista //de ventas para mostrarse luego evaluacion.estado = EstadoEvaluacion.aprobado; Venta venta = new Venta(); venta.evaluacion = evaluacion; venta.tipopago = listatipoPago[i]; venta.lineaTelefonica = evaluacion.lineaTelefonica; listaVentas.Add(venta); } else { evaluacion.estado = EstadoEvaluacion.desaprobado; } listaEvaluacion.Add(evaluacion); } else { Venta venta = new Venta(); venta.lineaTelefonica = listaLineas[i]; venta.tipopago = listatipoPago[i]; listaVentas.Add(venta); } } //Reportes //reporte de evaluaciones aprobadas por cada tipo Console.WriteLine("Reporte de Evaluaciones Aprobadas"); Console.WriteLine("NroEvaluacion".PadRight(15) + "LineaTelefonica".PadRight(18) + "TipoEvaluacion".PadRight(22) + "EstadoEvaluacion".PadRight(15)); int num = 1; for (int i = 0; i < listaEvaluacion.Count; i++) { if (listaEvaluacion[i].estado == EstadoEvaluacion.aprobado) { Console.WriteLine((num).ToString().PadRight(15) + listaEvaluacion[i].lineaTelefonica.nroCelular.PadRight(18) + listaEvaluacion[i].tipoevaluacion.ToString().PadRight(22) + listaEvaluacion[i].estado.ToString().PadRight(15)); num++; } } //reporte de Evaluaciones no Aprobadas Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Reporte de Evaluaciones No Aprobadas"); Console.WriteLine("NroEvaluacion".PadRight(15) + "LineaTelefonica".PadRight(18) + "TipoEvaluacion".PadRight(22) + "EstadoEvaluacion".PadRight(15)); num = 1; for (int i = 0; i < listaEvaluacion.Count; i++) { if (listaEvaluacion[i].estado == EstadoEvaluacion.desaprobado) { Console.WriteLine((num).ToString().PadRight(15) + listaEvaluacion[i].lineaTelefonica.nroCelular.PadRight(18) + listaEvaluacion[i].tipoevaluacion.ToString().PadRight(22) + listaEvaluacion[i].estado.ToString().PadRight(15)); num++; } } Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Reporte de Total Lineas Vendidas " + listaVentas.Count); Console.WriteLine("NroLinea".PadRight(10) + "LineaTelefonica".PadRight(18) + "TipoLinea".PadRight(17) + "TipoPago".PadRight(15)); num = 1; for (int i = 0; i < listaVentas.Count; i++) { Console.WriteLine((num).ToString().PadRight(10) + listaVentas[i].lineaTelefonica.nroCelular.PadRight(18) + listaVentas[i].lineaTelefonica.tipolinea.ToString().PadRight(17) + listaVentas[i].tipopago.ToString().PadRight(15)); num++; } }