internal static bool CreateNew(int smId, int agentId)
        {
            CollectMoney newCollectMoney = new CollectMoney();
            
            do
            {
                newCollectMoney.CollectNumber = GenerateCollectNumber();
            }while (CollectMoneyDAO.IsExist(newCollectMoney.CollectNumber));

            newCollectMoney.StoreManagerId = smId;
            newCollectMoney.AgentId = agentId;

            newCollectMoney.CreateDate = DateTime.Now;
            newCollectMoney.ExpireDate = DateTime.Now.AddDays(1);
            newCollectMoney.StatusId = CollectStateDAO.GetId("Processing");

            ///
            /// Xác định Amount
            ///

            int iTotalAmount = PacificCodeBUS.GetTotalAmountOfStoreManager(smId);
            int iCollectedAmount = CollectMoneyBUS.GetCollectedAmount(smId);
            int iProcessingAmount = CollectMoneyBUS.GetProcessingAmount(smId);

            // Trong mục này chưa cần tạo Amount
            newCollectMoney.Amount = 0;
            //newCollectMoney.Amount = iTotalAmount - (iCollectedAmount + iProcessingAmount);

            CollectMoneyDAO.AddItem(newCollectMoney);

            return true;
        }
        internal static void AddItem(CollectMoney newCollectMoney)
        {
            MoneyPacificEntities db = new MoneyPacificEntities();

            db.CollectMoneys.AddObject(newCollectMoney);
            db.SaveChanges();
            db.Connection.Close();
        }
        internal static bool Update(CollectMoney updateCollectMoney, int agentId)
        {
            MoneyPacificEntities db = new MoneyPacificEntities();
            
            CollectMoney existCollectMoney = db.CollectMoneys
                .Where(c => c.Id == updateCollectMoney.Id)
                .Single<CollectMoney>();

            existCollectMoney.CollectNumber = updateCollectMoney.CollectNumber;
            existCollectMoney.AgentId = agentId;

            existCollectMoney.CreateDate = DateTime.Now;
            existCollectMoney.ExpireDate = DateTime.Now.AddDays(1);


            db.SaveChanges();
            db.Connection.Close();
            
            return true;
        }
 internal static bool 				Update(CollectMoney existCollectMoney, int agentId){}
        internal static bool Update(CollectMoney existCollectMoney, int agentId)
        {
            // Cap nhat lai code moi
            existCollectMoney.CollectNumber = GenerateCollectNumber();
            
            existCollectMoney.CreateDate = DateTime.Now;
            existCollectMoney.ExpireDate = DateTime.Now.AddDays(1);

            return CollectMoneyDAO.Update(existCollectMoney, agentId);
        }