def Do(self): results = [] for pModPosition in sorted(self.pModPositions, reverse=True): cmd = CalcRemoveProjectedModuleCommand(fitID=self.fitID, position=pModPosition) results.append(self.internalHistory.submit(cmd)) for pDroneItemID in self.pDroneItemIDs: cmd = CalcRemoveProjectedDroneCommand(fitID=self.fitID, itemID=pDroneItemID, amount=self.amount) results.append(self.internalHistory.submit(cmd)) for pFighterPosition in sorted(self.pFighterPositions, reverse=True): cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=pFighterPosition) results.append(self.internalHistory.submit(cmd)) for pFitID in self.pFitIDs: cmd = CalcRemoveProjectedFitCommand(fitID=self.fitID, projectedFitID=pFitID, amount=self.amount) results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.flush() sFit = Fit.getInstance() sFit.recalc(self.fitID) sFit.fill(self.fitID) eos.db.commit() wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success
def Do(self): if self.amount > 0: cmd = CalcChangeFighterAmountCommand(fitID=self.fitID, projected=True, position=self.position, amount=self.amount) else: cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=self.position) success = self.internalHistory.submit(cmd) Fit.getInstance().recalc(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success
def Do(self): sFit = Fit.getInstance() fit = sFit.getFit(self.fitID) fighter = fit.projectedFighters[self.position] if fighter.itemID == self.newItemID: return False info = FighterInfo.fromFighter(fighter) info.itemID = self.newItemID cmdRemove = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=self.position) cmdAdd = CalcAddProjectedFighterCommand(fitID=self.fitID, fighterInfo=info) success = self.internalHistory.submitBatch(cmdRemove, cmdAdd) sFit.recalc(fit) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success
def Do(self): sFit = Fit.getInstance() fit = sFit.getFit(self.fitID) results = [] for position in sorted(self.positions, reverse=True): fighter = fit.projectedFighters[position] if fighter.itemID == self.newItemID: continue info = FighterInfo.fromFighter(fighter) info.itemID = self.newItemID cmdRemove = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=position, commit=False) cmdAdd = CalcAddProjectedFighterCommand(fitID=self.fitID, fighterInfo=info, commit=False) results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd)) success = any(results) eos.db.commit() sFit.recalc(fit) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success