//Guardar repuesto public string Guardar() { CheckFiles(); int idAux = ObtenerId(); string msg = string.Empty; try { using (BinaryWriter bw = new BinaryWriter(new FileStream(DIR + ARCHIVO, FileMode.Append))) { bw.Write(idAux); bw.Write(this.Codigo); bw.Write(this.Descripcion); bw.Write(this.PrecioCompra); bw.Write(this.PrecioVenta); bw.Write(this.cantidad); bw.Write(this.IdReparacion); } //Busco el repuesto del inventario y actualizo su stock con la cantidad del repuesto utilizado clsRepuesto repuesto = clsRepuesto.Buscar(this.codigo); repuesto.Stock -= this.cantidad; msg = repuesto.Actualizar(); } catch (Exception ex) { msg = "Error interno. " + ex.Message; } return(msg); }
//Obtiene listado de repuestos public static List <clsRepuesto> Listar() { CheckFiles(); clsRepuesto aux; List <clsRepuesto> repuestos = new List <clsRepuesto>(); int auxid; try { using (BinaryReader br = new BinaryReader(new FileStream(DIR + ARCHIVO, FileMode.Open))) { while (br.PeekChar() != -1) { auxid = br.ReadInt32(); aux = new clsRepuesto(br.ReadString(), br.ReadString(), br.ReadDouble(), br.ReadDouble(), br.ReadInt32()); aux.Id = auxid; repuestos.Add(aux); } } return(repuestos); } catch (Exception ex) { MessageBox.Show("Ha ocurrio un error. " + ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information); return(repuestos); } }
//Eliminar repuesto public static string Eliminar(int id) { CheckFiles(); List <clsRepuestoUtilizado> repuestosUtilizados = clsRepuestoUtilizado.Listar(); string msg = string.Empty; try { //para actualizar a posterior el stock clsRepuestoUtilizado repEliminado = clsRepuestoUtilizado.Buscar(id); using (BinaryWriter bw = new BinaryWriter(new FileStream(DIR + ARCHIVO, FileMode.Create))) { foreach (clsRepuestoUtilizado repuesto in repuestosUtilizados) { if (repuesto.Id == id) { continue; } bw.Write(repuesto.Id); bw.Write(repuesto.Codigo); bw.Write(repuesto.Descripcion); bw.Write(repuesto.PrecioCompra); bw.Write(repuesto.precioVenta); bw.Write(repuesto.cantidad); bw.Write(repuesto.IdReparacion); } } //Busco el repuesto utilizado a eliminar y lo utilizo para actualizar el stock del inventario clsRepuesto rep = clsRepuesto.Buscar(repEliminado.Codigo); rep.Stock += repEliminado.Cantidad; rep.Actualizar(); } catch (Exception ex) { return("Ha ocurrido un error. " + ex.Message); } return(msg); }