//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); }
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(); }
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; }
//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"); }
//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); }
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(); }
//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()); }
//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"); }
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(); }
//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); } }
//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); }
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(); }
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); } }
//QUITAR UN PRODUCTO DEL DEPOSITO public void QuitarProducto(Producto_comp quit) { Deposito.Remove(quit); }
//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); }