Ejemplo n.º 1
0
        public ActionResult Buy([FromBody] BuyInput userParam)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid body given"));
            }

            var drink = dbcontext.Drink.FirstOrDefault(d => d.Id == userParam.DrinkId);

            if (drink == null)
            {
                return(NotFound("Getränk nicht gefunden"));
            }

            var rfid = dbcontext.Rfid.Include(x => x.User).FirstOrDefault(r => r.rfId == userParam.RfId);

            if (rfid == null)
            {
                return(NotFound("Rfid nicht gefunden"));
            }

            var user = rfid.User;

            if (user == null)
            {
                return(NotFound("User nicht gefunden"));
            }

            var proceed = new Proceed {
                UserId = user.Id, DrinkId = drink.Id, Price = drink.Price
            };

            if (drink.Quantity == 0)
            {
                return(BadRequest("Can not get drink since there should be no more drinks available"));
            }

            if (user.Balance < drink.Price)
            {
                return(BadRequest("Balance is insufficient"));
            }

            dbcontext.Proceed.Add(proceed);
            user.Balance   -= drink.Price;
            user.Balance    = Math.Round(user.Balance, 2);
            drink.Quantity -= 1;

            dbcontext.Update(user);
            dbcontext.Update(drink);
            dbcontext.SaveChanges();

            return(Ok(new Order()
            {
                user = user.UserName,
                drink = drink.Name,
                price = drink.Price
            }));
        }
Ejemplo n.º 2
0
        public void AddtoCart()
        {
            Actions action = new Actions(driver);

            action.MoveToElement(ProductImg).Perform();
            Addtocart.Click();
            Thread.Sleep(10000);
            Proceed.Click();
            IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;

            executor.ExecuteScript("arguments[0].click();", Proceed);
        }
Ejemplo n.º 3
0
        public void ElementHandle(XmppStream stream, Element element, XmppHandlerContext context)
        {
            var tcpXmppListener = (TcpXmppListener)(context.XmppGateway.GetXmppListener("Jabber Listener"));

            if (!stream.Authenticated && tcpXmppListener.StartTls != XmppStartTlsOption.None && tcpXmppListener.Certificate != null)
            {
                var connection = tcpXmppListener.GetXmppConnection(stream.ConnectionId) as TcpXmppConnection;
                if (connection != null)
                {
                    var proceed = new Proceed();
                    context.Sender.SendTo(stream, proceed);
                    connection.StartTls(tcpXmppListener.Certificate);
                    return;
                }
            }
            var failure = new Failure();

            context.Sender.SendToAndClose(stream, failure);
        }
Ejemplo n.º 4
0
        public void Build()
        {
            var type = method.DeclaringType;

            genericType = type;
            if (type.HasGenericParameters)
            {
                genericType = type.MakeGenericInstanceType(type.GenericParameters.ToArray());
            }

            var proceedClassName = weaver.GenerateUniqueName(method, extensionPoint.AttributeType, "Proceed");

            proceedStruct = new TypeDefinition(method.DeclaringType.Namespace, proceedClassName, TypeAttributes.NestedPrivate | WeaverContext.Struct, weaver.Context.ValueType);

            proceedStructConstructor = null;
            if (!method.IsStatic)
            {
                instanceField = new FieldDefinition("$this", FieldAttributes.Private, genericType);
                proceedStruct.Fields.Add(instanceField);

                proceedStructConstructor = new MethodDefinition(".ctor", WeaverContext.Constructor, weaver.TypeSystem.VoidReference);
                proceedStructConstructor.Parameters.Add(new ParameterDefinition(genericType));
                proceedStructConstructor.Body            = new MethodBody(proceedStructConstructor);
                proceedStructConstructor.Body.InitLocals = true;
                proceedStructConstructor.Body.Emit(il =>
                {
                    il.Emit(OpCodes.Ldarg_0);
                    il.Emit(OpCodes.Ldarg_1);
                    il.Emit(OpCodes.Stfld, instanceField);
                    il.Emit(OpCodes.Ret);
                });
                proceedStruct.Methods.Add(proceedStructConstructor);
                proceedStructConstructorReference = proceedStructConstructor;
            }
            else
            {
                proceedStructConstructorReference = null;
            }

            method.DeclaringType.CopyGenericParameters(proceedStruct);
            method.CopyGenericParameters(proceedStruct);
            method.DeclaringType.NestedTypes.Add(proceedStruct);

            var original = method.MoveImplementation($"{method.Name}$Original");

            proceedStruct.Methods.Add(Proceed);

            ProceedReference = Proceed;
            TypeReference genericProceedType = proceedStruct;

            if (type.HasGenericParameters || method.HasGenericParameters)
            {
                genericProceedType = proceedStruct.MakeGenericInstanceType(type.GenericParameters.Concat(method.GenericParameters).ToArray());
                ProceedReference   = Proceed.Bind((GenericInstanceType)genericProceedType);
                proceedStructConstructorReference = proceedStructConstructor?.Bind((GenericInstanceType)genericProceedType);
            }
            proceedStructType = genericProceedType;

            genericProceedTargetMethod = original;

            if (type.HasGenericParameters || method.HasGenericParameters)
            {
                var genericMethodArguments = proceedStruct.GenericParameters.Skip(type.GenericParameters.Count).ToArray();
                genericProceedTargetMethod = genericProceedTargetMethod.BindMethod(genericType, genericMethodArguments);
            }
        }
 public XmppHandlerResult ProcessElement(Proceed element, XmppSession session, XmppHandlerContext context)
 {
     ((IXmppTlsConnection)session.Connection).TlsStart(certificate);
     return(Void());
 }
Ejemplo n.º 6
0
 public void CleanValues()
 {
     Quantity = Quantity.CleanValueTo8Decimals();
     Proceed  = Proceed.CleanValueTo8Decimals();
     Cost     = Cost.CleanValueTo8Decimals();
 }