コード例 #1
0
        public static String commerce()
        {
            UpdatedCar newCar = Access.sHttp.getPostData().DeserializeObject <CommerceSessionTrans>().updatedCar;
            CommerceSessionResultTrans commerceSessionResultTrans = new CommerceSessionResultTrans();
            UpdatedCar responseCar = new UpdatedCar();

            using (var session = SessionManager.getSessionFactory().OpenSession())
                using (var transaction = session.BeginTransaction())
                {
                    CarEntity carEntity = session.Load <CarEntity>(Access.CurrentSession.ActivePersona.SelectedCar.Id);
                    carEntity.vinyls           = newCar.customCar.vinyls;
                    carEntity.paints           = newCar.customCar.paints;
                    carEntity.performanceParts = newCar.customCar.performanceParts;
                    carEntity.skillModParts    = newCar.customCar.skillModParts;
                    carEntity.visualParts      = newCar.customCar.visualParts;
                    carEntity.heatLevel        = 1;

                    responseCar.customCar     = CustomCar.getCustomCar(carEntity);
                    responseCar.durability    = carEntity.durability;
                    responseCar.heatLevel     = 1;
                    responseCar.id            = carEntity.id;
                    responseCar.ownershipType = "CustomizedCar";

                    session.Update(carEntity);
                    transaction.Commit();
                }

            commerceSessionResultTrans.updatedCar = responseCar;
            return(commerceSessionResultTrans.SerializeObject());
        }
コード例 #2
0
        public static String commerce()
        {
            CommerceSessionTrans       commerceSessionTrans       = Access.sHttp.getPostData().DeserializeObject <CommerceSessionTrans>();
            CommerceSessionResultTrans commerceSessionResultTrans = new CommerceSessionResultTrans();

            commerceSessionResultTrans.status = Basket.ShoppingCartPurchaseResult.Fail_InvalidBasket;

            Car curCar = Access.CurrentSession.ActivePersona.Cars[Access.CurrentSession.ActivePersona.CurrentCarIndex];

            UpdatedCar responseCar = new UpdatedCar();

            responseCar.customCar     = curCar.getCustomCar();
            responseCar.durability    = curCar.Durability;
            responseCar.heatLevel     = 1;
            responseCar.id            = curCar.Id;
            responseCar.ownershipType = "CustomizedCar";

            Economy economy = Economy.defineFromBasketItemTransList(commerceSessionTrans.basketTrans.basketItems);

            if (economy.canBuy())
            {
                economy.doTransaction();
                commerceSessionResultTrans.status = Basket.ShoppingCartPurchaseResult.Success;
                commerceSessionResultTrans.wallets.walletTrans = new WalletTrans()
                {
                    balance = economy.balance, currency = economy.currency
                };

                UpdatedCar newCar = commerceSessionTrans.updatedCar;
                curCar.Vinyls           = XElement.Parse(newCar.customCar.vinyls.SerializeObject());
                curCar.Paints           = XElement.Parse(newCar.customCar.paints.SerializeObject());
                curCar.PerformanceParts = XElement.Parse(newCar.customCar.performanceParts.SerializeObject());
                curCar.SkillModParts    = XElement.Parse(newCar.customCar.skillModParts.SerializeObject());
                curCar.VisualParts      = XElement.Parse(newCar.customCar.visualParts.SerializeObject());
                curCar.HeatLevel        = 1;

                responseCar.customCar = newCar.customCar;
            }
            else
            {
                commerceSessionResultTrans.status = Basket.ShoppingCartPurchaseResult.Fail_InsufficientFunds;
            }

            commerceSessionResultTrans.inventoryItems = new List <InventoryItemTrans>();
            commerceSessionResultTrans.updatedCar     = responseCar;
            return(commerceSessionResultTrans.SerializeObject());
        }