示例#1
0
        /// <summary>
        /// Guarda el pago realizado con su descripción.
        /// </summary>
        /// <param name="colono"></param>
        /// <returns></returns>
        public static bool GuardarPagos(Colono colono)
        {
            bool     retorno        = false;
            string   rutaDeGuardado = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\" + "pagos-colonia.txt";
            Encoding miCodificacion = Encoding.UTF8;

            try
            {
                using (StreamWriter sw = new StreamWriter(rutaDeGuardado, true, miCodificacion))
                {
                    if (colono.SaldoCuota > 0)
                    {
                        sw.WriteLine(DateTime.Now.ToShortDateString() + " " + colono.Nombre + " " + colono.Apellido + " DNI: " + colono.Dni + " abonó su cuota: $" + colono.SaldoCuota + ".-");
                    }
                    if (colono.SaldoProductos > 0)
                    {
                        sw.WriteLine(DateTime.Now.ToShortDateString() + " " + colono.Nombre + " " + colono.Apellido + " DNI: " + colono.Dni + " abonó productos: $" + colono.SaldoProductos + ".-");
                    }
                    retorno = true;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(retorno);
        }
示例#2
0
 /// <summary>
 /// Constructor 5 parámetros sin deuda para crear nuevo  colono desde consola.
 /// </summary>
 /// <param name="nombre"></param>
 /// <param name="apellido"></param>
 /// <param name="fechaNacimiento"></param>
 /// <param name="dni"></param>
 /// <param name="tiempo"></param>
 public Colono(string nombre, string apellido, DateTime fechaNacimiento, int dni, EPeriodoInscripcion periodo)
     : base(nombre, apellido, fechaNacimiento, dni)
 {
     this.edad               = DateTime.Today.Year - this.fechaNacimiento.Year;
     this.grupo              = this.AsignarGrupo(edad);
     this.saldoCuota         = Colono.CalcularDeuda(this.periodo);
     this.periodo            = periodo;
     this.sinDeudas          = false;
     this.productosComprados = new List <Producto>();
 }
示例#3
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;
     }
 }
示例#4
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);
     }
 }
示例#5
0
        /// <summary>
        /// Verifica que un colono ingresante sea válido para la colonia. Teniendo en cuenta sus atributos.
        /// Verifica además que la edad del colono sea apta, teniendo en cuenta su fecha de nacicimiento.
        /// </summary>
        /// <param name="colono"></param>
        /// <returns></returns>
        public static bool EsValido(Colono colono)
        {
            bool retorno = false;

            if
            (
                colono.Nombre.Length > 0 &&
                colono.Apellido.Length > 0 &&
                colono.Dni > 0 &&
                colono.fechaNacimiento.Year >= nacimientoLimiteInferior &&
                colono.fechaNacimiento.Year <= nacimientoLimiteSuperior
            )
            {
                retorno = true;
            }
            return(retorno);
        }
示例#6
0
        /// <summary>
        /// Verifica que un colono ingresante sea válido para la colonia. Teniendo en cuenta sus atributos.
        /// Verifica además que la edad del colono sea apta, teniendo en cuenta su fecha de nacicimiento.
        /// </summary>
        /// <param name="colono"></param>
        /// <returns></returns>
        public static bool EsValido(Colono colono)
        {
            bool retorno = false;

            if
            (
                colono.Nombre.Length > 0 &&
                colono.Apellido.Length > 0 &&
                colono.Dni > 0 &&
                colono.FechaNacimiento < DateTime.Now &&
                colono.fechaNacimiento.Year >= nacimientoValido
            )
            {
                retorno = true;
            }
            return(retorno);
        }
示例#7
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);
        }
示例#8
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");
     }
 }