Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var master = (Pop)this.Master;

            if (master != null)
            {
                master.Width = 580;
            }
            int id = QS("id", 0);

            if (id <= 0)
            {
                Response.Redirect(EmptyPopPageUrl);
            }
            Current = _shareApp.Get(id);
            Ticket  = _ticketApp.GetTickets(Current.TicketID);
            if (!IsPostBack)
            {
                txtType.Attributes.Add("data-hidden", "#" + hidType.ClientID);

                rptFiles.DataSource = Current.Files;
                rptFiles.DataBind();
                InitControls();
            }
        }
        public void ShouldCreateSharesNumberForAdditionIfCantSearch()
        {
            // Arrange
            ShareEntity share = new ShareEntity()
            {
                Id = 55
            };
            ClientEntity client = new ClientEntity()
            {
                Id = 3
            };
            SharesNumberEntity nullSharesNumber = null;

            sharesNumberTableRepository.SearchSharesNumberForAddition(Arg.Is(client.Id), Arg.Is(share.Id)).Returns(nullSharesNumber);
            SalesService salesService = new SalesService(
                this.operationTableRepository,
                this.balanceTableRepository,
                this.blockedMoneyTableRepository,
                this.sharesNumberTableRepository,
                this.blockedSharesNumberTableRepository);

            // Act
            var sharesNumberResult = salesService.SearchOrCreateSharesNumberForAddition(client, share);

            // Assert
            this.sharesNumberTableRepository.Received(1).SearchSharesNumberForAddition(client.Id, share.Id);
            this.sharesNumberTableRepository.Received(1).Add(Arg.Any <SharesNumberEntity>());
            this.sharesNumberTableRepository.Received(1).SaveChanges();
        }
Exemple #3
0
 private void ValidateBuyerBalance(TraderEntity traderEntity, ShareEntity share)
 {
     if (traderEntity.Balance < share.Amount * share.Stock.PricePerUnit * share.ShareType.Multiplier)
     {
         throw new Exception("Cant make a transaction because buyer dont have enough money.");
     }
 }
        public void ShouldThrowExceptionIfShareTypeStatusIsFalse()
        {
            SalesService salesService = new SalesService(
                this.operationTableRepository,
                this.balanceTableRepository,
                this.blockedMoneyTableRepository,
                this.sharesNumberTableRepository,
                this.blockedSharesNumberTableRepository);
            var share = new ShareEntity()
            {
                Id          = 3,
                CompanyName = "testCompany",
                CreatedAt   = DateTime.Now,
                Type        = new ShareTypeEntity()
                {
                    Id     = 5,
                    Cost   = 1000.0M,
                    Name   = "typename",
                    Status = false
                },
                Status = true
            };

            // Act
            salesService.CheckShareAndShareTypeStatuses(share);

            // Assert
        }
Exemple #5
0
        /// <summary>
        /// 详细页面
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public IActionResult Detail(int id)
        {
            ShareBLL    shareBLL    = new ShareBLL();
            ShareEntity shareEntity = shareBLL.GetById(id);

            return(View(shareEntity));
        }
Exemple #6
0
        public int Insert(ShareEntity entity)
        {
            string   insertSql = @"  INSERT INTO [Share]([Title],[Note],[CreatedBy],[CreatedOn],[Type],[IsDeleted],TicketID,ModifiedOn)
                                        VALUES(@Title, @Note, @CreatedBy, @CreatedOn, @Type, @IsDeleted,@TicketID,@ModifiedOn);
                                        SELECT ISNULL( SCOPE_IDENTITY(),0);";
            Database db        = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(insertSql))
            {
                try
                {
                    db.AddInParameter(dbCommand, "Title", DbType.String, entity.Title);
                    db.AddInParameter(dbCommand, "Note", DbType.String, entity.Note);
                    db.AddInParameter(dbCommand, "CreatedBy", DbType.Int32, entity.CreatedBy);
                    db.AddInParameter(dbCommand, "CreatedOn", DbType.DateTime, entity.CreatedOn);
                    db.AddInParameter(dbCommand, "Type", DbType.Int32, entity.Type);
                    db.AddInParameter(dbCommand, "IsDeleted", DbType.Boolean, false);
                    db.AddInParameter(dbCommand, "TicketID", DbType.Int32, entity.TicketID);
                    db.AddInParameter(dbCommand, "ModifiedOn", DbType.DateTime, entity.ModifiedOn);
                    int    result;
                    object obj = db.ExecuteScalar(dbCommand);
                    if (!int.TryParse(obj.ToString(), out result))
                    {
                        return(0);
                    }
                    return(result);
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]"
                                                    , insertSql, base.FormatParameters(dbCommand.Parameters), ex.Message));
                    return(0);
                }
            }
        }
Exemple #7
0
        public ShareEntity Get(int entityId)
        {
            string   strSql = @"SELECT S.*, TypeID = ST.ID, TypeTitle = ST.[Title], TypeCreatedBy = ST.[CreatedBy],
                                TypeCreatedOn = ST.[CreatedOn],TypeType = ST.[Type] ,Files = 
                                    (select CAST(FileID AS NVARCHAR)+ '_' + FileTitle + [ContentType]+'|' from [Files] 
                                    WHERE [SourceType] = 7 AND [SourceID] = S.ID AND IsDelete = 0 FOR XML PATH('') ) 
                                FROM [Share] S  LEFT JOIN [ShareType] ST ON S.[Type] = ST.ID 
                                Where S.[IsDeleted] = 0 AND S.ID = @ID";
            Database db     = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql))
            {
                try
                {
                    db.AddInParameter(dbCommand, "ID", DbType.Int32, entityId);

                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                        if (dataReader.Read())
                        {
                            return(ShareEntity.ReaderBind(dataReader));
                        }
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]"
                                                    , strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message));
                    return(null);
                }
            }
            return(null);
        }
Exemple #8
0
        /// <summary>
        /// 获取签名信息
        /// </summary>
        /// <param name="jsapi_ticket"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        public static ShareEntity sign(string url)
        {
            Dictionary <string, string> ret = new Dictionary <string, string>();
            string nonce_str = Guid.NewGuid().ToString();
            string timestamp = create_timestamp();
            string string1;
            string signature    = "";
            string token        = getAccessToken();
            string jsapi_ticket = getTicket(token);

            //注意这里参数名必须全部小写,且必须有序
            string1 = "jsapi_ticket=" + jsapi_ticket +
                      "&noncestr=" + nonce_str +
                      "&timestamp=" + timestamp +
                      "&url=" + url;

            byte[] byteUserPwd = Encoding.UTF8.GetBytes(string1);
            signature = SHA1(byteUserPwd).Trim();

            //返回Md5字符串

            ShareEntity entity = new ShareEntity();

            entity.Url       = url;
            entity.Timestamp = timestamp;
            entity.NonceStr  = nonce_str;
            entity.Signature = signature;
            //ret.Add("url", url);
            //ret.Add("nonceStr", nonce_str);
            //ret.Add("timestamp", timestamp);
            //ret.Add("signature", signature);
            return(entity);
        }
        public void ShouldNotUpdateShareIfStockDoesntExist()
        {
            // Arrange
            var shareService = new ShareService(
                this.shareRepository,
                this.shareTypeRepository,
                this.stockRepository,
                this.traderRepository);
            ShareInfo shareInfo = new ShareInfo
            {
                Id          = 1,
                Amount      = 2,
                StockId     = 1,
                ShareTypeId = 1,
                OwnerId     = 1
            };
            ShareEntity shareToUpdate = new ShareEntity {
                Id = 1
            };

            this.shareRepository.GetById(1)
            .Returns(shareToUpdate);
            this.stockRepository.GetById(1)
            .ReturnsNull();

            // Act
            shareService.UpdateShare(shareInfo);
        }
        public void ShouldChangeShareType()
        {
            // Arrange
            var shareService = new ShareService(
                this.shareRepository,
                this.shareTypeRepository,
                this.stockRepository,
                this.traderRepository);
            ShareTypeEntity firstShareType = new ShareTypeEntity {
                Id = 1
            };
            ShareTypeEntity secondShareType = new ShareTypeEntity {
                Id = 2
            };
            ShareEntity shareToChange = new ShareEntity {
            };

            this.shareRepository.GetById(Arg.Is <int>(1)).Returns(shareToChange);
            this.shareTypeRepository.GetById(Arg.Is <int>(1)).Returns(firstShareType);
            this.shareTypeRepository.GetById(Arg.Is <int>(2)).Returns(secondShareType);

            // Act
            shareService.ChangeShareType(1, 2);

            // Assert
            this.shareRepository.Received(1).Save(shareToChange);
            Assert.IsTrue(shareToChange.ShareType == secondShareType);
        }
Exemple #11
0
 public bool Contains(ShareEntity entity)
 {
     return(this.db.Shares.Any(
                s => s.Name == entity.Name &&
                s.CompanyName == entity.CompanyName &&
                s.Price == entity.Price
                ));
 }
        public void Update(int id, ShareInfo args)
        {
            ShareEntity share = repo.GetShareById(id);

            share.Name        = args.Name ?? share.Name;
            share.CompanyName = args.CompanyName ?? share.CompanyName;
            repo.SaveChanges();
        }
Exemple #13
0
        public JsonResult Delete([FromForm] string token, [FromForm] int shareId)
        {
            DataResult dr = new DataResult();

            try
            {
                if (shareId < 10000)
                {
                    dr.code = "201";
                    dr.msg  = "参数错误";
                    return(Json(dr));
                }


                ShareEntity shareEntity = shareBLL.GetById(shareId);

                if (shareEntity == null)
                {
                    dr.code = "201";
                    dr.msg  = "不存在该说说";
                    return(Json(dr));
                }

                UserEntity userEntity = this.GetUserByToken(token);
                if (shareEntity.userId != userEntity.userId)
                {
                    dr.code = "201";
                    dr.msg  = "不是该用户的说说";
                    return(Json(dr));
                }

                shareEntity.isDel      = true;
                shareEntity.modifyDate = DateTime.Now;

                int rows = shareBLL.ActionDal.ActionDBAccess.Updateable(shareEntity).ExecuteCommand();

                //增加阅读记录
                ReadBLL readBLL = new ReadBLL();
                readBLL.Create(userEntity.userId, (int)Entity.TypeEnumEntity.TypeEnum.说说, shareId);

                if (rows > 0)
                {
                    dr.code = "200";
                    dr.msg  = "成功";
                }
                else
                {
                    dr.code = "201";
                    dr.msg  = "失败";
                }
            }
            catch (Exception ex)
            {
                dr.code = "999";
                dr.msg  = ex.Message;
            }
            return(Json(dr));
        }
Exemple #14
0
 internal static Share ToShare(this ShareEntity shareEntity) =>
 shareEntity == null ? null : new Share()
 {
     id       = shareEntity.ID,
     name     = shareEntity.Name,
     price    = shareEntity.Price,
     quantity = shareEntity.Quantity,
     ownerId  = shareEntity.Owner.ID,
 };
Exemple #15
0
 /* 'Share' methods
  */
 public void CheckShareAndShareTypeStatuses(ShareEntity share)
 {
     if (share.Status == false)
     {
         throw new ArgumentException("Operations with this share have been blocked.");
     }
     if (share.Type.Status == false)
     {
         throw new ArgumentException("Operations with this share type have been blocked.");
     }
 }
Exemple #16
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, ShareEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #17
0
        public virtual void ChangeShareType(int shareId, int shareTypeId)
        {
            ValidateShareExistence(shareId);
            ValidateShareTypeExistence(shareTypeId);
            ShareEntity     shareToChange = this.shareTableRepository.GetById(shareId);
            ShareTypeEntity shareType     = this.shareTypeTableRepository.GetById(shareTypeId);

            shareToChange.ShareType = shareType;

            this.shareTableRepository.Save(shareToChange);
        }
        public void ShouldRemoveShare()
        {
            var           shareTableRepository = Substitute.For <IShareTableRepository>();
            ShareServices shareServices        = new ShareServices(shareTableRepository);
            ShareEntity   share = null;

            shareTableRepository.GetShareById(1).Returns(share);

            shareServices.Remove(1);

            shareTableRepository.Received(1).Remove(1);
            shareTableRepository.Received(1).SaveChanges();
        }
        public int RegisterShare(ShareRegistrationInfo shareInfo)
        {
            var shareToAdd = new ShareEntity()
            {
                ShareName = shareInfo.Name,
                ShareCost = shareInfo.Cost
            };

            sharesRepository.Add(shareToAdd);
            sharesRepository.SaveChanges();

            return(shareToAdd.ShareID);
        }
Exemple #20
0
        private ShareEntity GetEntity()
        {
            var entity = new ShareEntity(UserInfo.ID, ObjectFactory.GetInstance <ISystemDateTime>());

            entity.Note = txtDescription.Text;
            int type = 0;

            int.TryParse(hidType.Value, out type);
            entity.Type             = type;
            entity.TicketID         = QS("ticket", 0);
            entity.Title            = string.Empty;
            entity.TypeEntity.Title = txtType.Text;
            return(entity);
        }
        public void ShouldAddTransaction()
        {
            //Arrange
            TraderEntity seller = new TraderEntity {
                Id = 1, Balance = 50
            };

            traderTableRepository.GetById(Arg.Is <int>(1)).Returns(seller);
            TraderEntity buyer = new TraderEntity {
                Id = 2, Balance = 500
            };

            traderTableRepository.GetById(Arg.Is <int>(2)).Returns(buyer);
            StockEntity stock = new StockEntity {
                Id = 1, PricePerUnit = 10
            };

            stockTableRepository.GetById(Arg.Is <int>(1)).Returns(stock);
            ShareEntity share = new ShareEntity
            {
                Id        = 1,
                Amount    = 10,
                Owner     = seller,
                ShareType = new ShareTypeEntity {
                    Multiplier = 2
                },
                Stock = stock
            };

            shareTableRepository.GetById(Arg.Is <int>(1)).Returns(share);
            decimal dealPrice          = share.Amount * stock.PricePerUnit * share.ShareType.Multiplier;
            var     transactionService = new TransactionService(
                shareTableRepository,
                transactionTableRepository,
                traderTableRepository,
                stockTableRepository);

            // Act
            transactionService.MakeShareTransaction(1, 2, 1);

            // Assert
            transactionTableRepository.Received(1).Add(Arg.Any <TransactionEntity>());
            shareTableRepository.Received(1).Save(share);
            traderTableRepository.Received(1).Save(buyer);
            traderTableRepository.Received(1).Save(seller);
            Assert.IsTrue(share.Owner.Id == 2);
            Assert.IsTrue(seller.Balance == 50 + dealPrice);
            Assert.IsTrue(buyer.Balance == 500 - dealPrice);
        }
Exemple #22
0
        /// <summary>
        /// ����,�����Ա���ߵģ�ְ�������ܹ��׽��򣬼���ʱ�併��
        /// </summary>
        /// <param name="itemData"></param>
        /// <returns></returns>
        public override int CompareTo(ShareEntity itemData)
        {
            GuildMember other  = itemData as GuildMember;
            int         result = 0;

            if (this == null && other == null)
            {
                return(0);
            }
            if (this != null && other == null)
            {
                return(1);
            }
            if (this == null && other != null)
            {
                return(-1);
            }

            var      cacheSet  = new GameDataCacheSet <GameUser>();
            GameUser otherUser = cacheSet.FindKey(other.UserID);

            if (otherUser == null)
            {
                otherUser = UserCacheGlobal.CheckLoadUser(other.UserID);
            }
            GameUser user = cacheSet.FindKey(UserID);

            if (user == null)
            {
                user = UserCacheGlobal.CheckLoadUser(UserID);
            }
            if (otherUser != null && user != null)
            {
                result = otherUser.IsOnline.CompareTo(user.IsOnline);
            }
            if (result == 0)
            {
                result = ((int)PostType).CompareTo((int)other.PostType);
                if (result == 0)
                {
                    result = other.TotalContribution.CompareTo(TotalContribution);
                    if (result == 0)
                    {
                        result = other.InsertDate.CompareTo(InsertDate);
                    }
                }
            }
            return(result);
        }
Exemple #23
0
        public ResultInfo <ShareEntity> SelectShareInfor(RequestParam reqst)
        {
            ResultInfo <ShareEntity> res = new ResultInfo <ShareEntity>();

            res.code    = "1";
            res.message = Settings.Instance.GetErrorMsg(res.code);
            ShareEntity se = new ShareEntity();

            se.shareTitle    = "100元做投资人,成为创利投会员即送1260大礼包";
            se.shareContent  = "掌上理财,坐享收益。100元起投,投资好礼送不停";
            se.shareContent += "###http://" + ChuanglitouP2P.Common.PublicURL.NewWXUrl + "//zhuolu.html?code=###http://" + ChuanglitouP2P.Common.PublicURL.NewPCUrl + "/tuiguang.html?code=";
            se.shareImg      = Settings.Instance.SiteDomain + "/Static/Images/Share.jpg";
            res.body         = se;
            return(res);
        }
        public void ShouldUpdateShare()
        {
            // Arrange
            var shareService = new ShareService(
                this.shareRepository,
                this.shareTypeRepository,
                this.stockRepository,
                this.traderRepository);
            ShareInfo shareInfo = new ShareInfo
            {
                Id          = 1,
                Amount      = 2,
                StockId     = 1,
                ShareTypeId = 1,
                OwnerId     = 1
            };
            ShareEntity shareToUpdate = new ShareEntity {
                Id = 1
            };

            this.shareRepository.GetById(1)
            .Returns(shareToUpdate);
            this.shareTypeRepository.GetById(1)
            .Returns(new ShareTypeEntity {
                Id = 1
            });
            this.stockRepository.GetById(1)
            .Returns(new StockEntity {
                Id = 1
            });
            this.traderRepository.GetById(1)
            .Returns(new TraderEntity {
                Id = 1
            });

            // Act
            shareService.UpdateShare(shareInfo);
            // Assert
            Assert.IsTrue(
                shareToUpdate.Id == shareInfo.Id &&
                shareToUpdate.Amount == shareInfo.Amount &&
                shareToUpdate.Owner.Id == shareInfo.OwnerId &&
                shareToUpdate.Stock.Id == shareInfo.StockId &&
                shareToUpdate.ShareType.Id == shareInfo.ShareTypeId);
            this.shareRepository.Received(1).Save(Arg.Any <ShareEntity>());
        }
Exemple #25
0
        public virtual void AddNewShare(ShareInfo shareInfo)
        {
            ValidateStockExistence(shareInfo.StockId);
            ValidateOwnerExitence(shareInfo.OwnerId);
            ValidateShareTypeExistence(shareInfo.ShareTypeId);

            var shareToAdd = new ShareEntity
            {
                Owner     = this.traderTableRepository.GetById(shareInfo.OwnerId),
                Amount    = shareInfo.Amount,
                ShareType = this.shareTypeTableRepository.GetById(shareInfo.ShareTypeId),
                Stock     = this.stockTableRepository.GetById(shareInfo.StockId)
            };

            this.shareTableRepository.Add(shareToAdd);

            this.shareTableRepository.SaveChanges();
        }
Exemple #26
0
        public bool Update(ShareEntity entity)
        {
            this.ClearBrokenRuleMessages();
            BaseValidator <ShareEntity> validator = new ShareValidator();

            if (!validator.Validate(entity))
            {
                this.AddBrokenRuleMessages(validator.BrokenRuleMessages);
            }
            var result = _shareRepo.Update(entity);

            if (!result)
            {
                this.AddBrokenRuleMessage("Error", "Update failed.");
                return(false);
            }
            return(true);
        }
Exemple #27
0
    /// <summary>
    /// 邀请好友
    /// </summary>
    /// <param name="roomId"></param>
    /// <param name="gameId"></param>
    /// <param name="cfgId"></param>
    /// <param name="groupId"></param>
    public void InviteFriend(int roomId, int gameId, int[] cfgId, int groupId = 0)
    {
        if (m_ListShare == null)
        {
            RequestShare();
            return;
        }
        ShareEntity entity = null;

        for (int i = 0; i < m_ListShare.Count; ++i)
        {
            if (m_ListShare[i].id == (int)ShareType.InGame)
            {
                entity = m_ListShare[i];
                break;
            }
        }
        SDK.Instance.WXShareUrl((WXShareType)entity.type, StringConvert(entity.url, roomId, gameId, cfgId, groupId), StringConvert(entity.title, roomId, gameId, cfgId, groupId), StringConvert(entity.content, roomId, gameId, cfgId, groupId), WXShareCallBack, entity.isReward == 1);
    }
Exemple #28
0
    /// <summary>
    /// 分享地址
    /// </summary>
    /// <param name="type"></param>
    public void ShareURL(ShareType type)
    {
        if (m_ListShare == null)
        {
            RequestShare();
            return;
        }
        ShareEntity entity = null;

        for (int i = 0; i < m_ListShare.Count; ++i)
        {
            if (m_ListShare[i].id == (int)type)
            {
                entity = m_ListShare[i];
                break;
            }
        }
        SDK.Instance.WXShareUrl((WXShareType)entity.type, StringConvert(entity.url), StringConvert(entity.title), StringConvert(entity.content), WXShareCallBack, entity.isReward == 1);
    }
        public void ShouldSearchSharesNumberForAddition()
        {
            // Arrange
            ShareEntity share = new ShareEntity()
            {
                Id = 55
            };
            ClientEntity client = new ClientEntity()
            {
                Id = 3
            };

            sharesNumberTableRepository.SearchSharesNumberForAddition(Arg.Is(client.Id), Arg.Is(share.Id)).Returns(new SharesNumberEntity()
            {
                Id     = 3,
                Client = new ClientEntity()
                {
                    Id = client.Id
                },
                Share = new ShareEntity()
                {
                    Id = share.Id
                }
            });
            SalesService salesService = new SalesService(
                this.operationTableRepository,
                this.balanceTableRepository,
                this.blockedMoneyTableRepository,
                this.sharesNumberTableRepository,
                this.blockedSharesNumberTableRepository,
                this.shareTableRepository);

            // Act
            var sharesNumberResult = salesService.SearchOrCreateSharesNumberForAddition(client, share);

            // Assert
            this.sharesNumberTableRepository.Received(1).SearchSharesNumberForAddition(client.Id, share.Id);
            if (sharesNumberResult.Client.Id != client.Id ||
                sharesNumberResult.Share.Id != share.Id)
            {
                throw new ArgumentException("Client ID or Share ID in founded shares number is wrong");
            }
        }
        public void ShouldNotMakeTransactionIfSellerDontHaveChosenShare()
        {
            // Arrange
            int          sellerId = 1;
            int          buyerId  = 2;
            int          shareId  = 1;
            TraderEntity seller   = new TraderEntity {
                Id = 1, Balance = 50
            };

            traderTableRepository.GetById(Arg.Is <int>(1)).Returns(seller);
            TraderEntity buyer = new TraderEntity {
                Id = 2, Balance = 70
            };

            traderTableRepository.GetById(Arg.Is <int>(2)).Returns(buyer);
            StockEntity stock = new StockEntity {
                Id = 1, PricePerUnit = 10
            };

            stockTableRepository.GetById(Arg.Is <int>(1)).Returns(stock);
            ShareEntity share = new ShareEntity
            {
                Id        = 1,
                Amount    = 10,
                ShareType = new ShareTypeEntity {
                    Multiplier = 2
                },
                Stock = stock,
                Owner = buyer
            };

            shareTableRepository.GetById(Arg.Is <int>(1)).Returns(share);

            var transactionService = new TransactionService(
                shareTableRepository,
                transactionTableRepository,
                traderTableRepository,
                stockTableRepository);

            // Act
            transactionService.MakeShareTransaction(sellerId, buyerId, shareId);
        }
Exemple #31
0
        /// <summary>
        /// ����,�����Ա���ߵģ�ְ�������ܹ��׽��򣬼���ʱ�併��
        /// </summary>
        /// <param name="itemData"></param>
        /// <returns></returns>
        public override int CompareTo(ShareEntity itemData)
        {
            GuildMember other = itemData as GuildMember;
            int result = 0;
            if (this == null && other == null) return 0;
            if (this != null && other == null) return 1;
            if (this == null && other != null) return -1;

            var cacheSet = new GameDataCacheSet<GameUser>();
            GameUser otherUser = cacheSet.FindKey(other.UserID);
            if (otherUser == null)
            {
                otherUser = UserCacheGlobal.CheckLoadUser(other.UserID);
            }
            GameUser user = cacheSet.FindKey(UserID);
            if (user == null)
            {
                user = UserCacheGlobal.CheckLoadUser(UserID);
            }
            if (otherUser != null && user != null)
            {
                result = otherUser.IsOnline.CompareTo(user.IsOnline);
            }
            if (result == 0)
            {
                result = ((int)PostType).CompareTo((int)other.PostType);
                if (result == 0)
                {
                    result = other.TotalContribution.CompareTo(TotalContribution);
                    if (result == 0)
                    {
                        result = other.InsertDate.CompareTo(InsertDate);
                    }
                }
            }
            return result;
        }
Exemple #32
0
 public override int CompareTo(ShareEntity other)
 {
     return ((int)this.RecruitType).CompareTo((int)((RecruitRule)other).RecruitType);
 }