Ejemplo n.º 1
0
 public List<Finance> FinanceTableToList(DataTable dt)
 {
     List<Finance> list = new List<Finance>();
     foreach (DataRow row in dt.Rows)
     {
         Finance info = new Finance();
         info.FinId = Convert.ToInt32(row["FinId"]);
         info.FinDate = (string)row["FinDate"];
         info.Description = (string)row["Description"];
         info.EventType = (string)row["EventType"];
         info.Amount = Convert.ToDouble(row["Amount"]);
         info.Currency = (string)row["Currency"];
         info.TotalAmount = Convert.ToDouble(row["TotalAmount"]);
         info.Rate = Convert.ToDouble(row["Rate"]);
         info.Association = (string)row["Association"];
         info.Account = (string)row["Account"];
         info.ReferenceNo = Convert.IsDBNull(row["ReferenceNo"]) ? "" : (string)row["ReferenceNo"];
         info.ReceivePaymentor = (string)row["ReceivePaymentor"];
         info.Customer = Convert.IsDBNull(row["Customer"])?"":(string)row["Customer"];
         info.ItemType = (string)row["ItemType"];
         info.Remark = Convert.IsDBNull(row["Remark"])?"":(string)row["Remark"];
         list.Add(info);
     }
     return list;
 }
Ejemplo n.º 2
0
 public void LoadEditData(Finance finance)
 {
     if (finance == null) return;
     this.Tag = finance;
     this.Description.Text = finance.Description;
     this.FinDate.Text = finance.FinDate;
     this.Remark.Text = finance.Remark;
     this.Association.Text = finance.Association;
     this.ReceivePaymentor.Text = finance.ReceivePaymentor;
     this.Customer.Text = finance.Customer;
     this.ReferenceNo.Text = finance.ReferenceNo;
     this.TotalAmount.Text = "¥" + finance.TotalAmount.ToString("#,##0.00");
     this.Amount.Text = finance.Amount.ToString("#,##0.00");
     this.Rate.Text = finance.Rate.ToString("#,##0.0000");
     AliHelperUtils.LoadAppDicComboBoxValue(this.ItemType, finance.ItemType);
     AliHelperUtils.LoadAppDicComboBoxValue(this.EventType, finance.EventType);
     AliHelperUtils.LoadAppDicComboBoxValue(this.Curreny, finance.Currency);
     AliHelperUtils.LoadAppDicComboBoxValue(this.Account, finance.Account);
     AliHelperUtils.LoadAppDicComboBoxValue(this.Association, finance.Association);
     foreach (FinDetails detail in finance.Details)
     {
         int index = DetailView.Rows.Add();
         DetailView.Rows[index].Cells["DetailDescription"].Value = detail.Description;
         DetailView.Rows[index].Cells["DetailOrderNo"].Value = detail.OrderNo;
         DetailView.Rows[index].Cells["DetailAssociation"].Value = detail.Association;
         DetailView.Rows[index].Cells["DetailRemark"].Value = detail.Remark;
         DetailView.Rows[index].Cells["DetailAmount"].Value = detail.Amount.ToString("#,##0.00");
         DetailView.Rows[index].Cells["DetailTotalAmount"].Value = "¥"+detail.TotalAmount.ToString("#,##0.00");
     }
 }
Ejemplo n.º 3
0
        public void InsertOrUpdateFinance(Finance finance)
        {
            string InsSql = @"INSERT INTO Finance(FinDate, Description, EventType, ItemType, Account, ReferenceNo, ReceivePaymentor, Customer, Association,Amount,Rate,Currency,Remark, CreatedTime,ModifiedTime)"
                            + "values(@FinDate, @Description, @EventType, @ItemType, @Account, @ReferenceNo, @ReceivePaymentor, @Customer, @Association,@Amount,@Rate,@Currency,@Remark, @CreatedTime, @ModifiedTime)";
            string UpdSql = @"update Finance set Description=@Description,FinDate=@FinDate,EventType=@EventType,Amount=@Amount,Association=@Association,"
                            + "ReceivePaymentor=@ReceivePaymentor,Account=@Account,ItemType=@ItemType,ReferenceNo=@ReferenceNo,Customer=@Customer,Remark=@Remark,Currency=@Currency,Rate =@Rate,ModifiedTime=@ModifiedTime "
                            + "WHERE FinId=@FinId";

            string ExistRecordSql = "SELECT count(1) FROM Finance WHERE FinId = ";

            List<MySqlParameter[]> InsertParameters = new List<MySqlParameter[]>();
            List<MySqlParameter[]> UpdateParameters = new List<MySqlParameter[]>();
            DateTime CurrentTime = DateTime.Now;
            MySqlParameter[] parameter = new MySqlParameter[]
            {
                 new MySqlParameter("@FinId",finance.FinId),
                new MySqlParameter("@FinDate",finance.FinDate),
                new MySqlParameter("@Description",finance.Description),
                new MySqlParameter("@EventType",finance.EventType),
                new MySqlParameter("@Account",finance.Account),
                new MySqlParameter("@ItemType",finance.ItemType),
                new MySqlParameter("@ReferenceNo",finance.ReferenceNo),
                new MySqlParameter("@ReceivePaymentor",finance.ReceivePaymentor),
                new MySqlParameter("@Customer",finance.Customer),
                new MySqlParameter("@Association",finance.Association),
                new MySqlParameter("@Amount",finance.Amount),
                new MySqlParameter("@Rate",finance.Rate),
                new MySqlParameter("@Currency",finance.Currency),
                new MySqlParameter("@Remark",finance.Remark),
                new MySqlParameter("@CreatedTime", CurrentTime),
                new MySqlParameter("@ModifiedTime",CurrentTime)
            };
            int record = Convert.ToInt32(dbHelper.ExecuteScalar(ExistRecordSql + finance.FinId, null));
            using (MySqlConnection connection = dbHelper.GetConnection())
            {
                connection.Open();
                using (DbTransaction transaction = connection.BeginTransaction())
                {
                    if (record == 0)
                    {
                        dbHelper.ExecuteNonQuery(transaction, InsSql, parameter);
                        int LasertInsertId = dbHelper.GetLastInsertId(transaction);
                        foreach (FinDetails detail in finance.Details)
                        {
                            detail.FinId = LasertInsertId;
                        }
                    }
                    else
                    {
                        dbHelper.ExecuteNonQuery(transaction, UpdSql, parameter);
                        dbHelper.ExecuteNonQuery(transaction, "delete from FinDetails where FinId =" + finance.FinId);
                    }
                    InsertOrUpdateDetails(transaction, finance.Details);
                    transaction.Commit();
                }
                connection.Close();
            }
        }
Ejemplo n.º 4
0
 public void InsertOrUpdateFinance(Finance obj)
 {
     financeDao.InsertOrUpdateFinance(obj);
     FireEditFinanceEvent(obj);
 }
Ejemplo n.º 5
0
        private void Confirm_Click(object sender, EventArgs e)
        {
            Finance finance;
            if (this.Tag == null)
            {
                finance = new Finance();
            }
            else
            {
                finance = (Finance)this.Tag;
            }
            finance.Description = this.Description.Text.Trim();
            finance.EventType = ((AppDic)this.EventType.SelectedItem).Key;
            finance.FinDate = this.FinDate.Value.ToString(Constants.DateFormat);
            finance.ItemType = ((AppDic)this.ItemType.SelectedItem).Key; ;
            finance.Remark = this.Remark.Text.Trim();
            finance.Association = ((AppDic)this.Association.SelectedItem).Key;
            finance.Rate = Convert.ToDouble(this.Rate.Text.Trim());
            finance.Currency = ((AppDic)this.Curreny.SelectedItem).Key;
            finance.Amount = Convert.ToDouble(this.Amount.Text);
            finance.ReceivePaymentor = this.ReceivePaymentor.Text.Trim();
            finance.Account = ((AppDic)this.Account.SelectedItem).Key;
            finance.ReferenceNo = this.ReferenceNo.Text.Trim();
            finance.Customer = this.Customer.Text.Trim();
            if (finance.Amount == 0)
            {
                return;
            }
            if (string.IsNullOrEmpty(finance.Description))
            {
                return;
            }
            if (string.IsNullOrEmpty(finance.Association))
            {
                return;
            }
            bool HasError = false;
            List<FinDetails> details = new List<FinDetails>();

            foreach (DataGridViewRow row in DetailView.Rows)
            {
                string desc = (string)row.Cells["DetailDescription"].Value;
                if (string.IsNullOrEmpty(desc))
                {
                    HasError = true;
                    row.Cells["DetailDescription"].ErrorText = "不能为空";
                }
                string orderNo = (string)row.Cells["DetailOrderNo"].Value;
                if (string.IsNullOrEmpty(orderNo))
                {
                    HasError = true;
                    row.Cells["DetailOrderNo"].ErrorText = "不能为空";
                }
                double amount = Convert.ToDouble(row.Cells["DetailAmount"].Value);
                if (amount == 0.00)
                {
                    HasError = true;
                    row.Cells["DetailAmount"].ErrorText = "不能为零";
                }
                string association = (string)row.Cells["DetailAssociation"].Value;
                if (string.IsNullOrEmpty(association))
                {
                    HasError = true;
                    row.Cells["DetailAssociation"].ErrorText = "不能为空";
                }
                string remark = (string)row.Cells["DetailRemark"].Value;
                FinDetails detail = new FinDetails();
                detail.FinId = finance.FinId;
                detail.FinDate = finance.FinDate;
                detail.ItemType = finance.ItemType;
                detail.EventType = finance.EventType;
                detail.Currency = finance.Currency;
                detail.Rate = finance.Rate;
                detail.Description = desc;
                detail.OrderNo = orderNo;
                detail.Amount = amount;
                detail.Association = association;
                detail.Remark = remark;
                details.Add(detail);
            }
            if (HasError)
            {
                return;
            }
            finance.Details = details;
            finOrderManager.InsertOrUpdateFinance(finance);
            this.Close();
        }