Example #1
0
 public static void PagarDeudas(this Colono claseColono, Colono colono, Colonia catalinas)
 {
     if (colono.Saldo > 0)
     {
         catalinas.SaldoActual += colono.Saldo;
         Colonia.GuardarPagos(colono);
         Colonia.GuardarImporte(catalinas);
         colono.Saldo = 0;
     }
 }
Example #2
0
 /// <summary>
 /// Aumenta el stock según la cantidad pasada por parámetro.
 /// </summary>
 /// <param name="colonia"></param>
 /// <param name="p1"></param>
 /// <param name="cantidad"></param>
 public void AumentarStock(Colonia colonia, Producto p1)
 {
     try
     {
         colonia.stockProductos += p1;
     }
     catch (StockMaximoException ex)
     {
         throw ex;
     }
 }
Example #3
0
 public static void PagarDeudas(this Colono claseColono, Colono colono, Colonia catalinas)
 {
     if (colono.SaldoCuota + colono.SaldoProductos > 0)
     {
         catalinas.SaldoActual += colono.SaldoProductos + colono.SaldoCuota;
         Colonia.GuardarPagos(colono);
         Colonia.GuardarImporte(catalinas);
         colono.SaldoProductos = 0;
         colono.SaldoCuota     = 0;
         Console.WriteLine("Se han saldado las deudas de " + colono.Apellido + " " + colono.Nombre);
     }
 }
Example #4
0
        /// <summary>
        /// Busca si un entero coincide con el DNI de un colono.
        /// </summary>
        /// <param name="catalinas"></param>
        /// <param name="dni"></param>
        /// <returns></returns>
        public Colono ObtenerDatos(Colonia catalinas, int dni)
        {
            Colono auxiliar = new Colono();

            foreach (Grupo grupo in catalinas.listadoDeGrupos)
            {
                foreach (Colono colono in grupo.ListadoColonos)
                {
                    if (colono.Dni == dni)
                    {
                        auxiliar = colono;
                        break;
                    }
                }
            }
            return(auxiliar);
        }
Example #5
0
 /// <summary>
 /// Efectua una venta. Modifica el stock del producto, el saldo a favor de la colonia,
 /// el saldo deudor al colono y agrega el producto a su lista de comprados.
 /// </summary>
 /// <param name="colonia"></param>
 /// <param name="p1"></param>
 /// <param name="c1"></param>
 /// <param name="cantidad"></param>
 public void RealizaVenta(Colonia colonia, Producto producto, Colono colono, int cantidadComprada)
 {
     if (colonia.stockProductos == producto)
     {
         colono.Saldo += producto.Precio * cantidadComprada;
         for (int i = 0; i < cantidadComprada; i++)
         {
             colono.ListaProductosComprados.Add(producto);
         }
         //bajar stock
         this.stockProductos.BajarCantidad(stockProductos, producto, cantidadComprada);
     }
     else
     {
         Console.WriteLine("No se pudo realizar venta");
     }
 }
Example #6
0
        /// <summary>
        /// Agrega colonos a la colonia.
        /// </summary>
        /// <param name="colonia"></param>
        /// <param name="co"></param>
        /// <returns></returns>
        //La colonia debe ser la encargada de agregar chicos y asignarle un grupo.
        public static Colonia operator +(Colonia colonia, Colono co)
        {
            Random numeroColor = new Random();
            int    indice      = 0;

            if (colonia != co)
            {
                //Si no hay grupos, se crea uno y agrega al colono.
                if (colonia.listadoDeGrupos.Count == 0)
                {
                    Grupo nuevoGrupo = new Grupo(10, Colonia.GeneradorColores(), co.EdadGrupo);
                    nuevoGrupo += co;
                    colonia.listadoDeGrupos.Add(nuevoGrupo);
                }
                else
                {
                    foreach (Grupo aux in colonia.listadoDeGrupos)
                    {
                        //Si el grupo existente y es de la edad del colono lo agrega
                        //si la capacidad del grupo no ha sido pasada.
                        if (Colonia.RecorrerGruposEdad(colonia, co.EdadGrupo, out indice))
                        {
                            if (aux.ListadoColonos.Count < aux.Capacidad)
                            {
                                colonia.listadoDeGrupos[indice].ListadoColonos.Add(co);
                                //aux.ListadoColonos.Add(co);
                                break;
                            }
                        }
                        else
                        {
                            //Si no existe la edad del grupo, sea crea y agrega al colono.
                            Random otroRandom = new Random();
                            Grupo  otroGrupo  = new Grupo(10, Colonia.GeneradorColores(), co.EdadGrupo);
                            otroGrupo += co;
                            colonia.listadoDeGrupos.Add(otroGrupo);
                            break;
                        }
                    }
                }
            }

            return(colonia);
        }
Example #7
0
        /// <summary>
        /// Guarda en un archivo de texto el importe que el colono ha saldado.
        /// </summary>
        /// <param name="catalinas"></param>
        /// <returns></returns>
        public static bool GuardarImporte(Colonia catalinas)
        {
            bool     retorno        = false;
            string   rutaDeGuardado = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\" + "saldo-colonia.txt";
            Encoding miCodificacion = Encoding.UTF8;

            try
            {
                using (StreamWriter sw = new StreamWriter(rutaDeGuardado, true, miCodificacion))
                {
                    sw.WriteLine(catalinas.SaldoActual);
                    retorno = true;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(retorno);
        }
Example #8
0
        public Colonia Deserealizar(out Colonia catalinas)
        {
            Encoding miCodificacion = Encoding.UTF8;

            catalinas = null;
            try
            {
                using (XmlTextReader lector = new XmlTextReader(this.Path))
                {
                    XmlSerializer ser = new XmlSerializer(typeof(Colonia));
                    catalinas = ((Colonia)ser.Deserialize(lector));
                    lector.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            return(catalinas);
        }
Example #9
0
        /// <summary>
        /// Recorre los grupos de la colonia buscando la edad pasada por parámetro.
        /// </summary>
        /// <param name="ca"></param>
        /// <param name="edadDelGrupo"></param>
        /// <param name="indice"></param>
        /// <returns>Devuelve true si existe algun grupo de la colonia coincide con la edad del parámetro </returns>
        private static bool RecorrerGruposEdad(Colonia ca, EEdad edadDelGrupo, out int indice)
        {
            bool retorno = false;

            indice = default;
            int contador = 0;

            foreach (Grupo aux in ca.listadoDeGrupos)
            {
                if (aux.EdadDelGrupo == edadDelGrupo)
                {
                    retorno = true;
                    break;
                }
                else
                {
                    contador++;
                }
            }

            indice = contador;
            return(retorno);
        }