Пример #1
0
        public bool ReloadBlance()
        {
            var depth  = client.GetUserInfo();
            var tables = new List <BalanceTable>();

            var account = new AccountDao().Select()
                          .Find(a => a.Default > 0 || a.Platform.ID == platform.ID);
            string uid = account.UID;

            var balances = depth["balances"] as JObject;
            var reserved = depth["reserved"] as JObject;

            foreach (var item in balances)
            {
                BalanceTable balance = new BalanceTable()
                {
                    UID      = uid,
                    Coin     = item.Key,
                    Platform = this.platform,
                    Amount   = double.Parse(item.Value.ToString())
                };
                if (reserved[item.Key].HasValues)
                {
                    balance.Amount += double.Parse(reserved[item.Key].ToString());
                }

                tables.Add(balance);
            }

            var dao = new BalanceDao();

            dao.InsertOrUpdate(tables);

            return(true);
        }
Пример #2
0
        public static void OnLineBalanceDrawRequest_Alipay(string sIds)
        {
            BalanceDao balanceDao           = new BalanceDao();
            DataTable  waittingPayingAlipay = balanceDao.GetWaittingPayingAlipay(sIds);

            OutpayHelper.OnLine_Alipay(waittingPayingAlipay, "BalanceDraw4Supplier");
        }
 private void UpdateExistsBalances(Document document)
 {
     foreach (var detail in document.Details)
     {
         BalanceDao.UpdateBalancesFromDate(document.Date, detail.Product.Id, detail.Quantity);
     }
 }
Пример #4
0
        public List <BalanceTable> GetBalance()
        {
            var dao = new BalanceDao();

            return(dao.Select()
                   .Where(b => b.Platform.ID == platform.ID)
                   .ToList());
        }
Пример #5
0
 //查询仓库库存总账
 public DataSet QueryStorageGeneralAccount(int pageIndex, int pageSize, string filter)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         return(dao.Query("V_WMS_DAILYBALANCE", "ID", "*", pageIndex, pageSize, "PRODUCTCODE,SETTLEDATE", filter, "WMS_DAILYBALANCE"));
     }
 }
Пример #6
0
 public int GetRowCount(string filter)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         return(dao.GetRowCount("V_WMS_DAILYBALANCE", filter));
     }
 }
Пример #7
0
 public int GetProductDetailRowCount(string filter)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         return(dao.GetRowCount("V_PRODUCT_DETAIL", filter));
     }
 }
Пример #8
0
 public int GetStorageDetailRowCount(string filter)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         return(dao.GetRowCount("V_STORAGE_DETAIL", filter));
     }
 }
Пример #9
0
 //查询日结的入库、出库、盘点损益单据明细账
 public DataSet QueryStorageDetail(int pageIndex, int pageSize, string filter)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         string     sql = string.Format("SELECT * FROM V_STORAGE_DETAIL WHERE {0}", filter);
         return(dao.Query(sql, "V_STORAGE_DETAIL", pageIndex, pageSize));
     }
 }
Пример #10
0
 /// <summary>
 /// 根据条件查询所有仓库库存导出Execl
 /// </summary>
 /// <param name="file"></param>
 /// <returns></returns>
 public DataTable QueryStorageGeneralExecl(string file)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         string     sql = string.Format("SELECT * FROM V_WMS_DAILYBALANCE WHERE {0}", file);
         return(dao.GetData(sql).Tables[0]);
     }
 }
Пример #11
0
 //查询已经日结的日期
 public DataSet QueryBalanceList(int pageIndex, int pageSize, string filter)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao dao = new BalanceDao();
         string     sql = string.Format("select * FROM V_WMS_BALANCELIST WHERE {0} ORDER BY SETTLEDATE DESC", filter);
         return(dao.Query(sql, "V_WMS_BALANCELIST", pageIndex, pageSize));
     }
 }
Пример #12
0
        public void Execute()
        {
            var doa  = new BalanceDao();
            var data = doa.Select();

            if (ExcuteEvent != null)
            {
                ExcuteEvent(data);
            }
        }
Пример #13
0
        //查询产品总账(不分仓库)
        public DataSet QueryProductGeneralAccount(int pageIndex, int pageSize, string filter)
        {
            string sql = string.Format("SELECT * FROM V_PRODUCT_GENERAL WHERE {0}", filter);

            using (PersistentManager persistentManager = new PersistentManager())
            {
                BalanceDao dao = new BalanceDao();
                return(dao.Query(sql, "V_PRODUCT_GENERAL", pageIndex, pageSize));
            }
        }
Пример #14
0
 public void ExecBalance(string wh_code, DateTime settleDate, string type)
 {
     using (PersistentManager persistentManager = new PersistentManager())
     {
         BalanceDao          dao  = new BalanceDao();
         StoredProcParameter para = new StoredProcParameter();
         para.AddParameter("wh_code", wh_code, DbType.String);
         para.AddParameter("day", settleDate, DbType.Date);
         para.AddParameter("type", type, DbType.String);
         dao.ExecProc("cp_DailyBalance", para);
     }
 }
Пример #15
0
        public static bool BalanceDrawRequest(SupplierBalanceDrawRequestInfo balanceDrawRequest)
        {
            Globals.EntityCoding(balanceDrawRequest, true);
            BalanceDao balanceDao  = new BalanceDao();
            decimal    balanceLeft = balanceDao.GetBalanceLeft(balanceDrawRequest.SupplierId);

            if (balanceLeft < balanceDrawRequest.Amount)
            {
                return(false);
            }
            return(balanceDao.AddRequest(balanceDrawRequest));
        }
        private void AddNewBalancesIfNeed(Document document)
        {
            var productIds     = document.Details.Select(d => d.Product.Id).ToArray();
            var balancesOnDate = BalanceDao.GetBalancesOnDate(document.Date, productIds).ToList();

            foreach (var detail in document.Details)
            {
                var productBalanceOnDate = balancesOnDate.FirstOrDefault(b => b.Product.Id == detail.Product.Id);
                if (productBalanceOnDate == null || productBalanceOnDate.Date < document.Date)
                {
                    var newBalance = new Balance
                    {
                        Date     = document.Date,
                        Product  = detail.Product,
                        Quantity = productBalanceOnDate?.Quantity ?? 0
                    };
                    BalanceDao.Save(newBalance);
                }
            }
        }
Пример #17
0
        public bool ReloadBlance()
        {
            var account = new AccountDao().Select()
                          .Find(a => a.Default > 0 || a.Platform.ID == platform.ID);
            string uid = account.UID;

            var depth    = client.GetBalance();
            var balances = new List <BalanceTable>();
            var res      = depth["result"] as JsonObject;

            foreach (var item in res)
            {
                string coin = item.Name.Replace("XBT", "BTC");
                if (coin.StartsWith("X"))
                {
                    coin = coin.Substring(1);
                }
                if (coin.StartsWith("Z"))
                {
                    coin = coin.Substring(1);
                }

                BalanceTable balance = new BalanceTable()
                {
                    UID      = uid,
                    Coin     = coin,
                    Platform = this.platform,
                    Amount   = double.Parse(item.Value.ToString())
                };

                balances.Add(balance);
            }

            var dao = new BalanceDao();

            dao.InsertOrUpdate(balances);

            return(true);
        }
Пример #18
0
        public static BalanceInfo GetSupplierBalance(int supplierId)
        {
            BalanceDao balanceDao = new BalanceDao();

            return(balanceDao.StatisticsBalance(supplierId));
        }
Пример #19
0
        public static void OnLineBalanceDrawRequest_API(int Id, bool IsSuccess, string sError)
        {
            bool       flag       = false;
            BalanceDao balanceDao = new BalanceDao();
            SupplierBalanceDrawRequestInfo supplierBalanceDrawRequestInfo = balanceDao.Get <SupplierBalanceDrawRequestInfo>(Id);

            if (supplierBalanceDrawRequestInfo != null)
            {
                SupplierInfo supplierInfo = balanceDao.Get <SupplierInfo>(supplierBalanceDrawRequestInfo.SupplierId);
                ManagerInfo  manager      = HiContext.Current.Manager;
                string       text         = (manager == null) ? "" : manager.UserName;
                Database     database     = DatabaseFactory.CreateDatabase();
                using (DbConnection dbConnection = database.CreateConnection())
                {
                    dbConnection.Open();
                    DbTransaction dbTransaction = dbConnection.BeginTransaction();
                    try
                    {
                        OnLinePayment onLinePayment;
                        if (supplierInfo == null)
                        {
                            if (IsSuccess)
                            {
                                flag = balanceDao.DeleteBalanceDrawRequestById(true, supplierInfo.Balance, supplierBalanceDrawRequestInfo, text, dbTransaction, "");
                            }
                            else
                            {
                                BalanceDao balanceDao2 = balanceDao;
                                onLinePayment = OnLinePayment.PayFail;
                                flag          = balanceDao2.UpdateBalanceDrawRequest(Id, onLinePayment.GetHashCode().ToNullString(), "未找到该供应商,请拒绝该请求或做线下处理", text);
                            }
                            if (!flag)
                            {
                                dbTransaction.Rollback();
                            }
                            else
                            {
                                dbTransaction.Commit();
                            }
                        }
                        else
                        {
                            if (IsSuccess)
                            {
                                flag = balanceDao.DeleteBalanceDrawRequestById(true, supplierInfo.Balance, supplierBalanceDrawRequestInfo, text, dbTransaction, "");
                                if (!flag)
                                {
                                    dbTransaction.Rollback();
                                    goto end_IL_0071;
                                }
                            }
                            else
                            {
                                BalanceDao balanceDao3 = balanceDao;
                                onLinePayment = OnLinePayment.PayFail;
                                flag          = balanceDao3.UpdateBalanceDrawRequest(Id, onLinePayment.GetHashCode().ToNullString(), sError, text);
                            }
                            if (!flag)
                            {
                                dbTransaction.Rollback();
                            }
                            else
                            {
                                dbTransaction.Commit();
                            }
                        }
                        end_IL_0071 :;
                    }
                    catch (Exception ex)
                    {
                        IDictionary <string, string> dictionary = new Dictionary <string, string>();
                        dictionary.Add("ErrorMessage", ex.Message);
                        dictionary.Add("StackTrace", ex.StackTrace);
                        if (ex.InnerException != null)
                        {
                            dictionary.Add("InnerException", ex.InnerException.ToString());
                        }
                        if (ex.GetBaseException() != null)
                        {
                            dictionary.Add("BaseException", ex.GetBaseException().Message);
                        }
                        if (ex.TargetSite != (MethodBase)null)
                        {
                            dictionary.Add("TargetSite", ex.TargetSite.ToString());
                        }
                        dictionary.Add("ExSource", ex.Source);
                        Globals.WriteLog(dictionary, "", "", "", "AcceptDraw");
                        dbTransaction.Rollback();
                    }
                    finally
                    {
                        dbConnection.Close();
                    }
                }
            }
        }
Пример #20
0
        public static void OnLineBalanceDraws_Alipay_AllError(string requestIds, string errorMessage)
        {
            BalanceDao balanceDao = new BalanceDao();

            balanceDao.OnLineBalanceDrawRequest_Alipay_AllError(requestIds, errorMessage);
        }
Пример #21
0
        public static bool DealBalanceDrawRequestById(int Id, bool agree, ref string sError, string reason = "")
        {
            bool       flag       = false;
            BalanceDao balanceDao = new BalanceDao();
            SupplierBalanceDrawRequestInfo supplierBalanceDrawRequestInfo = balanceDao.Get <SupplierBalanceDrawRequestInfo>(Id);

            if (supplierBalanceDrawRequestInfo == null)
            {
                return(false);
            }
            SupplierInfo supplierInfo = balanceDao.Get <SupplierInfo>(supplierBalanceDrawRequestInfo.SupplierId);
            ManagerInfo  manager      = HiContext.Current.Manager;
            string       text         = (manager == null) ? "" : manager.UserName;
            Database     database     = DatabaseFactory.CreateDatabase();

            using (DbConnection dbConnection = database.CreateConnection())
            {
                dbConnection.Open();
                DbTransaction dbTransaction = dbConnection.BeginTransaction();
                try
                {
                    if (agree)
                    {
                        if (supplierBalanceDrawRequestInfo.IsPass.HasValue)
                        {
                            sError = "已处理该条记录";
                            dbTransaction.Rollback();
                            return(false);
                        }
                        OnLinePayment onLinePayment;
                        if (supplierInfo == null)
                        {
                            sError = "未找到该用户";
                            BalanceDao balanceDao2 = balanceDao;
                            onLinePayment = OnLinePayment.PayFail;
                            flag          = balanceDao2.UpdateBalanceDrawRequest(Id, onLinePayment.GetHashCode().ToNullString(), "未找到该供应商,请拒绝该用户的请求", text);
                            if (!flag)
                            {
                                dbTransaction.Rollback();
                                return(false);
                            }
                            dbTransaction.Commit();
                            return(false);
                        }
                        string text2 = supplierBalanceDrawRequestInfo.RequestState.ToNullString().Trim();
                        onLinePayment = OnLinePayment.Paying;
                        if (text2.Equals(onLinePayment.GetHashCode().ToNullString()))
                        {
                            sError = "付款正在进行中";
                            dbTransaction.Rollback();
                            return(false);
                        }
                        if (supplierBalanceDrawRequestInfo.IsAlipay.ToBool())
                        {
                            BalanceDao balanceDao3 = balanceDao;
                            onLinePayment = OnLinePayment.Paying;
                            flag          = balanceDao3.UpdateBalanceDrawRequest(Id, onLinePayment.GetHashCode().ToNullString(), "", text);
                            if (!flag)
                            {
                                dbTransaction.Rollback();
                                return(false);
                            }
                            EventLogs.WriteOperationLog(Privilege.MemberAccount, string.Format(CultureInfo.InvariantCulture, "给供应商\"{0}\"处理提现申请(支付宝批量付款)", new object[1]
                            {
                                supplierBalanceDrawRequestInfo.SupplierId
                            }), false);
                            return(true);
                        }
                        flag = balanceDao.DeleteBalanceDrawRequestById(agree, supplierInfo.Balance, supplierBalanceDrawRequestInfo, text, dbTransaction, reason);
                        if (!flag)
                        {
                            dbTransaction.Rollback();
                            return(false);
                        }
                    }
                    else
                    {
                        flag = balanceDao.DeleteBalanceDrawRequestById(agree, supplierInfo.Balance, supplierBalanceDrawRequestInfo, text, dbTransaction, reason);
                        if (!flag)
                        {
                            dbTransaction.Rollback();
                            return(false);
                        }
                    }
                    dbTransaction.Commit();
                    EventLogs.WriteOperationLog(Privilege.MemberAccount, string.Format(CultureInfo.InvariantCulture, "给供应商\"{0}\"处理提现申请", new object[1]
                    {
                        supplierBalanceDrawRequestInfo.SupplierId
                    }), false);
                }
                catch (Exception ex)
                {
                    IDictionary <string, string> dictionary = new Dictionary <string, string>();
                    dictionary.Add("ErrorMessage", ex.Message);
                    dictionary.Add("StackTrace", ex.StackTrace);
                    if (ex.InnerException != null)
                    {
                        dictionary.Add("InnerException", ex.InnerException.ToString());
                    }
                    if (ex.GetBaseException() != null)
                    {
                        dictionary.Add("BaseException", ex.GetBaseException().Message);
                    }
                    if (ex.TargetSite != (MethodBase)null)
                    {
                        dictionary.Add("TargetSite", ex.TargetSite.ToString());
                    }
                    dictionary.Add("ExSource", ex.Source);
                    Globals.WriteLog(dictionary, "", "", "", "AcceptDraw");
                    sError = ex.Message;
                    dbTransaction.Rollback();
                }
                finally
                {
                    dbConnection.Close();
                }
                return(flag);
            }
        }