public void CheckCurrentData()
 {
     if(center.centeredObject != null)
         CurrentPointDriver = center.centeredObject.GetComponent<CardInfo>();
     currentContent.text = CurrentPointDriver.config.CardName + "'s ID is " + CurrentPointDriver.config.ID + "SPACE ENIGNEER";
     AddToCurrentValueCanvas();
 }
예제 #2
0
파일: CardManager.cs 프로젝트: roaet/LD28
    public CardManager(string loadSource)
    {
        m_cards = new List<CardInfo>();
        m_deck = new Deck(this);
        TextAsset json = (TextAsset)Resources.Load(loadSource, typeof(TextAsset));
        if(!json) {
            Debug.LogError("Couldn't find: " + loadSource);
        }
        string content = json.text;
        Debug.Log ("Created card manager");
        JSONNode cards = JSON.Parse(content);
        int cardCount = cards["cardCount"].AsInt;
        Debug.Log ("There are  " + cardCount + " cards");
        for(int i = 0; i < cardCount; i++) {
            CardInfo cardInfo = new CardInfo(cards["cards"][i]);
            m_cards.Add(cardInfo);
        }
        Debug.Log("Loaded " + m_cards.Count + " cards");

        json = (TextAsset)Resources.Load("deck", typeof(TextAsset));
        if(!json) {
            Debug.LogError("Couldn't find: " + loadSource);
        }
        content = json.text;
        JSONNode deck = JSON.Parse(content);
        m_deck.LoadDeck(deck);
    }
예제 #3
0
 public void Init(CardInfo info, int idx)
 {
     mIdx = idx;
     mCardInfo = info;
     mSkillEvent = new SkillsetListEvent(ReceivedSkill);
     NetMgr.SkillsetList(mSkillEvent);
 }
예제 #4
0
 public void Init()
 {
     mIdx = 0;
     mCardInfo = null;
     mSkillEvent = new SkillsetListEvent(ReceivedSkill);
     NetMgr.SkillsetList(mSkillEvent);
 }
예제 #5
0
    public void SetCardInfo(CardInfo effectInfo)
    {
        string sEffectName = effectInfo.cardName;

        if (m_dicCardInfo.ContainsKey(sEffectName))
        {
            m_dicCardInfo[sEffectName] = effectInfo;

            if (m_tabFile != null)
            {
                TabData tabData = effectInfo.SaveAsTabData();
                m_tabFile.SetData(tabData.DataTable, sEffectName);
            }
        }
        else
        {
            m_dicCardInfo.Add(sEffectName, effectInfo);

            if (m_tabFile != null)
            {
                TabData tabData = effectInfo.SaveAsTabData();
                m_tabFile.AddData(tabData.DataTable);
            }
        }
    }
예제 #6
0
 public void Init(CardInfo targetCard)
 {
     mTargetCard = targetCard;
     transform.gameObject.SetActive(true);
     transform.localPosition = new Vector3(2000f, 2000f);
     mCardEvent = new GetCardInvenEvent(ReceivedCard);
     NetMgr.GetCardInven(mCardEvent);
 }
    public CardRankUpRequest(CardInfo targetCard, CardInfo feedingCard)
    {
        Add ("memSeq", UserMgr.UserInfo.memSeq);
        Add ("itemMain", targetCard.itemSeq);
        Add ("itemSub", feedingCard.itemSeq);

        mDic = this;
    }
    public OffSkillRequest(CardInfo card, SkillsetInfo skillset, int slot)
    {
        Add ("memSeq", UserMgr.UserInfo.memSeq);
        Add ("cardId", card.itemSeq);
        Add ("skillId", skillset.itemSeq);
        Add ("slotNo", slot);

        mDic = this;
    }
        public List<AtomicChange> SetCard(int index, CardInfo cardInfo)
        {
            m_cardInfos[index] = cardInfo;

            var changeList = new List<AtomicChange>();
            changeList.Add(new AtomicChange(index, cardInfo, ChangeType.DataUpdate));
            finalizeChangeList(changeList);
            return changeList;
        }
    public CardLevelUpRequest(CardInfo targetCard, List<CardInfo> feedingCards)
    {
        Add ("memSeq", UserMgr.UserInfo.memSeq);
        Add ("itemMain", targetCard.itemSeq);
        string feeds = "";
        foreach(CardInfo info in feedingCards)
            feeds += info.itemSeq + ",";
        Add ("itemSub", feeds);

        mDic = this;
    }
예제 #11
0
    public void LoadFromFile()
    {
        m_tabFile = new TxtTabFile();
        m_tabFile.ReadFromTxt("Data/CardList");

        foreach (int id in m_tabFile.GetAllIDs())
        {
            TabData tabData = new TabData(m_tabFile.GetDataByID(id));
            CardInfo effInfo = new CardInfo();
            effInfo.LoadFromTabData(tabData);
            m_dicCardInfo.Add(effInfo.cardName, effInfo);
        }
    }
        public Visa(ScenarioMain simulator)
            : base(simulator)
        {
            CardInfo ci;

            ci = new CardInfo();
            ci.CreditLimit = 200.0;
            ci.CumulatedAmount = 0;
            ci.Name = "John Doe";
            ci.Number = "12345";

            _creditCards = new CardInfo[] { ci };
        }
예제 #13
0
        public Card(CardInfo info)
        {
            Index = 0;
            Info = info;
            Selected = false;
            mouseIn = false;

            Input.MouseButton[Mouse.Button.Left] = LeftMouseButton;
            Input.MouseMove = args =>
            {
                mouseIn = BoundingBox.Contains(args.Position.X, args.Position.Y);
                return false;
            };
        }
예제 #14
0
파일: Card.cs 프로젝트: roaet/LD28
 public void InitializeCard(CardInfo info)
 {
     m_info = info;
     Sprite[] textures = Resources.LoadAll<Sprite>("images/cards");
     string sprite = info.sprite;
     foreach(Sprite s in textures) {
         if(s.name == sprite) {
             m_sprite.sprite = s;
             break;
         }
     }
     if(m_toolTip != null) {
         m_toolTip.text = m_info.tip;
         m_toolTip.isEnabled = true;
     }
 }
예제 #15
0
    public void Init(GetCardInvenEvent cardEvent, GetMailEvent mailEvent)
    {
        transform.gameObject.SetActive(true);
        transform.FindChild("Top").FindChild("Cards").FindChild("LblCardsV").GetComponent<UILabel>().text
            = cardEvent.Response.data.Count+" / "+UserMgr.LobbyInfo.userInvenOfCard;

        //		transform.FindChild("Top").FindChild("Skills").FindChild("LblSkillsV").GetComponent<UILabel>().text
        //			= 0+"";

        mCardEvent = cardEvent;
        mMailEvent = mailEvent;

        mList = cardEvent.Response.data;
        foreach(CardInfo cardInfo in mList)
            cardInfo.mType = CardInfo.INVEN_TYPE.CARD;

        for(int i = 0; i < mailEvent.Response.data.Count; i++){
            Mailinfo mailInfo = mailEvent.Response.data[i];
            if(mailInfo.mailType == 1){
                CardInfo item = new CardInfo();
                item.mType = CardInfo.INVEN_TYPE.PACK;
                item.mMailinfo = mailInfo;
                mList.Insert(0, item);
            }
        }

        int listCnt = mList.Count;

        if(UserMgr.LobbyInfo.userInvenOfCard < UserMgr.LobbyInfo.maxInvenOfCard
           && cardEvent.Response.data.Count > UserMgr.LobbyInfo.userInvenOfCard){
            CardInfo expand = new CardInfo();
            expand.mType = CardInfo.INVEN_TYPE.EXPAND;
            mList.Insert(UserMgr.LobbyInfo.userInvenOfCard, expand);
            listCnt = UserMgr.LobbyInfo.userInvenOfCard +1;
        }

        transform.FindChild("Body").FindChild("Draggable").GetComponent<UIDraggablePanel2>().RemoveAll();
        transform.FindChild("Body").FindChild("Draggable").GetComponent<UIDraggablePanel2>()
            .Init(listCnt, delegate (UIListItem item, int index){
                InitInvenItem(item, index);
        });
        transform.FindChild("Body").FindChild("Draggable").GetComponent<UIDraggablePanel2>().ResetPosition();
    }
예제 #16
0
    public static Texture2D BuildTexture(TextureInfo[] texInfos,
                                              int[] size_mesh,
                                              CardInfo cardInfo)
    {
        //TextureInfo texInfo = texInfos[0];
        int size_x = size_mesh[0];
        int size_z = size_mesh[1];

        // HARD: Using the first textures resolution (for now) assuming all will be same (for now)
        int tileResolution = texInfos[0].resolution;
        int texWidth = size_x * tileResolution;
        int texHeight = size_z * tileResolution;
        Texture2D texture = new Texture2D(texWidth, texHeight);

        for (int y = 0; y < size_z; y++)
        {
            for (int x = 0; x < size_x; x++)
            {
                // Creating the color array, p
                // Color[] p = texInfo.texColors[0];

                Color[] p;
                if (cardInfo != null)
                    p = getCardColors(x, y, size_x, size_z, texInfos, cardInfo);
                else
                    p = getColors(x, y, size_x, size_z, texInfos);

                // Setting the texture's pixels using the color array, p
                texture.SetPixels(x * tileResolution,
                                  y * tileResolution,
                                  tileResolution,
                                  tileResolution,
                                  p);
            }
        }

        texture.filterMode = FilterMode.Point;
        texture.wrapMode = TextureWrapMode.Clamp;
        texture.Apply();

        return texture;
    }
예제 #17
0
    private void OnClick_Card( CardInfo card )
    {
        if( card.Data == cardsTarget[0] )
        {
            card.Display.GameObject.GetComponent<Image>().color = new Color( 0.0f, 0.0f, 0.0f, 0.0f );
            card.Display.GameObject.GetComponent<Button>().interactable = false;
            card.Display.GameObject.GetComponentInChildren<Text>().text = "";

            cardsTarget.RemoveAt( 0 );
            if( cardsTarget.Count == 0 )
            {
                ShuffleCards(); // Just restart for now
                DisplayCards();
            }
            ShowTargetCard();
        }
        else
        {
            Debug.Log( "Wrong card pressed " + card.Data.Id );
        }
    }
예제 #18
0
    public static CardInfo getCardInfoFromInteger(int index)
    {
        int typeNumber = index / 13;
        int cardNumber = index % 13;

        if (0 == cardNumber)
        {
            cardNumber = 13;
            typeNumber = (index - 1) / 13;
        }

        CardInfo cardInfo = new CardInfo();
        cardInfo.cardType = (CardInfo.CardType)typeNumber;
        cardInfo.cardNumber = cardNumber + 2;

        if ( (CardInfo.CardType)typeNumber == CardInfo.CardType.WANG )
        {
            cardInfo.cardNumber += 13;
        }

        return cardInfo;
    }
예제 #19
0
 /// 创建并在数据库中保存纸票,成功后返回保存成功的纸票信息,失败返回null
 private CardInfo CreateATicket()
 {
     for (int i = 0; i < 3; i++) //生成一个卡号,然后保存,如果系统中已经存在此卡,则再次尝试,最多三次
     {
         CardInfo card = new CardInfo();
         card.CardID            = TicketIDCreater.Create7CharCardID();
         card.CardType          = Ralid.Park.BusinessModel.Enum.CardType.Ticket;
         card.Status            = CardStatus.Enabled;
         card.OwnerName         = card.CardID;
         card.HolidayEnabled    = true;
         card.CanRepeatIn       = false;
         card.CanRepeatOut      = false;
         card.WithCount         = true;
         card.CanEnterWhenFull  = true;
         card.EnableWhenExpired = true;
         Ralid.Park.BusinessModel.Result.CommandResult result = (new CardBll(AppSettings.CurrentSetting.ParkConnect)).AddCard(card);
         if (result.Result == ResultCode.Successful)
         {
             return(card);
         }
     }
     return(null);
 }
예제 #20
0
파일: CardManager.cs 프로젝트: G0DCH/GOA
    //패를 최신 상태로 갱신
    public void GiveCard(int[] ccost, string[] ceffect, int[] ccategory, int[] coffset)
    {
        //Debug.Log("내 패의 개수(myhand.count) : " + myhand.Count);
        for (int i = myhand.Count - 1; i >= 0; i--)
        {
            GameObject tmp = myhand[i];
            myhand.Remove(tmp);
            Destroy(tmp);
        }

        //Debug.Log("카드 받았다");
        //Debug.Log("내 패의 개수(ccost.length) : " + ccost.Length);
        Transform hand = transform.Find("MyHand");

        for (int i = 0; i < ccost.Length; i++)
        {
            GameObject tmp = Instantiate(Card, handoffset + Vector3.right * i * 100, Quaternion.identity);
            tmp.transform.SetParent(hand);
            CardInfo cinfo = new CardInfo(ccost[i], ceffect[i], ccategory[i], coffset[i]);
            tmp.GetComponent <CardSetter>().SetMyCardInfo(cinfo);
            myhand.Add(tmp);
        }
    }
예제 #21
0
        protected bool Set(CardInfo cardInfo, uint blockSize, IDictionary <int, byte[]> bytes, bool value)
        {
            if (blockSize == 0 || bytes == null)
            {
                return(false);
            }

            var volume = VolumeContainer.GetVolume(cardInfo.DriveLetter);

            using (var hDevice = Device.OpenReadWrite(volume.DeviceName))
            {
                var buffer   = Device.ReadBlock(hDevice, blockSize);
                var oldValue = Test(buffer, bytes);
                if (oldValue != value)
                {
                    Set(buffer, bytes, value);
                    Device.MoveToStart(hDevice);
                    Device.WriteBlock(hDevice, buffer, blockSize);
                }
            }

            return(true);
        }
예제 #22
0
        private CardInfo CreateCardInfo()
        {
            CardInfo info = new CardInfo();

            info.CardType = DataConverter.CLng(this.RadlCardType.SelectedValue);
            string[] field = this.DropProductId.SelectedValue.Split(new char[] { '|' });
            info.ProductId   = DataConverter.CLng(DataSecurity.GetArrayValue(0, field));
            info.TableName   = DataSecurity.GetArrayValue(1, field);
            info.Money       = DataConverter.CDecimal(this.TxtMoney.Text);
            info.ValidNum    = (this.DropValidUnit.SelectedValue == "5") ? DataConverter.CLng(this.DropUserGroup.SelectedValue) : DataConverter.CLng(this.TxtValidNum.Text);
            info.ValidUnit   = DataConverter.CLng(this.DropValidUnit.SelectedValue);
            info.EndDate     = this.DpkEnd.Date;
            info.CreateTime  = DateTime.Now;
            info.UserName    = "";
            info.OrderItemId = 0;
            if (string.IsNullOrEmpty(info.TableName))
            {
                info.ProductName = Present.GetPresentNameById(info.ProductId);
                return(info);
            }
            info.ProductName = ProductCommon.GetProductName(info.ProductId);
            return(info);
        }
예제 #23
0
파일: CardInfo.cs 프로젝트: yuhengshi/WS
 public void SetAttributes(CardInfo cardInfo)
 {
     if (cardInfo == null)
     {
         return;
     }
     if (cardInfo.tactic != null)
     {
         SetAttributes(cardInfo.tactic, cardInfo.ownerID);
     }
     else if (cardInfo.piece != null)
     {
         SetAttributes(cardInfo.piece, cardInfo.ownerID);
         health           = cardInfo.GetHealth();
         healthText.text  = health.ToString();
         healthText.color = cardInfo.healthText.color;
     }
     else if (cardInfo.trap != null)
     {
         SetAttributes(cardInfo.trap, cardInfo.ownerID);
     }
     background.sprite = cardInfo.background.sprite;
 }
예제 #24
0
        protected override void OnCardWaiting(OfflineCardReadReport report)
        {
            EntranceBase entrance = GetEntrance(report.EntranceID);

            if (entrance == null)
            {
                return;
            }
            CardInfo card = (new CardBll(AppSettings.CurrentSetting.ParkConnect)).GetCardDetail(report.CardID);

            if (card != null)
            {
                //离线模式下,如果硬件记录的时间大于系统记录的时间,表明卡片在软件退出时进出过停车场,所以此时以硬件时间为准
                if (report.LastDateTime != null && report.LastDateTime.Value.Ticks > card.LastDateTime.Ticks)
                {
                    card.LastDateTime = report.LastDateTime.Value;
                }

                if (entrance.IsExitDevice)
                {
                    CreateCardExitEvent(card, entrance, report.EventDateTime);
                    if (card.CardType.IsTempCard || card.CardType.IsPrepayCard)
                    {
                        entrance.CardWait();                                                         //储值卡和临时卡重新播放费用
                    }
                }
                else
                {
                    CreateCardEnterEvent(card, entrance, report.EventDateTime);
                }
                RaiseCardEventReporting(entrance.ProcessingEvent);
            }
            else
            {
                DenyCard(report.CardID, report.CarPlate, null, report.CardType, report.Reader, EventInvalidType.INV_UnRegister, entrance, null);
            }
        }
예제 #25
0
        bool ExcelData_OnDataSave(DataRow dr)
        {
            bool     success   = false;
            bool     converted = false;
            DateTime dtDefault = Convert.ToDateTime("1900-01-01");
            DateTime dt;
            CardInfo info = new CardInfo();

            info.CardID        = dr["CardID"].ToString();
            info.CarNo         = dr["CarNo"].ToString();
            info.Driver        = dr["Driver"].ToString();
            info.TransportUnit = dr["TransportUnit"].ToString();
            converted          = DateTime.TryParse(dr["RegisterTime"].ToString(), out dt);
            if (converted && dt > dtDefault)
            {
                info.RegisterTime = dt;
            }
            converted = DateTime.TryParse(dr["ExpireTime"].ToString(), out dt);
            if (converted && dt > dtDefault)
            {
                info.ExpireTime = dt;
            }
            info.Operator = dr["Operator"].ToString();
            info.Goods    = dr["Goods"].ToString();
            info.TelNo    = dr["TelNo"].ToString();
            converted     = DateTime.TryParse(dr["InsertTime"].ToString(), out dt);
            if (converted && dt > dtDefault)
            {
                info.InsertTime = dt;
            }
            info.DataStatus = dr["DataStatus"].ToString().ToInt32();
            info.Reamark    = dr["Reamark"].ToString();

            success = BLLFactory <Card> .Instance.Insert(info);

            return(success);
        }
예제 #26
0
        private void FrmBuyCards_Load(object sender, EventArgs e)
        {
            try
            {
                //build group combox
                string[] groups = ConfigCtrl.GetGroups();
                if (groups != null)
                {
                    foreach (string group in groups)
                    {
                        cmbGroup.Items.Add(group);
                    }
                }

                if (cmbGroup.Items.Count > 0)
                    cmbGroup.SelectedIndex = 0;

                cmbGroup_SelectedIndexChanged(null, null);

                //build card combox
                CardInfo card = new CardInfo(16, "匿名举报卡", 100000);
                cmbCards.Items.Add(card);
                card = new CardInfo(15, "车位变更卡", 30000);
                cmbCards.Items.Add(card);
                card = new CardInfo(14, "贿赂卡", 90000);
                cmbCards.Items.Add(card);
                card = new CardInfo(2, "旧车回收卡", 10000);
                cmbCards.Items.Add(card);
                card = new CardInfo(13, "充公卡", 200000);
                cmbCards.Items.Add(card);
                cmbCards.SelectedIndex = 3;
            }
            catch (Exception ex)
            {
                Program.ShowMessageBox("FrmBuyCards", ex);
            }
        }
예제 #27
0
파일: MainGame.cs 프로젝트: yuans9805/YGO2D
    private void DoHandAdd(JsonData responseResult)
    {
        // 获取参数
        string     email  = (string)responseResult["data"]["email"];
        int        cardId = (int)responseResult["data"]["paramsMap"]["CardId"];
        GameObject desCardObj;
        GameObject handContentObj;

        if (email == UserInfo.email)
        {
            desCardObj = createCard(cardId, true);
            desCardObj.AddComponent <CardMenuScript>();
            // 这里要做区分,判断是否是怪兽
            // 获取卡片信息
            CardInfo cardInfo = ShowCardInfo.getCardInfo(cardId);
            if (cardInfo.type.Contains("怪兽"))
            {
                desCardObj.GetComponent <CardMenuScript>().menuPrefab = Resources.Load <GameObject>("prefab/HandMonsterMenu");
            }
            else if (cardInfo.type.Contains("魔法"))
            {
                desCardObj.GetComponent <CardMenuScript>().menuPrefab = Resources.Load <GameObject>("prefab/HandMagicMenu");
            }
            else if (cardInfo.type.Contains("陷阱"))
            {
                desCardObj.GetComponent <CardMenuScript>().menuPrefab = Resources.Load <GameObject>("prefab/HandTrapMenu");
            }
            desCardObj.GetComponent <CardMenuScript>().turnStates = new string[] { "M1P", "M2P" };
            handContentObj = GameObject.Find("MHandPanel/Scroll View/Viewport/Content");
        }
        else
        {
            desCardObj     = createCard(-1, false);
            handContentObj = GameObject.Find("EHandPanel/Scroll View/Viewport/Content");
        }
        desCardObj.transform.SetParent(handContentObj.transform);
    }
예제 #28
0
 private void btnCardOk_Click(object sender, EventArgs e)
 {
     if (_processingEvent != null)
     {
         if (_processingEvent.CardType.IsPrepayCard && txtPaid.DecimalValue <= _processingEvent.Balance) //储值卡且实收小于或等于余额,则只是扣除余额
         {
             CommandResult result = SaveCardPayment(_processingEvent.CardPaymentInfo, PaymentMode.Prepay);
             if (result.Result != ResultCode.Successful)
             {
                 MessageBox.Show(result.Message);
                 return;
             }
         }
         else if (_processingEvent.IsExitEvent && UserSetting.Current.OneKeyOpenDoor) //如果启用一键开闸,则按卡片有效按钮时先要保存卡片费用明细
         {
             if (!btnCashHandle())
             {
                 return;
             }
         }
         EventValidNotify n = new EventValidNotify(_processingEvent.EntranceID, OperatorInfo.CurrentOperator, WorkStationInfo.CurrentStation.StationName, this.txtPaid.DecimalValue);
         if (ParkingAdapterManager.Instance[_processingEvent.ParkID] != null)
         {
             ParkingAdapterManager.Instance[_processingEvent.ParkID].EventValid(n);
         }
         if (_cardInfo != null)
         {
             CardInfo cardclone = _cardInfo.Clone();
             ClearCardEvent();
             _cardInfo = cardclone;
         }
         else
         {
             ClearCardEvent();
         }
     }
 }
예제 #29
0
        /// <summary>
        /// 生成卡片外车场停车收费记录
        /// </summary>
        /// <param name="card">卡片</param>
        /// <param name="ts">停车场费率设置</param>
        /// <param name="tos" >收费设置选项</param>
        /// <param name="chargeDateTime">收费时间</param>
        /// <returns></returns>
        public static CardPaymentInfo CreateCardPaymentRecord(CardInfo card, TariffSetting ts, Byte carType, DateTime chargeDateTime)
        {
            CardPaymentInfo cardPayment = new CardPaymentInfo();

            cardPayment.CardID          = card.CardID;
            cardPayment.OwnerName       = card.OwnerName;
            cardPayment.CardCertificate = card.CardCertificate;
            cardPayment.CarPlate        = card.LastCarPlate;
            cardPayment.CardType        = card.CardType;
            cardPayment.CarType         = carType;
            cardPayment.EnterDateTime   = card.LastDateTime;
            cardPayment.ChargeDateTime  = chargeDateTime;

            //计算应收费用
            if (card.LastPayment != null)
            {
                cardPayment.LastTotalPaid     = card.LastPayment.TotalPaid;
                cardPayment.LastTotalDiscount = card.LastPayment.TotalDiscount;
                cardPayment.LastStationID     = card.LastPayment.StationID;
            }
            //如果卡片的已缴费用与收费记录不一致,以卡片的数据为准
            if ((cardPayment.LastTotalFee + cardPayment.LastTotalDiscount) != card.TotalPaidFee)
            {
                cardPayment.LastTotalPaid     = card.TotalPaidFee;
                cardPayment.LastTotalDiscount = 0;
                cardPayment.LastStationID     = string.Empty;
            }

            ParkAccountsInfo parkFee = ts.CalculateCardParkFee(card, carType, chargeDateTime);

            cardPayment.Accounts   = parkFee.Accounts;
            cardPayment.TariffType = parkFee.TariffType;

            cardPayment.ParkFee     = parkFee.ParkFee;
            cardPayment.PaymentCode = PaymentCode.Computer;
            return(cardPayment);
        }
예제 #30
0
파일: StoreModel.cs 프로젝트: NingMoe/pula
        private static long?PrepareTeacher(CardInfo cardInfo)
        {
            if (cardInfo == null)
            {
                return(null);
            }

            string sql        = "select teacher_id,teacher_no,teacher_name from teacher where teacher_rfid=?";
            var    ds         = SqlLiteHelper.ExecuteQuery(sql, cardInfo.Rfid);
            bool   update     = false;
            long   teacher_id = 0;

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                string teacher_no   = row["teacher_no"].ToString();
                string teacher_name = row["teacher_name"].ToString();
                teacher_id = (long)row["teacher_id"];
                if (string.Equals(teacher_name, cardInfo.Name) && string.Equals(teacher_no, cardInfo.No))
                {
                    return(teacher_id);
                }
                update = true;
            }

            //need insert or update
            if (update)
            {
                SqlLiteHelper.ExecuteNonQuery("update teacher set teacher_name=?,teacher_no=?,updated_time=datetime('now','localtime') where teacher_id=?", cardInfo.Name, cardInfo.No, teacher_id);
                return(teacher_id);
            }
            else
            {
                SqlLiteHelper.ExecuteNonQuery("insert into teacher( teacher_name,teacher_no,teacher_rfid,updated_time,created_time) values(?,?,?,datetime('now','localtime'),datetime('now','localtime'))", cardInfo.Name, cardInfo.No, cardInfo.Rfid);
                object result = SqlLiteHelper.ExecuteScalar("SELECT last_insert_rowid()");
                return((long)result);
            }
        }
예제 #31
0
        /// <summary>
        /// 卡片充值
        /// </summary>
        /// <param name="info"></param>
        /// <param name="chargeAmount"></param>
        /// <param name="payment"></param>
        /// <param name="paymentMode"></param>
        /// <param name="validDate"></param>
        /// <param name="memo"></param>
        /// <param name="keepParkingStatus">是否保持数据库中的卡片运行状态</param>
        /// <returns></returns>
        public CommandResult CardCharge(CardInfo info, Decimal chargeAmount, Decimal payment, PaymentMode paymentMode, DateTime validDate, string memo, bool keepParkingStatus)
        {
            string    op       = OperatorInfo.CurrentOperator.OperatorName;
            string    station  = WorkStationInfo.CurrentStation.StationName;
            IUnitWork unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);

            info.Charge(chargeAmount);
            info.ValidDate = validDate;
            if (keepParkingStatus)
            {
                UpdateCard(info, unitWork);
            }
            else
            {
                UpdateCardAll(info, unitWork);
            }
            CardChargeRecord record = new CardChargeRecord
            {
                CardID          = info.CardID,
                ChargeDateTime  = DateTime.Now,
                OwnerName       = info.OwnerName,
                CardCertificate = info.CardCertificate,
                CarPlate        = info.CarPlate,
                Balance         = info.Balance,
                ValidDate       = info.ValidDate,
                ChargeAmount    = chargeAmount,
                Payment         = payment,
                PaymentMode     = paymentMode,
                OperatorID      = op,
                StationID       = station,
                Memo            = memo,
            };
            ICardChargeRecordProvider recordProvider = ProviderFactory.Create <ICardChargeRecordProvider>(_RepoUri);

            recordProvider.Insert(record, unitWork);
            return(unitWork.Commit());
        }
예제 #32
0
    public void GenerateCards(int min = 1, int max = 3)
    {
        // 1-3 cards
        int         numEntities = Random.Range(min, max + 1);
        GameManager gm          = GameManager.singleton;
        Player      player      = gm.player;

        List <CardInfo> prevCards = new List <CardInfo>();

        prevCards.Add(prevCard);

        var prevLocations = new List <Vector3>();

        for (int i = 0; i < numEntities; i++)
        {
            var location = GetRandomLocation(2, prevLocations);
            prevLocations.Add(location);

            CardPickup card = Instantiate(cardPickupRef, location, Quaternion.identity).GetComponent <CardPickup>();
            CardInfo   newCard;

            int maxIterations = max * 2;
            int iteration     = 0;
            do
            {
                newCard = CardDatabase.GetCardOfStatTier(player.primaryStats[0], player.primaryStats[1], gm.cardTier);
                iteration++;
            } while(prevCards.Contains(newCard) && iteration < maxIterations);

            prevCards.Add(newCard);
            prevCard = newCard;

            card.SetCard(newCard);

            GameManager.singleton.RegisterEntity(card);
        }
    }
예제 #33
0
    //取钱包ID
    private int?GetCardId(string cardName)
    {
        if (cardName == "" || cardName == "我的钱包")
        {
            return(0);
        }

        cardList = card_bll.GetCardList(userId);
        foreach (DataRow dr in cardList.Rows)
        {
            if (cardName == dr["CardName"].ToString())
            {
                return(Convert.ToInt32(dr["CDID"]));
            }
        }

        CardInfo card = new CardInfo();

        card.CardName    = cardName;
        card.CardMoney   = 0m;
        card.UserID      = userId;
        card.CardLive    = 1;
        card.Synchronize = 1;
        card.CDID        = card_bll.GetMaxCardId(userId);
        card.ModifyDate  = DateTime.Now;

        bool success = card_bll.InsertCard(card);

        if (success)
        {
            return(card.CDID);
        }
        else
        {
            throw new Exception();
        }
    }
    /// <summary>
    /// 初始化图片
    /// </summary>
    /// <param name="cardInfo"></param>
    public Sprite InitImage(CardInfo cardInfo, bool isFront)
    {
        string path;
        Sprite sprite = null;

        if (isFront)
        {
            sprite = FileIO.LoadSprite(54);
        }
        else
        {
            //由于没有提供根据名字来加载的方法,所以只能自己通过名字取index来加载
            int i = 0;
            path = "lfx/table/spritepack/cards/" + cardInfo.cardName;
            for (i = 0; i < R.SpritePack.path.Length; i++)
            {
                if (path == R.SpritePack.path[i])
                {
                    break;
                }
            }
            sprite = FileIO.LoadSprite(i);
        }

        //设置图片
        GetCardObject(cardInfo).image.sprite = sprite;

        if (sprite == null)
        {
            return(null);
        }
        else
        {
            return(sprite);
        }
    }
예제 #35
0
 private void GenerateMyControl()
 {
     for (int i = 0; i < cardIndexs.Count; i++)
     {
         GameObject obj = null;
         obj = Common.Generate(DataController.prefabPath_Character + cardIndexs[i], transMy);
         obj.transform.position = DataController.instance.playerPos - new Vector3(3, 0, 0);
         //
         CharacterInfo info = obj.GetComponent <CharacterInfo>();
         info.Init(cardIndexs[i], false);
         //
         CardInfo cardInfo = obj.GetComponent <CardInfo>();
         cardInfo.myTag   = Tag.Player;
         cardInfo.isEnemy = false;
         cardInfo.Hp      = GameManager.BackCardHp(info.myIndex);
         cardInfo.Atk     = GameManager.BackCardAtk(info.myIndex);
         cardInfo.myName  = "我方->" + (int)info.myIndex;
         cardInfo.SetInit();
         //
         //info.AnimationObj.transform.localEulerAngles = new Vector3(0, 0, 0);
         myCards.Add(info);
     }
     DataController.instance.cameraFollowIndex = 0;
 }
예제 #36
0
 private void GenerateSupport()
 {
     for (int i = 0; i < supportIndexs.Count; i++)
     {
         GameObject obj = null;
         obj = Common.Generate(DataController.prefabPath_Character + supportIndexs[i], transSupport);
         Vector3 pos = new Vector3(DataController.instance.supportPosX, 0, 0);
         obj.transform.position = pos;
         obj.transform.DOMove(new Vector3(DataController.instance.supportPosX, 0, DataController.instance.supportPosZ[i]), 0.5f);
         //
         SupportInfo info = obj.GetComponent <SupportInfo>();
         info.Init(supportIndexs[i], true);
         //
         CardInfo cardInfo = info.cardInfo;
         cardInfo.myTag   = Tag.Support;
         cardInfo.isEnemy = false;
         cardInfo.Hp      = GameManager.BackCardHp(info.myIndex);
         cardInfo.Atk     = GameManager.BackCardAtk(info.myIndex);
         cardInfo.myName  = "支援->" + (int)info.myIndex;
         cardInfo.SetInit();
         //
         showSupport.Add(info);
     }
 }
        public ActionResult Put([FromBody] CardInfo cardInfo, int salesOrderId)
        {
            ActionResult result     = new OkResult();
            SalesOrder   salesOrder = salesOrdersService.ReadSalesOrderById(salesOrderId);

            if (salesOrder != null)
            {
                string authorizationCode = salesOrderManager.CompletePurchase(salesOrder, cardInfo);

                if (authorizationCode != null)
                {
                    salesOrder.CardNumber  = cardInfo.Number;
                    salesOrder.CardExpires = cardInfo.Expires;
                    salesOrder.Filled      = DateTime.Now;
                    salesOrdersService.UpdateSalesOrder(salesOrder);
                }
            }
            else
            {
                result = NotFound();
            }

            return(result);
        }
예제 #38
0
        /// <summary>
        /// 初始化卡号(新增)
        /// </summary>
        private void InitializeDropIncomeCardNumber()
        {
            CardCollection      cardcoll = new CardCollection();
            List <QueryElement> list     = new List <QueryElement>();

            cardcoll = CardMethods.GetCard(list);
            List <DropItem> card = new List <DropItem>();

            card.Add(new DropItem {
                ValueField = "", DisplayField = " "
            });

            for (int i = 0; i < cardcoll.Count; i++)
            {
                CardInfo cardInfo = cardcoll[i];
                string   bank     = StaticRescourse.DisplayBank(cardInfo.BankId);
                card.Add(new DropItem {
                    ValueField = cardInfo.Id.ToString(), DisplayField = cardInfo.CardNumber + " " + bank
                });                                                                                                        // +" "+bank
            }
            this.dropIncomeAddCardNumber.DataSource = card;
            Helper.SetDropDownList(this.dropIncomeAddCardNumber);
            this.dropIncomeAddCardNumber.SelectedValue = string.Empty;
        }
예제 #39
0
        private void BindLoanListDataGrid(List <QueryElement> list)
        {
            BorrowORLoanCollection coll = LoanMethods.GetLoanList(list);

            this.LoanListDataGrid.DataSource = coll;
            this.LoanListDataGrid.DataBind();
            for (int i = 0; i < coll.Count; i++)
            {
                CardInfo cardInfo = CardMethods.GetCardById(coll[i].BorrowORLoanAccountId);
                string   bank     = StaticRescourse.DisplayBank(cardInfo.BankId);
                this.LoanListDataGrid.Items[i].Cells[2].Text = StaticRescourse.DisplayBorrowORLoanType(coll[i].BorrowORLoanType);
                this.LoanListDataGrid.Items[i].Cells[4].Text = coll[i].LoanAccount + " " + bank;
                this.LoanListDataGrid.Items[i].Cells[8].Text = coll[i].HappenedDate.ToString("yyyy-MM-dd");
                bool dateFlag = HelperCommon.CompareAccordToRequired(coll[i].ReturnDate);
                if (dateFlag)
                {
                    this.LoanListDataGrid.Items[i].Cells[9].Text = coll[i].ReturnDate.ToString("yyyy-MM-dd");
                }
                else
                {
                    this.LoanListDataGrid.Items[i].Cells[9].Text = string.Empty;
                }
            }
        }
예제 #40
0
 void frm_PreRecord(object sender, RecordPositionEventArgs e)
 {
     if (_EventIndex > 0)
     {
         this.gridCard.Rows[_EventIndex].Selected = false;
         _EventIndex--;
         this.gridCard.Rows[_EventIndex].Selected = true;
         if (_EventIndex < this.gridCard.FirstDisplayedScrollingRowIndex)
         {
             if (this.gridCard.FirstDisplayedScrollingRowIndex >= this.gridCard.DisplayedRowCount(false))
             {
                 this.gridCard.FirstDisplayedScrollingRowIndex -= this.gridCard.DisplayedRowCount(false);
             }
             else
             {
                 this.gridCard.FirstDisplayedScrollingRowIndex = 0;
             }
         }
         CardInfo          info = this.GridView.Rows[_EventIndex].Tag as CardInfo;
         FrmSnapShotViewer frm  = sender as FrmSnapShotViewer;
         frm.ShowImage(info.LastDateTime, info.CardID);
     }
     e.IsTopRecord = (_EventIndex == 0);
 }
예제 #41
0
 public void Play(CardInfo card, ref Player who, bool Seven)
 {
     who.Cards.Remove(card);
     GUI_system.DelGO(card, who);
     if (!Seven)
     {
         LastCard.temp = false;
         LastCard      = card;
     }
     if (who.Cards.Count == 0)
     {
         Win(who);
         GameTurn.LastTurnWin = true;
     }
     for (int i = 0; i != Players.Count; i++)
     {
         if (Players[i].AmAI)
         {
             who.RememberCard(card);
         }
     }
     //if (who.AmAI)
     //    Thread.Sleep(2000);
 }
예제 #42
0
        public IActionResult ProcessOrder(string paymentMode)
        {
            var address  = new Address();
            var cardInfo = (CardInfo)null;

            var order = new Order
            {
                OrderId         = new Random().Next(1000, 9000),
                ShippingAddress = address,
                CardInfo        = cardInfo
            };

            if (paymentMode == "card")
            {
                var oop = new OnlineOrderProcessor();
                cardInfo = new CardInfo
                {
                    CardNo      = "123456789",
                    ExpiryMonth = 12,
                    ExpiryYear  = 2018
                };
                order.CardInfo = cardInfo;

                oop.ValidateCardInfo(cardInfo);
                oop.ValidateShippingAddress(address);
                oop.ProcessOrder(order);
            }
            else
            {
                var codop = new CashOnDeliveryOrderProcessor();
                codop.ValidateShippingAddress(address);
                codop.ProcessOrder(order);
            }

            return(View("Success", order));
        }
예제 #43
0
        public SafeResponse Post_CardInfoJoint([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                CardInfo data = DA.Get_Card_Info_Joint(ref apiRequest);
                chainLogger.Database_Request();

                SafeData sd = Encrypt_Data(data);

                apiResponse = new SafeResponse(sd, CodeStatus.Ok);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
예제 #44
0
    public void ShowCardDetail(CardOutView vv)
    {
        int idx = view.CardsViewList.IndexOf(vv);

        if (idx == -1)
        {
            return;
        }

        CardInfo  info = model.NowCardInfos[idx];
        CardAsset ca   = pCardMgr.GetCardInfo(info.CardId);

        view.DetailDesp.text       = ca.CardDesp;
        view.DetailName.text       = ca.CardName;
        view.DetailEffectDesp.text = ca.CardEffectDesp;

        if (ca.CardType == eCardType.ITEM)
        {
            view.DisableHint.gameObject.SetActive(false);
            view.DisableBtn.interactable = true;
        }
        else
        {
            view.DisableHint.gameObject.SetActive(true);
            view.DisableBtn.interactable = false;
        }
        view.DisableBtn.isOn = !info.isDisabled;

        if (preCardView != null)
        {
            preCardView.Hint.gameObject.SetActive(false);
        }
        view.DetailPanel.gameObject.SetActive(true);
        vv.Hint.gameObject.SetActive(true);
        preCardView = vv;
    }
예제 #45
0
        private void OnEventOpenCard(GameEventArgs args)
        {
            var cardId   = args.CardId;
            var clientId = args.ClientId;

            var pubdata    = _host.Data.PublicData;
            var pridata    = _host.Data.PrivateData;
            var clientdata = _host.Data.GetClientData(clientId);

            if (!clientdata.Unknown.ContainsKey(cardId))
            {
                throw new ArgumentException();
            }

            clientdata.Unknown.Remove(cardId);
            pubdata.HostKnown.Add(cardId, CardInfo.Get(cardId));

            var flip = pridata.Unknown.ElementAt(pridata.Unknown.Count - 1).Value;

            pridata.Unknown.Remove(flip.Id);
            pubdata.HostKnown.Add(flip.Id, flip);

            _host.Dispatcher.PublicDispatcher.Dispatch(new GameEventArgs(EventType.FlipNewCard, clientId, flip.Id));
        }
    // Use this for initialization
    void Start()
    {
        int cardSprite = 0;

        //Loop through and create all of the cards needed
        for (int suit = 0; suit < System.Enum.GetNames(typeof(Suit)).Length; suit++)
        {
            for (int num = 0; num < System.Enum.GetNames(typeof(Num)).Length; num++)
            {
                //Create a new card and set its values based off where we are in the loop
                CardInfo newCard = new CardInfo();
                newCard.suit   = (Suit)suit;
                newCard.num    = (Num)num;
                newCard.sprite = sprites[cardSprite];
                cardSprite++;

                //After assigning values, push the newly created card onto the stack
                boardDeck.Push(newCard);
            }
        }
        //Shuffle the newly created deck
        Shuffle(boardDeck);
        Deal(0);
    }
예제 #47
0
    int IComparable.CompareTo(object obj) //比较各种卡的效果顺序
    {
        CardInfo other = obj as CardInfo;

        if (other == null)
        {
            throw new Exception("Invalid comparation");
        }
        //当前卡比比较的卡优先,返回1
        //可能出bug
        if ((int)cardType < (int)other.cardType)
        {
            return(1);
        }
        if ((int)cardType > (int)other.cardType)
        {
            return(-1);
        }
        if (cardType == other.cardType)
        {
            return(0);
        }
        throw new NotImplementedException();
    }
 private void ShowAddedCard(CardInfo info, IList <string[]> list)
 {
     this.TdCardType.InnerText  = Cards.GetCardType(info.CardType);
     this.TdCount.InnerText     = list.Count.ToString();
     this.TdMoney.InnerText     = info.Money.ToString() + "元";
     this.TdValidNum.InnerText  = info.ValidNum.ToString() + this.GetValidUnit();
     this.TdEndDate.InnerText   = info.EndDate.ToString("yyyy-MM-dd");
     this.TdAgentName.InnerText = info.AgentName;
     for (int i = 0; i < list.Count; i++)
     {
         TableRow row = new TableRow();
         row.CssClass        = "tdbg";
         row.HorizontalAlign = HorizontalAlign.Center;
         TableCell cell  = new TableCell();
         TableCell cell2 = new TableCell();
         cell.Text  = list[i][0];
         cell2.Text = list[i][1];
         row.Cells.Add(cell);
         row.Cells.Add(cell2);
         this.TbCardList.Rows.Add(row);
     }
     this.PnlShow.Visible = true;
     this.PnlAdd.Visible  = false;
 }
예제 #49
0
        public int BatchAddCards(CardInfo info, string cardText, string split, string agentName)
        {
            StringBuilder builder = new StringBuilder();
            int           num     = 0;

            string[] strArray = cardText.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < strArray.Length; i++)
            {
                string[] field = strArray[i].Trim().Split(split.Trim().ToCharArray(), StringSplitOptions.None);
                info.CardNum = DataSecurity.GetArrayValue(0, field);
                string arrayValue = DataSecurity.GetArrayValue(1, field);
                if (!string.IsNullOrEmpty(info.CardNum))
                {
                    if (string.IsNullOrEmpty(arrayValue))
                    {
                        builder.Append("<li>卡号为:").Append(info.CardNum).Append(" 的充值卡没有提供密码,不能添加!").Append("</li>");
                    }
                    else
                    {
                        info.Password  = StringHelper.Base64StringEncode(arrayValue);
                        info.AgentName = DataSecurity.FilterBadChar(agentName);
                        if (CardAdd(info))
                        {
                            builder.Append("<li>卡号为:" + info.CardNum + " 的充值卡成功添加到数据库中!</li>");
                            num++;
                        }
                        else
                        {
                            builder.Append("<li>卡号为:" + info.CardNum + " 的充值卡已经存在!</li>");
                        }
                    }
                }
            }
            this.m_Message = builder.ToString();
            return(num);
        }
        public List<AtomicChange> MergeLines(List<int> selectedIndices, MergeMode mergeMode)
        {
            var changeList = new List<AtomicChange>();

            // sort so consecutive indices can be recognized
            selectedIndices.Sort();

            // "merge prev" is like "merge next" for previous entry
            if (mergeMode == MergeMode.Prev)
            {
                for (int i = 0; i < selectedIndices.Count; i++) selectedIndices[i] -= 1;
            }

            // remove illegal indices
            selectedIndices.RemoveAll(delegate (int i) { return !IsIndexInRange(i); });

            // can't merge zero objects
            if (selectedIndices.Count <= 0) return changeList;

            // go through whole list and unify selected
            int inSelectedIndicesListIndex = 0;
            int numDeletedRows = 0; // every time a card information is deleted, all the following indices will decrease
            for (int currentListIndex = 0; currentListIndex <= selectedIndices[selectedIndices.Count - 1]; currentListIndex++)
            {
                // skip if line was not selected for merging
                if (currentListIndex < selectedIndices[inSelectedIndicesListIndex])
                {
                    continue;
                }

                // get references and indices to current CardInfo and next CardInfo
                int thisIndex = selectedIndices[inSelectedIndicesListIndex] - numDeletedRows;
                var thisCardInfo = m_cardInfos[thisIndex];

                // can't merge next if this entry is last
                if (thisIndex == m_cardInfos.Count - 1) break;

                int nextIndex = selectedIndices[inSelectedIndicesListIndex] - numDeletedRows + 1;
                var nextCardInfo = m_cardInfos[nextIndex];

                inSelectedIndicesListIndex++;

                // only merge if merging is possible
                if (!CardInfo.IsMergePossbile(thisCardInfo, nextCardInfo)) continue;
                nextCardInfo = new CardInfo(thisCardInfo, nextCardInfo);

                // "next entry" now contains both entries -> save this change
                m_cardInfos[nextIndex] = nextCardInfo;
                if (changeList.Count > 0 && changeList.Last().line == currentListIndex)
                    changeList[changeList.Count - 1] = new AtomicChange(currentListIndex, null, ChangeType.LineDelete);
                else
                    changeList.Add(new AtomicChange(currentListIndex, null, ChangeType.LineDelete));
                changeList.Add(new AtomicChange(currentListIndex + 1, nextCardInfo, ChangeType.DataUpdate));

                // remove entry that was unified into next
                m_cardInfos.RemoveAt(thisIndex);
                numDeletedRows++;
            }

            finalizeChangeList(changeList);
            return changeList;
        }
        public ContractInfo(CardInfo Card)
        {
            this.Card = Card;

              DataAccumulators = new DataAccumulatorsInfo(this, null); // RecalRequest = null запрещает долгие пересчёты
              /*var rr = new Services.RecalculationRequestInfo();     для теста
              rr.DateFrom = new DateTime(2013, 2, 1);*/
        }
        public ContractInfo Clone(CardInfo card)
        {
            BinaryFormatter BF = new BinaryFormatter();
              MemoryStream MS = new MemoryStream();
              BF.Serialize(MS, this);
              MS.Seek(0, SeekOrigin.Begin);
              ContractInfo Result = (ContractInfo)BF.Deserialize(MS);
              MS.Close();

              Result.Card = card;

              Result.loyaltyclient = LoyaltyClientCreated ? loyaltyclient.Clone() : null;
              Result.corporateclient = CorporateClientCreated ? corporateclient.Clone() : null;

              Result.OwnerID = OwnerID;
              Result.accounts = AccountsCreated ? accounts.Clone(Result) : null;
              Result.ownerAccounts = OwnerAccountsCreated ? ownerAccounts.Clone(Result) : null;
              Result.tariffperiods = TariffPeriodsCreated ? tariffperiods.Clone(Result) : null;
              Result.counters = CountersCreated ? Counters.Clone(Result) : null;
              Result.limits = LimitsCreated ? limits.Clone(Result) : null; // ok

              Result.DataAccumulators = DataAccumulators != null ? DataAccumulators.Clone(Result, DataAccumulators.RecalcRequest) : null;

              return Result;
        }
예제 #53
0
    //转账
    protected void SubmitButtom_Click(object sender, EventArgs e)
    {
        int cardId = Convert.ToInt32(this.CardIDEditHid.Value);
        int toCardId = Convert.ToInt32(this.CardDownEdit.SelectedValue);
        string cardMoney = this.CardMoneyEdit.Text.Trim();
        string cardDate = this.CardDateEdit.Text;

        if (!ValidHelper.CheckDouble(cardMoney))
        {
            Utility.Alert(this, "金额填写错误!");
            return;
        }

        if (cardId == toCardId)
        {
            Utility.Alert(this, "不允许转给相同钱包!");
            return;
        }

        using (TransactionScope ts = new TransactionScope())
        {
            CardInfo card = new CardInfo();
            UserInfo user = user_bll.GetUserByUserId(userId);
            decimal newMoney = Convert.ToDecimal(cardMoney);

            if (cardId == 0)
            {
                if (user.IsUpdate == 1)
                {
                    user.MoneyStart = user.MoneyStart - newMoney;
                }
                else
                {
                    user.UserMoney = user.UserMoney - newMoney;
                }
                user.ModifyDate = DateTime.Now;
                user.Synchronize = 1;

                user_bll.UpdateUser(user);
            }
            else
            {
                card = bll.GetCardByCardId(userId, cardId);
                if (user.IsUpdate == 1)
                {
                    card.MoneyStart = card.MoneyStart - newMoney;
                }
                else
                {
                    card.CardMoney = card.CardMoney - newMoney;
                }
                card.ModifyDate = DateTime.Now;
                card.Synchronize = 1;

                bll.UpdateCard(card);
            }

            if (toCardId == 0)
            {
                if (user.IsUpdate == 1)
                {
                    user.MoneyStart = user.MoneyStart + newMoney;
                }
                else
                {
                    user.UserMoney = user.UserMoney + newMoney;
                }
                user.ModifyDate = DateTime.Now;
                user.Synchronize = 1;

                user_bll.UpdateUser(user);
            }
            else
            {
                card = bll.GetCardByCardId(userId, toCardId);
                if (user.IsUpdate == 1)
                {
                    card.MoneyStart = card.MoneyStart + newMoney;
                }
                else
                {
                    card.CardMoney = card.CardMoney + newMoney;
                }
                card.ModifyDate = DateTime.Now;
                card.Synchronize = 1;

                bll.UpdateCard(card);
            }

            ZhuanZhangInfo zhuan = new ZhuanZhangInfo();
            zhuan.ZhuanZhangFrom = cardId;
            zhuan.ZhuanZhangTo = toCardId;
            zhuan.ZhuanZhangDate = Convert.ToDateTime(cardDate);
            zhuan.ZhuanZhangMoney = Convert.ToDecimal(cardMoney);
            zhuan.ZhuanZhangLive = 1;
            zhuan.Synchronize = 1;
            zhuan.ModifyDate = DateTime.Now;
            zhuan.UserID = userId;
            zhuan.ZZID = zhuan_bll.GetMaxZhuanZhangId(userId);

            bool success = zhuan_bll.InsertZhuanZhang(zhuan);
            if (!success)
            {
                Utility.Alert(this, "保存转账记录失败!");
            }

            ts.Complete();
        }

        Response.Redirect("UserCardAdmin.aspx");
    }
예제 #54
0
    //钱包更新操作
    protected void CardList_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int cardId = Convert.ToInt32(CardList.DataKeys[e.RowIndex].Value);
        string cardName = ((TextBox)CardList.Rows[e.RowIndex].FindControl("CardNameBox")).Text.Trim();
        string cardNameHid = ((HiddenField)CardList.Rows[e.RowIndex].FindControl("CardNameHid")).Value;
        string cardMoneyBox = ((TextBox)CardList.Rows[e.RowIndex].FindControl("CardMoneyBox")).Text.Trim();
        decimal cardMoneyHid = Convert.ToDecimal(((HiddenField)CardList.Rows[e.RowIndex].FindControl("CardMoneyHid")).Value);
        decimal moneyStartHid = Convert.ToDecimal(((HiddenField)CardList.Rows[e.RowIndex].FindControl("MoneyStartHid")).Value);
        decimal cardBalanceHid = Convert.ToDecimal(((HiddenField)CardList.Rows[e.RowIndex].FindControl("CardBalanceHid")).Value);

        if (cardName == "")
        {
            Utility.Alert(this, "钱包名称未填写!");
            return;
        }

        if (!ValidHelper.CheckDouble(cardMoneyBox))
        {
            Utility.Alert(this, "余额填写错误!");
            return;
        }

        decimal cardMoney = 0m;
        if (moneyStartHid == 0)
        {
            cardMoney = Convert.ToDecimal(cardMoneyBox) - cardBalanceHid;
        }
        else
        {
            cardMoney = Convert.ToDecimal(cardMoneyBox) + moneyStartHid - cardBalanceHid;
        }

        bool IsUpdate = Session["IsUpdate"].ToString() == "1";
        if (!IsUpdate)
        {
            cardMoney = Convert.ToDecimal(cardMoneyBox);
        }

        bool success = false;
        if (cardId == 0)
        {
            UserInfo user = user_bll.GetUserByUserId(userId);
            if (!IsUpdate) user.UserMoney = cardMoney;
            if (IsUpdate) user.MoneyStart = cardMoney;
            user.ModifyDate = DateTime.Now;
            user.Synchronize = 1;

            success = user_bll.UpdateUser(user);
        }
        else
        {
            CardInfo card = new CardInfo();

            if (cardName != cardNameHid)
            {
                card = bll.GetCardByCardName(userId, cardName);
                if (card.CardID > 0)
                {
                    Utility.Alert(this, "钱包已存在,不能重复添加!");
                    return;
                }
            }

            card.CDID = cardId;
            card.CardName = cardName;
            if (!IsUpdate) card.CardMoney = cardMoney;
            if (IsUpdate) card.MoneyStart = cardMoney;
            card.UserID = userId;
            card.CardLive = 1;
            card.Synchronize = 1;
            card.ModifyDate = DateTime.Now;

            success = bll.UpdateCard(card);
        }

        if (success)
        {
            Utility.Alert(this, "更新成功。");

            CardList.EditIndex = -1;
            BindGrid();
        }
        else
        {
            Utility.Alert(this, "更新失败!");
        }
    }
예제 #55
0
 public static void playSoundWithAnimation(List<int> cards, CardInfo.CardPromptType sendCardsType, bool isMale)
 {
     //飞机
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_FEI_JI)
     {
         SoundHelper.playFeiJiSound(isMale);
         AnimationHelper.addFeiJiAnimation();
     }
     //顺子
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_SHUN_ZI)
     {
         SoundHelper.playShunZiSound(isMale);
         AnimationHelper.addShunZiAnimation();
     }
     //单张
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_DAN_ZHANG)
     {
         int card = cards[0];
         CardInfo cardInfo = Card.getCardInfoFromInteger(card);
         SoundHelper.playDanZhangSound(isMale, cardInfo.cardNumber);
     }
     //对子
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_DUI_ZI)
     {
         int card = cards[0];
         CardInfo cardInfo = Card.getCardInfoFromInteger(card);
         SoundHelper.playDuiZiSound(isMale, cardInfo.cardNumber);
     }
     //三张
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_SAN_ZHANG)
     {
         SoundHelper.playSanZhangSound(isMale);
     }
     //三带一
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_SAN_DAI_YI)
     {
         SoundHelper.playSanDaiYiSound(isMale);
     }
     //三带二
     if (sendCardsType == CardInfo.CardPromptType.CARD_PROMPT_SAN_DAI_ER)
     {
         SoundHelper.playSanDaiErSound(isMale);
     }
 }
 internal static ContractInfo Substract(CardInfo Card, ContractInfo A, ContractInfo B)
 {
     var Result = A.Clone(Card);
       Result.accounts = ContractAccountsInfo.Substract(Result, A.Accounts, B.Accounts);
       Result.counters = ContractCounterValues.Substract(Result, A.Counters, B.Counters);
       return Result;
 }
예제 #57
0
    //取钱包ID
    private int? GetCardId(string cardName)
    {
        if (cardName == "" || cardName == "我的钱包")
        {
            return 0;
        }

        cardList = card_bll.GetCardList(userId);
        foreach (DataRow dr in cardList.Rows)
        {
            if (cardName == dr["CardName"].ToString())
            {
                return Convert.ToInt32(dr["CDID"]);
            }
        }

        CardInfo card = new CardInfo();
        card.CardName = cardName;
        card.CardMoney = 0m;
        card.UserID = userId;
        card.CardLive = 1;
        card.Synchronize = 1;
        card.CDID = card_bll.GetMaxCardId(userId);
        card.ModifyDate = DateTime.Now;

        bool success = card_bll.InsertCard(card);
        if (success)
        {
            return card.CDID;
        }
        else
        {
            throw new Exception();
        }
    }
 public String GetSnapshotFileName(Settings settings, CardInfo cardInfo) {
     return settings.DeckNameModified + "__" + cardInfo.GetKey() + ".jpg";
 }
 public AtomicChange(int line, CardInfo cardInfo, ChangeType changeType)
 {
     this.line = line;
     this.cardInfo = cardInfo;
     this.changeType = changeType;
 }
 public String GetAudioFileName(Settings settings, CardInfo cardInfo) {
     return settings.DeckNameModified + "__" + cardInfo.GetKey() + ".ogg";
 }