Example #1
0
        //AGREGAR UN PRODUCTO EN DEPOSITO  , CAMBIAR EN COSTO
        //SOBRECARGA DE METODOS
        public void agregarProducto(Producto_comp agregar, int cantidad)
        {
            Costeados n = new Costeados(agregar.Nombre, agregar.cod_articulo, agregar.precio, cantidad, agregar.date, agregar.Proveedor);

            CalculoCosto.Add(n);
            Deposito.Add(agregar);
        }
Example #2
0
 public Precio(Form prim, Form met, object elegido, double precio, int cantidad)
 {
     method    = met;
     primerFrm = prim;
     Elegido   = (Producto_comp)elegido;
     Price     = precio;
     Cantidad  = cantidad;
     InitializeComponent();
 }
Example #3
0
        private void cmb_Depo_SelectedIndexChanged(object sender, EventArgs e)
        {
            Producto_comp elegido = (Producto_comp)cmb_Depo.SelectedItem;

            txt_Cant.MaxLength   = 6;
            txt_Precio.MaxLength = 6;
            txt_Cant.Text        = "0";
            txt_Precio.Text      = elegido.precio.ToString(); //muestra el precio del producto que ya tengo en deposito

            //No se puede agregar stock con fecha anterior a la  compra de ese mismo producto
            fecha_Compra.MinDate = elegido.date;
            fecha_Compra.MaxDate = DateTime.MaxValue;
        }
Example #4
0
        //FUNCION CALCULAR FIFO
        public string FIFO(Producto_comp elegido)
        {
            //Ordena la Lista CalculoCosto por Fecha
            CalculoCosto.Sort((x, y) => x.date.CompareTo(y.date));

            foreach (var C in CalculoCosto)
            {
                if (C.Nombre == elegido.Nombre)
                {
                    return((Math.Round(C.precio, 4)).ToString());
                }
            }

            return("0");
        }
Example #5
0
        //PRODUCTO VENDIDO SIN STOCK
        public void QuitarCosteados(Producto_comp SinStock)
        {
            ListaInvertida = CalculoCosto;
            ListaInvertida.Reverse();
            Costeados vend = null;

            foreach (var C in ListaInvertida)
            {
                if (C.Nombre == SinStock.Nombre)
                {
                    vend = C;
                }
            }
            CalculoCosto.Remove(vend);
        }
Example #6
0
        private void cmb_Todos_SelectedIndexChanged(object sender, EventArgs e)
        {
            //MUESTRA EL PRELIMINAR DEL COSTEO , EL LBL QUE TE DICE POR CUANTO SE CALCULARIA
            Producto_comp elegido = (Producto_comp)cmb_Todos.SelectedItem;

            //FIFO
            lbl_FIFO.Text = Program.getSistema().FIFO(elegido);

            //LIFO
            lbl_LIFO.Text = Program.getSistema().LIFO(elegido);

            //PPP
            lbl_PPP.Text = Program.getSistema().PPP(elegido);
            //MUESTRA STOCK DISPONIBLE
            lbl_stock.Text = elegido.cantidad.ToString();
        }
Example #7
0
        //FUNCION CALCULAR PPP
        public string PPP(Producto_comp elegido)
        {
            //Ordena la Lista CalculoCosto por Fecha
            CalculoCosto.Sort((x, y) => x.date.CompareTo(y.date));
            int    cont = 0;
            double acum = 0;

            foreach (var C in CalculoCosto)
            {
                if (C.Nombre == elegido.Nombre)
                {
                    acum += C.precio;
                    cont++;
                }
            }

            return((acum / cont).ToString());
        }
Example #8
0
        //FUNCION CALCULAR LIFO
        public string LIFO(Producto_comp elegido)
        {
            //Ordena la Lista CalculoCosto por Fecha
            CalculoCosto.Sort((x, y) => x.date.CompareTo(y.date));
            ListaInvertida = CalculoCosto;
            //Invierto CalculoCosto ya ordenada por Fecha
            ListaInvertida.Reverse();

            foreach (var L in ListaInvertida)
            {
                if (L.Nombre == elegido.Nombre)
                {
                    return((Math.Round(L.precio, 2)).ToString());
                }
            }

            return("0");
        }
Example #9
0
        private void btn_Accept_Click(object sender, EventArgs e)
        {
            //***BOTON ACEPTAR***
            Producto_comp elegido       = (Producto_comp)cmb_Depo.SelectedItem;
            int           nuevaCantidad = Int32.Parse(txt_Cant.Text);

            /*ERRORES*/

            //no selecciono nada
            if (elegido == null)
            {
                MessageBox.Show("Seleccione Producto"); return;
            }
            //FALTAN CAMPOS
            if (elegido.Nombre == null || txt_Cant.Text == "0" || double.Parse(txt_Precio.Text) == 0)
            {
                MessageBox.Show(" Complete todos los campos "); return;
            }
            ;

            string    name     = elegido.Nombre;
            int       article  = elegido.cod_articulo;
            Proveedor provider = elegido.Proveedor;
            int       quant    = nuevaCantidad + elegido.cantidad;
            double    cost     = double.Parse(txt_Precio.Text);
            DateTime  fecha    = fecha_Compra.Value;


            //crea nuevo producto
            Producto_comp prod = new Producto_comp(name, article, provider, quant, cost, fecha);

            //borra antiguo
            Program.getSistema().QuitarProducto(elegido);
            //carga nuevo
            Program.getSistema().agregarProducto(prod, nuevaCantidad);

            MessageBox.Show(" SE AGREGO STOCK CORRECTAMENTE ");
            frmSTC.Show();
            this.Hide();
        }
Example #10
0
 //QUITA UN PRODUCTO EN EL DEPOSITO
 public void ProductoVendido(Producto_comp vendido, int cantidad)
 {
     //si no hay mas producto se elimina del deposito
     if ((vendido.cantidad - cantidad) <= 0)
     {
         QuitarCosteados(vendido);
         Deposito.Remove(vendido);
     }
     else
     {
         string        name     = vendido.Nombre;
         int           article  = vendido.cod_articulo;
         Proveedor     provider = vendido.Proveedor;
         int           quant    = vendido.cantidad - cantidad;
         double        cost     = vendido.precio;
         DateTime      fecha    = vendido.date;
         Producto_comp prod     = new Producto_comp(name, article, provider, quant, cost, fecha);
         VendidoCosteado(prod, cantidad);
         Deposito.Add(prod);
         Deposito.Remove(vendido);
     }
 }
Example #11
0
        //PRODUCTO VENDIDO
        public void VendidoCosteado(Producto_comp vendido, int cantidad)
        {
            Costeados costeado = null;

            ListaInvertida = CalculoCosto;
            ListaInvertida.Reverse();
            List <Costeados> vend = new List <Costeados>();

            foreach (var C in CalculoCosto)
            {
                if (C.Nombre == vendido.Nombre)
                {
                    costeado = new Costeados(vendido.Nombre, vendido.cod_articulo, vendido.precio, vendido.cantidad, vendido.date, vendido.Proveedor);
                    vend.Add(C);
                }
            }
            foreach (var L in vend)
            {
                CalculoCosto.Remove(L);
            }

            CalculoCosto.Add(costeado);
        }
Example #12
0
File: Item.cs Project: NAM392/PROG3
        private void btn_Item_Click(object sender, EventArgs e)
        {
            string    name     = txtNom.Text;
            int       article  = Int32.Parse(txt_CodProd.Text);
            Proveedor provider = (Proveedor)cmb_Proveedor.SelectedItem;
            int       quant    = Int32.Parse(txt_Cant.Text);
            double    cost     = double.Parse(txt_Precio.Text);
            DateTime  fecha    = Fecha_Date.Value;
            //YA EXISTE ESE CODIGO DE PRODUCTO
            List <Producto_comp> Deposito = Program.getSistema().getDeposito();

            foreach (var d in Deposito)
            {
                if (d.cod_articulo == Int32.Parse(txt_CodProd.Text))
                {
                    MessageBox.Show("YA EXISTE ESE CODIGO DE PRODUCTO");
                    return;
                }
            }
            //FALTAN CAMPOS
            if (article == 0 || name == null || quant == 0 || cost == 0 || (Proveedor)cmb_Proveedor.SelectedItem == null || article == null)
            {
                MessageBox.Show("Complete todos los campos "); return;
            }
            ;

            //CREO UN NUEVO PRODUCTO
            Producto_comp prod = Program.getSistema().NuevoProducto(name, article, provider, quant, cost, fecha);

            //PONGO ESTE NUEVO PRODUCTO EN LA LISTA DE PRODUCTOS QUE VIVE EN SISTEMA
            Program.getSistema().agregarProducto(prod);

            MessageBox.Show("SE INGRESO EL PRODUCTO CORRECTAMENTE");
            LimpiarLista();
            stac.Show();
            this.Hide();
        }
Example #13
0
        private void btn_LFP_Click(object sender, EventArgs e)
        {
            //BOTON ACEPTAR FORM METODO
            Producto_comp elegido      = (Producto_comp)cmb_Todos.SelectedItem;
            double        precio_final = 0;
            int           cantidad     = int.Parse(txtCant.Text);

            /******ERRORES AL INGRESO******/


            //no selecciono producto
            if (elegido == null)
            {
                MessageBox.Show(" Seleccione Producto "); return;
            }

            //sin stock
            if (elegido.cantidad < int.Parse(txtCant.Text))
            {
                MessageBox.Show(" No Hay Stock ");
                return;
            }
            //no elije cantidad
            if (int.Parse(txtCant.Text) <= 0)
            {
                MessageBox.Show(" Ingrese Cantidad ");
                return;
            }
            // % mayor a 100
            if (double.Parse(txt_Margen.Text) > 100)
            {
                MessageBox.Show(" Margen de Utilidad Mayor al 100%  ");
                return;
            }
            // margen 0
            if (double.Parse(txt_Margen.Text) <= 0)
            {
                MessageBox.Show(" Ingrese Margen de Utilidad ");
                return;
            }
            //no selecciono metodo
            if (OP_FIFO.Checked == false && OP_LIFO.Checked == false && OP_PPP.Checked == false)
            {
                MessageBox.Show("Seleccione Metodo de Costeo");
                return;
            }

            //________________________________________________________________________________________
            //Funcion precio Final devuelve el precio final a vender (costo + margen de utilidad)
            precio_final = Math.Round(PrecioFinal(elegido), 2);
            precio       = new Precio(frmSTC, this, elegido, precio_final, cantidad);

            precio.Show();
            this.Hide();

            //funcion de seleccion metodo de costeo
            double PrecioFinal(object seleccionado)
            {
                double MU = 0;

                //elegi FIFO
                if (OP_FIFO.Checked == true)
                {
                    double SelFifo = double.Parse(lbl_FIFO.Text);
                    MU = MargenUtilidadTotal(SelFifo);
                }

                //elegi LIFO
                if (OP_LIFO.Checked == true)
                {
                    double SelLifo = double.Parse(lbl_LIFO.Text);
                    MU = MargenUtilidadTotal(SelLifo);
                }

                //elegi PPP
                if (OP_PPP.Checked == true)
                {
                    double SelPPP = double.Parse(lbl_PPP.Text);
                    MU = MargenUtilidadTotal(SelPPP);
                }


                return(MU * cantidad);
            }

            //funcion de costo + margen utilidad
            double MargenUtilidadTotal(double costo)
            {
                double margen_ut = double.Parse(txt_Margen.Text);

                double total = costo + (costo * (margen_ut / 100));

                return(total);
            }
        }
Example #14
0
 //QUITAR UN PRODUCTO DEL DEPOSITO
 public void QuitarProducto(Producto_comp quit)
 {
     Deposito.Remove(quit);
 }
Example #15
0
        //CREAR NUEVO PRODUCTO
        public Producto_comp NuevoProducto(string nom, int cod_art, Proveedor prov, int cantidad, double unitario, DateTime fecha)
        {
            Producto_comp n = new Producto_comp(nom, cod_art, prov, cantidad, unitario, fecha);

            return(n);
        }