public override Returned Execute(Ambit ambit) { var returned = new Returned(); if (this.type == 1) { returned = new Returned(int.Parse(this.value.ToString()), DataType.INTEGER); } else if (this.type == 2) { returned = new Returned(this.value.ToString(), DataType.STRING); } else if (this.type == 3) { if (this.value.ToString() == "false") { returned = new Returned(false, DataType.BOOLEAN); } else { returned = new Returned(true, DataType.BOOLEAN); } } else if (this.type == 4) { returned = new Returned(double.Parse(this.value.ToString()), DataType.REAL); } else if (this.type == 7) { returned = new Returned(this.value.ToString(), DataType.IDENTIFIER); } return(returned); }
public IActionResult Return(Guid id, [FromBody] Returned returner) { logger.LogInformation($"Looking for timesheet {id}"); Timecard timecard = repository.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Submitted) { return(StatusCode(409, new InvalidStateError() { })); } var transition = new Transition(returner, TimecardStatus.Draft); logger.LogInformation($"Adding submittal {transition}"); timecard.Transitions.Add(transition); repository.Update(timecard); return(Ok(transition)); } else { return(NotFound()); } }
public override object Execute(Ambit ambit) { Identifier buscar = new Identifier(); //BUSCA LA VARIABLE SI NO HA SIDO DECLARADA if (!ambit.Ambit_name_inmediato.Equals("Function") && !ambit.Ambit_name_inmediato.Equals("Procedure")) { buscar = ambit.getVariable(id); } //SIGFINICA QUE ES UNA DECLARACION EN FUNCION else { buscar = ambit.getVariableFunctionInAmbit(id); } if (buscar.IsNull) { try { Returned val = this.value.Execute(ambit); //VERIFICA QUE NO HAYA ERROR if (val.getDataType == DataType.ERROR) { return(null); } if (this.type == DataType.CONST) { ambit.save(this.id, val.Value, val.getDataType, true, true, "Constante"); return(val.Value); } else { if (val.getDataType == this.type) { ambit.save(this.id, val.Value, val.getDataType, false, isAssigned, "Variable"); return(val.Value); } else { set_error("El tipo " + val.getDataType + " no es asignable con " + this.type.ToString(), row, column); return(null); } } } catch (Exception) { } } else { set_error("La variable '" + id + "' ya fue declarada", row, column); return(null); } return(0); }
public CustomEntry() { InitializeComponent(); ReturnCommand = new Command(() => { Returned?.Invoke(this, new EntryEventArgs(Name)); }); PwEntry.Focused += (sender, e) => AnimateError(false); BindingContext = this; }
public override Returned Execute(Ambit ambit) { var result = new Returned(); var operacion = GetOpLogical(this.type); if (operacion != OpLogical.NOT) { var varIz = this.left.Execute(ambit); var valDer = right.Execute(ambit); if (varIz.Value is bool && valDer.Value is bool) { var izq = (bool)(varIz.Value); switch (operacion) { case OpLogical.AND: var der = (bool)(valDer.Value); result = new Returned((izq && der), DataType.BOOLEAN); break; case OpLogical.OR: var valDere = right.Execute(ambit); var dere = (bool)(valDere.Value); result = new Returned((izq || dere), DataType.BOOLEAN); break; default: break; } } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + varIz.getDataType + " con " + valDer.getDataType, 0, 0); return(new Returned()); } } else { var varIz = this.left.Execute(ambit); if (varIz.Value is bool) { var izq = (bool)(varIz.Value); result = new Returned(!(izq), DataType.BOOLEAN); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado al tipo " + varIz.getDataType, 0, 0); return(new Returned()); } } return(result); }
public override void Update(bool[] pressed) { select.Update(); select.Position = new Vector2(selects[(int)pausetype].Position.X - 4, selects[(int)pausetype].Position.Y - 4); if (pressed[(int)ButtonType.Up]) { ChangePauseType(-1); Sound.Play(soundfilenames[0], -1000); } else if (pressed[(int)ButtonType.Down]) { ChangePauseType(1); Sound.Play(soundfilenames[0], -1000); } else if (pressed[(int)ButtonType.Cross] || pressed[(int)ButtonType.Start]) { if (Resumed != null) { Resumed.Invoke(this, EventArgs.Empty); } } else if (pressed[(int)ButtonType.Circle]) { if (pausetype == PauseType.Resume) { if (Resumed != null) { Resumed.Invoke(this, EventArgs.Empty); } } else if (pausetype == PauseType.Retry) { if (Retryed != null) { Retryed.Invoke(this, EventArgs.Empty); } } else if (pausetype == PauseType.Return) { if (Returned != null) { Returned.Invoke(this, EventArgs.Empty); } } } }
public void Interact() { // Player's Animation State Change // Lightbulb GameObject destroyed PlayerMovement player = FindObjectOfType <PlayerMovement>(); Transform lightbulb; if (player == null) { return; } if (noLightbulb) { lightbulb = player.transform.GetChild(0).GetChild(0); lightbulb.SetParent(transform); lightbulb.SetAsFirstSibling(); lightbulb.localPosition = Vector3.zero; lightbulb.localRotation = Quaternion.identity; lightbulb.localScale = Vector3.one; noLightbulb = false; Returned?.Invoke(); } else { lightbulb = transform.GetChild(0); lightbulb.SetParent(player.transform.GetChild(0)); lightbulb.localPosition = Vector3.zero; lightbulb.localRotation = Quaternion.identity; lightbulb.localScale = Vector3.one; noLightbulb = true; Removed?.Invoke(); } }
public ScimTypeAttributeDefinitionBuilder <T, TAttribute> SetReturned(Returned returned) { Returned = returned; return(this); }
private void OnReturned(BrokerReturnedEventArgs e) { Returned?.Invoke(this, e); }
public override Returned Execute(Ambit ambit) { var valIz = this.left.Execute(ambit); var valDer = this.right.Execute(ambit); TablaTipo tablaTipo = new TablaTipo(); var res = tablaTipo.getTipoRel(valIz.getDataType, valDer.getDataType); if (res == DataType.ERROR) { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, 0, 0); return(new Returned()); } var result = new Returned(); var op = GetType(this.type); switch (op) { case OpRelational.EQUALS: var equals = (bool)(valIz.Value.ToString() == valDer.Value.ToString()); result = new Returned(equals, DataType.BOOLEAN); break; case OpRelational.DISCTINCT: var distict = (bool)(valIz.Value.ToString() != valDer.Value.ToString()); result = new Returned(distict, DataType.BOOLEAN); break; case OpRelational.LESS: var less = (bool)(double.Parse(valIz.Value.ToString()) < double.Parse(valDer.Value.ToString())); result = new Returned(less, DataType.BOOLEAN); break; case OpRelational.LESS_EQUALS: var lessE = (bool)(double.Parse(valIz.Value.ToString()) <= double.Parse(valDer.Value.ToString())); result = new Returned(lessE, DataType.BOOLEAN); break; case OpRelational.HIGHER: var higher = (bool)(double.Parse(valIz.Value.ToString()) > double.Parse(valDer.Value.ToString())); result = new Returned(higher, DataType.BOOLEAN); break; case OpRelational.HIGHER_EQUALS: var higherE = (bool)(double.Parse(valIz.Value.ToString()) >= double.Parse(valDer.Value.ToString())); result = new Returned(higherE, DataType.BOOLEAN); break; default: break; } return(result); }
protected void OnReturn() { Returned?.Invoke(this, EventArgs.Empty); }
/// <summary> /// 打印购物凭证 /// </summary> /// <param name="numb">销售编号</param> /// <returns></returns> public ActionResult PrintReceipt(int Id) { Returned returned = _returnedContract.Returneds.FirstOrDefault(c => c.Id == Id); return(PartialView(returned)); }
public override Returned Execute(Ambit ambit) { var varIz = new Returned(); var valDer = new Returned(); var arithmetic_string = ""; var texto_original = ""; if ((this.left is CallFunction) && !(this.right is CallFunction)) { varIz = this.left.Execute(ambit); valDer = this.right.Execute(ambit); arithmetic_string = varIz.Texto_anterior + valDer.Texto_anterior; texto_original = varIz.Valor_original + type + valDer.Valor_original; } else if (!(this.left is CallFunction) && (this.right is CallFunction)) { valDer = this.right.Execute(ambit); varIz = this.left.Execute(ambit); arithmetic_string = valDer.Texto_anterior + varIz.Texto_anterior; texto_original = varIz.Valor_original + type + valDer.Valor_original; } else { varIz = this.left.Execute(ambit); valDer = this.right.Execute(ambit); arithmetic_string = varIz.Texto_anterior + valDer.Texto_anterior; texto_original = varIz.Valor_original + type + valDer.Valor_original; } var generator = C3DController.Instance; if (varIz.getDataType == DataType.INTEGER || varIz.getDataType == DataType.REAL) { if (valDer.getDataType == DataType.INTEGER || valDer.getDataType == DataType.REAL) { var temp = generator.newTemporal(); arithmetic_string += generator.addExpression(temp, varIz.getValue(), valDer.getValue(), type, cant_tabs); if (valDer.getDataType == DataType.REAL || varIz.getDataType == DataType.REAL) { return(new Returned(temp, DataType.REAL, true, "", "", arithmetic_string, texto_original, 0, 0)); } return(new Returned(temp, DataType.INTEGER, true, "", "", arithmetic_string, texto_original, 0, 0)); } set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + varIz.getDataType + " con " + valDer.getDataType, row, column); return(new Returned()); } else if (varIz.getDataType == DataType.STRING && valDer.getDataType == DataType.STRING) { arithmetic_string += generator.addExpression("T9", varIz.getValue(), "", "", cant_tabs); arithmetic_string += generator.addExpression("T10", valDer.getValue(), "", "", cant_tabs); arithmetic_string += generator.save_code("native_concat_str();", cant_tabs); return(new Returned("T12", DataType.STRING, true, "", "", arithmetic_string, texto_original, 0, 0)); } set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + varIz.getDataType + " con " + valDer.getDataType, row, column); return(new Returned()); }
public override Returned Execute(Ambit ambit) { var relational_Str = ""; var valIz = this.left.Execute(ambit); relational_Str += valIz.Texto_anterior; var result = new Returned(); var generator = C3DController.Instance; var op = GetType(this.type); switch (op) { case OpRelational.EQUALS: relational_Str += generator.save_comment("Empieza EQUALS", cant_tabs, false); //VERIFICA SI EL IZQUIERDO ES REAL O INT if (valIz.getDataType == DataType.REAL || valIz.getDataType == DataType.INTEGER) { var valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; if (valDer.getDataType == DataType.INTEGER || valDer.getDataType == DataType.REAL) { if (this.TrueLabel == "") { this.TrueLabel = generator.newLabel(); } if (this.FalseLabel == "") { this.FalseLabel = generator.newLabel(); } ambit.free_temp(valIz.getValue()); ambit.free_temp(valDer.getValue()); relational_Str += generator.add_If(valIz.getValue(), valDer.getValue(), "==", this.TrueLabel, cant_tabs); relational_Str += generator.add_Goto(this.FalseLabel, cant_tabs); relational_Str += generator.save_comment("Termina EQUALS", cant_tabs, true); result = new Returned("", DataType.BOOLEAN, false, this.TrueLabel, this.FalseLabel, relational_Str, "", 0, 0); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, row, column); return(result); } } //VERIFICA SI EL IZQUIERDO ES BOOLEAN else if (valIz.getDataType == DataType.BOOLEAN) { var trueLabel = generator.newLabel(); var falseLabel = generator.newLabel(); relational_Str += generator.addLabel(valIz.TrueLabel, cant_tabs); this.right.TrueLabel = trueLabel; this.right.FalseLabel = falseLabel; var valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; relational_Str += generator.addLabel(valIz.FalseLabel, cant_tabs); this.right.TrueLabel = falseLabel; this.right.FalseLabel = trueLabel; valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; //VERIFICA QUE EL DERECHO SEA BOOLEAN if (valDer.getDataType == DataType.BOOLEAN) { relational_Str += generator.save_comment("Termina EQUALS", cant_tabs, true); ambit.free_temp(valIz.getValue()); ambit.free_temp(valDer.getValue()); result = new Returned("", DataType.BOOLEAN, false, trueLabel, falseLabel, relational_Str, "", 0, 0); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, row, column); return(result); } } ////VERIFICA QUE EL IZQUIERDO SEA STRING else if (valIz.getDataType == DataType.STRING) { generator.Native_equals = true; var valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; if (valDer.getDataType == DataType.STRING) { if (this.TrueLabel == "") { this.TrueLabel = generator.newLabel(); } if (this.FalseLabel == "") { this.FalseLabel = generator.newLabel(); } var tempo_izq = valIz.Value.ToString(); var tempo_der = valDer.Value.ToString(); relational_Str += generator.addExpression("T3", tempo_izq, "", "", cant_tabs); relational_Str += generator.addExpression("T4", tempo_der, "", "", cant_tabs); relational_Str += generator.addExpression("T8", "native_cmp_str()", "", "", cant_tabs); relational_Str += generator.add_If("T8", "1", "==", this.TrueLabel, cant_tabs); relational_Str += generator.add_Goto(this.FalseLabel, cant_tabs); ambit.free_temp(tempo_der); ambit.free_temp(tempo_izq); relational_Str += generator.save_comment("Termina EQUALS", cant_tabs, true); result = new Returned("", DataType.BOOLEAN, false, this.TrueLabel, this.FalseLabel, relational_Str, "", 0, 0); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, row, column); return(result); } } else { set_error("Operador '" + this.type + "' NO puede ser aplicado al tipo " + valIz.getDataType, row, column); return(result); } break; case OpRelational.DISCTINCT: relational_Str += generator.save_comment("Empieza DISTICT", cant_tabs, false); //VERIFICA QUE EL IZQUIERDO ESA REAL O INTEGER if (valIz.getDataType == DataType.REAL || valIz.getDataType == DataType.INTEGER) { var valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; if (valDer.getDataType == DataType.INTEGER || valDer.getDataType == DataType.REAL) { if (this.TrueLabel == "") { this.TrueLabel = generator.newLabel(); } if (this.FalseLabel == "") { this.FalseLabel = generator.newLabel(); } ambit.free_temp(valIz.getValue()); ambit.free_temp(valDer.getValue()); relational_Str += generator.add_If(valIz.getValue(), valDer.getValue(), "!=", this.TrueLabel, cant_tabs); relational_Str += generator.add_Goto(this.FalseLabel, cant_tabs); relational_Str += generator.save_comment("Termina DISTICT", cant_tabs, true); result = new Returned("", DataType.BOOLEAN, false, this.TrueLabel, this.FalseLabel, relational_Str, "", 0, 0); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, row, column); return(result); } } else if (valIz.getDataType == DataType.BOOLEAN) { var trueLabel = generator.newLabel(); var falseLabel = generator.newLabel(); relational_Str += generator.addLabel(valIz.TrueLabel, cant_tabs); this.right.TrueLabel = falseLabel; this.right.FalseLabel = trueLabel; var valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; relational_Str += generator.addLabel(valIz.FalseLabel, cant_tabs); this.right.TrueLabel = trueLabel; this.right.FalseLabel = falseLabel; valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; //VERIFICA QUE EL DERECHO SEA BOOLEAN if (valDer.getDataType == DataType.BOOLEAN) { ambit.free_temp(valIz.getValue()); ambit.free_temp(valDer.getValue()); relational_Str += generator.save_comment("Termina DISTICT", cant_tabs, true); result = new Returned("", DataType.BOOLEAN, false, trueLabel, falseLabel, relational_Str, "", 0, 0); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, row, column); return(result); } } else { set_error("Operador '" + this.type + "' NO puede ser aplicado al tipo " + valIz.getDataType, row, column); return(result); } break; case OpRelational.LESS: case OpRelational.LESS_EQUALS: case OpRelational.HIGHER: case OpRelational.HIGHER_EQUALS: relational_Str += generator.save_comment("Empieza " + op, cant_tabs, false); if (valIz.getDataType == DataType.REAL || valIz.getDataType == DataType.INTEGER) { var valDer = this.right.Execute(ambit); relational_Str += valDer.Texto_anterior; if (valDer.getDataType == DataType.REAL || valDer.getDataType == DataType.INTEGER) { if (this.TrueLabel == "") { this.TrueLabel = generator.newLabel(); } if (this.FalseLabel == "") { this.FalseLabel = generator.newLabel(); } ambit.free_temp(valIz.getValue()); ambit.free_temp(valDer.getValue()); relational_Str += generator.add_If(valIz.getValue(), valDer.getValue(), this.type, this.TrueLabel, cant_tabs); relational_Str += generator.add_Goto(this.FalseLabel, cant_tabs); relational_Str += generator.save_comment("Termina " + op, cant_tabs, true); result = new Returned("", DataType.BOOLEAN, false, this.TrueLabel, this.FalseLabel, relational_Str, "", 0, 0); } else { set_error("Operador '" + this.type + "' NO puede ser aplicado a los tipos " + valIz.getDataType + " con " + valDer.getDataType, row, column); return(result); } } else { set_error("Operador '" + this.type + "' NO puede ser aplicado al tipo " + valIz.getDataType, row, column); return(result); } break; default: return(result); } return(result); }