private void GetRepuestos() { _repuestosOR.Clear(); foreach (long IdOrdenreparacion in _ordenReparacionInstancias.Keys) { ArrayList instancias = (ArrayList)_ordenReparacionInstancias[IdOrdenreparacion]; foreach (long IdIsntanciaOrdenReparacion in instancias) { RepuestosOrdenreparacion repuestos = new RepuestosOrdenreparacion(false); repuestos.IdOrdenReparacion = IdOrdenreparacion; repuestos.IdInstanciaOrdenReparacion = IdIsntanciaOrdenReparacion; /*Anterior - German */ //DataSet dataRepuestos = mz.erp.businessrules.st_RepuestoOrdenReparacion.GetList(long.MinValue,repuestos.IdInstanciaOrdenReparacion, null); DataSet dataRepuestos = mz.erp.businessrules.st_RepuestoOrdenReparacion.GetListByIdInstanciaOrdenReparacion(repuestos.IdInstanciaOrdenReparacion); foreach (DataRow row in dataRepuestos.Tables[0].Rows) { Repuesto rep = new Repuesto(); rep.IdProducto = Convert.ToString(row["IdProducto"]); rep.CantidadEntregada = Convert.ToDecimal(row["Entregado"]); rep.CantidadPedida = Convert.ToDecimal(row["Cantidad"]); rep.CantidadReservada = Convert.ToDecimal(row["Reservado"]); rep.IdRepuestoOrdenReparacion = Convert.ToInt64(row["IdRepuestoOrdenReparacion"]); if (rep.IdProducto != String.Empty) { repuestos.Add(rep); } } _repuestosOR.Add(repuestos.IdInstanciaOrdenReparacion, repuestos); } } }
private bool EstaReservado(ItemComprobante item, long IdOrdenReparacion, long IdInstanciaOR) { RepuestosOrdenreparacion repuestos = (RepuestosOrdenreparacion)_repuestosOR[IdInstanciaOR]; foreach (Repuesto rep in repuestos) { if (rep.IdProducto.Equals(item.IdProducto) && repuestos.IdOrdenReparacion.Equals(IdOrdenReparacion) && item.CantidadUnidadOrigen.Equals(rep.CantidadEntregada + rep.CantidadReservada)) { return(rep.CantidadReservada > 0); } } return(false); }
private void EliminarRepuesto(ItemComprobante item, long IdOrdenReparacion, long IdInstanciaOR) { RepuestosOrdenreparacion repuestos = (RepuestosOrdenreparacion)_repuestosOR[IdInstanciaOR]; Repuesto aux = null; foreach (Repuesto rep in repuestos) { if (rep.IdProducto.Equals(item.IdProducto) && repuestos.IdOrdenReparacion.Equals(IdOrdenReparacion) && item.CantidadUnidadOrigen.Equals(rep.CantidadEntregada + rep.CantidadReservada)) { aux = rep; break; } } if (aux != null) { repuestos.Remove(aux); } }