示例#1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (oMTransactionList.Count > 0)
            {
                if (iGridControl.Visible)
                {
                    oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.PLEASE_CLOSE_THE_ISBN_PANEL.ToString().Replace("_", " "));
                    oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                    oFrmMsgBox.ShowDialog();
                    return;
                }

                if (dTotalAmount > iPaymentWindow.ReceiveAmount)
                {
                    oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.PLEASE_ENTER_EXACT_PAYMENT_AMOUNT.ToString().Replace("_", " "));
                    oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                    oFrmMsgBox.ShowDialog();
                    return;
                }

                if (oMTransactionList.Where(fw => fw.BFLAG == true).Count() == 0)
                {
                    oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.PLEASE_SELECT_A_RECORD.ToString().Replace("_", " "));
                    oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                    oFrmMsgBox.ShowDialog();
                    return;
                }

                foreach (var oItem in oMTransactionList)
                {
                    oBook                       = new DataAccess.Book();
                    oMTransaction               = new Model.Transaction();
                    oMTransaction.PERSON_ID     = txtBorrowerID.Text;
                    oMTransaction.BOOK_ID       = oItem.BOOK_ID;
                    oMTransaction.BOOK_NO       = oItem.BOOK_NO;
                    oMTransaction.TOTAL_AMOUNT  = dTotalAmount;
                    oMTransaction.MODIFIED_DATE = DateTime.Now.ToString("yyyy-MM-dd");
                    oMTransaction.MODIFIED_BY   = eVariable.sUsername;
                    oMTransaction.REMARKS       = rdDamage.Checked == true ? "DAMAGE" : "LOST";
                    if (oItem.BFLAG)
                    {
                        oMTransaction.STATUS = "INACTIVE";
                        oBook.ReturnBook(oMTransaction);
                    }
                }

                oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.TRANSACTION_HAS_BEEN_SUCESSFULLY_SAVE.ToString().Replace("_", " "));
                oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                oFrmMsgBox.ShowDialog();
                iPaymentWindow.clearText();
                eVariable.ClearText(pnlMain);
                dgBooks.Rows.Clear();
            }
            else
            {
                oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.PLEASE_SELECT_A_RECORD.ToString().Replace("_", " "));
                oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                oFrmMsgBox.ShowDialog();
            }
        }
示例#2
0
        private void dgBooks_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgBooks.Rows.Count > 0)
            {
                if (e.ColumnIndex == 10 && e.RowIndex >= 0)
                {
                    oMTransaction              = new Model.Transaction();
                    oMTransaction.PERSON_ID    = txtBorrowerID.Text;
                    oMTransaction.BOOK_ID      = dgBooks.Rows[e.RowIndex].Cells[0].Value.ToString();
                    oMTransaction.TITLE        = dgBooks.Rows[e.RowIndex].Cells[1].Value.ToString();
                    oMTransaction.SUBJECT      = dgBooks.Rows[e.RowIndex].Cells[2].Value.ToString();
                    oMTransaction.ADDED_DATE   = dgBooks.Rows[e.RowIndex].Cells[3].Value.ToString();
                    oMTransaction.BOOK_PRICE   = dgBooks.Rows[e.RowIndex].Cells[4].Value.ToString();
                    oMTransaction.RENT_PRICE   = dgBooks.Rows[e.RowIndex].Cells[5].Value.ToString();
                    oMTransaction.DUE_INTEREST = Convert.ToDouble(dgBooks.Rows[e.RowIndex].Cells[6].Value);
                    oMTransaction.LD_INTEREST  = Convert.ToDouble(dgBooks.Rows[e.RowIndex].Cells[7].Value);
                    oMTransaction.TOTAL_QTY    = dgBooks.Rows[e.RowIndex].Cells[8].Value.ToString();
                    oMTransaction.TOTAL_DAYS   = dgBooks.Rows[e.RowIndex].Cells[9].Value.ToString();



                    iGridControl.BookCommonData           = oMTransaction;
                    iGridControl.BookListData             = oMTransactionList;
                    iGridControl.FindOption               = iControlGrid.iGridControl.FIND_OPTION.SEARCH_LOCAL_BORROWED_BOOK_ISBN;
                    iGridControl.SetCheckBoxColumnVisible = true;
                    iGridControl.SetHeaderVisible         = true;
                    iGridControl.PopulateRecord();
                    iGridControl.Visible = true;
                }
            }
        }
示例#3
0
        private void AutoFillBook()
        {
            dgBooks.Rows.Clear();
            oBook = new DataAccess.Book();
            Model.Transaction oRetain = new Model.Transaction();
            foreach (DataRow row in oBook.GetTransactionBookRecordPerBorrowerNotSort(eVariable.FIND_BOOK.BOOK_BORROWED, eVariable.sBorrowerID).Rows)
            {
                oMTransaction              = new Model.Transaction();
                oMTransaction.PERSON_ID    = eVariable.sBorrowerID;
                oMTransaction.FIRST_NAME   = eVariable.FirstName;
                oMTransaction.MIDDLE_NAME  = eVariable.MiddleName;
                oMTransaction.LAST_NAME    = eVariable.LastName;
                oMTransaction.BOOK_ID      = row[0].ToString();
                oMTransaction.TITLE        = row[1].ToString();
                oMTransaction.SUBJECT      = row[2].ToString();
                oMTransaction.CATEGORY     = row[3].ToString();
                oMTransaction.AUTHOR       = row[4].ToString();
                oMTransaction.PUBLISH_DATE = row[5].ToString();
                oMTransaction.LOCATION     = row[6].ToString();
                oMTransaction.BOOK_PRICE   = row[7].ToString();
                oMTransaction.RENT_PRICE   = row[8].ToString();
                oMTransaction.DUE_INTEREST = Convert.ToDouble(row[9].ToString());
                oMTransaction.LD_INTEREST  = Convert.ToDouble(row[10].ToString());
                oMTransaction.TOTAL_QTY    = row[11].ToString();
                oMTransaction.TOTAL_DAYS   = row[12].ToString();
                oMTransaction.ADDED_DATE   = row[13].ToString();
                oMTransaction.BOOK_NO      = row[14].ToString();
                oMTransaction.ISBN_NUMBER  = row[15].ToString();
                oMTransaction.BFLAG        = true;
                oMTransactionList.Add(oMTransaction);
            }

            LoadRecords();
        }
示例#4
0
        void FillRecordList()
        {
            oMTransactionList = new List <Model.Transaction>();
            oBook             = new DataAccess.Book();
            foreach (DataRow row in oBook.GetBookRecords(eVariable.FILTER_BOOK.BOOK_DEFAULT, "ACTIVE", eVariable.sBookID).Rows)
            {
                oMTransaction              = new Model.Transaction();
                oMTransaction.BOOK_ID      = row[0].ToString();
                oMTransaction.BOOK_NO      = row[1].ToString();
                oMTransaction.TITLE        = row[2].ToString();
                oMTransaction.SUBJECT      = row[3].ToString();
                oMTransaction.CATEGORY     = row[4].ToString();
                oMTransaction.AUTHOR       = row[5].ToString();
                oMTransaction.PUBLISH_DATE = row[6].ToString();
                oMTransaction.ISBN_NUMBER  = row[7].ToString();
                oMTransaction.LOCATION     = row[8].ToString();

                oMTransaction.BOOK_PRICE    = row[9].ToString();
                oMTransaction.RENT_PRICE    = row[10].ToString();
                oMTransaction.ADDED_DATE    = row[11].ToString();
                oMTransaction.ADDED_BY      = row[12].ToString();
                oMTransaction.MODIFIED_DATE = row[13].ToString();
                oMTransaction.MODIFIED_BY   = row[14].ToString();
                oMTransaction.REMARKS       = row[15].ToString();
                oMTransaction.STATUS        = row[16].ToString();

                oMTransactionList.Add(oMTransaction);
            }
        }
 public TransactionCreateViewItem(Model.Transaction transaction)
     : base(transaction)
 {
     SelectedSKUGuids = new List <Guid>(
         (from x in transaction.TransactionItems select x.SkuId).ToList()
         );
 }
示例#6
0
        public IActionResult Deposit([FromBody] TransactionRequest request)
        {
            Model.Transaction transaction = new Model.Transaction()
            {
                AccountId    = request.AccountId,
                Amount       = request.Amount,
                CreationDate = DateTime.Now.ToShortDateString(),
                Type         = "Deposit"
            };
            transaction = _services.Deposit(transaction);
            bool isProccess = _servicesAccount.Execute(transaction);

            if (isProccess)
            {
                _bus.SendCommand(new DepositCreateCommand(
                                     idTransaction: transaction.Id,
                                     amount: transaction.Amount,
                                     type: transaction.Type,
                                     creationDate: transaction.CreationDate,
                                     accountId: transaction.AccountId
                                     ));

                _bus.SendCommand(new MailCreateCommand(
                                     sendDate: transaction.CreationDate,
                                     accountId: transaction.AccountId
                                     ));
            }

            return(Ok());
        }
示例#7
0
 /// <summary>
 /// Construct viewmodel
 /// </summary>
 /// <param name="transaction">Transaction that this viewmodel represents</param>
 public TransactionViewModel(Model.Transaction transaction)
     : this()
 {
     this.TransactionId   = transaction.TransactionId;
     this.Status          = transaction.Status;
     this.CreatedDateTime = transaction.CreatedDateTime;
 }
示例#8
0
        private void dgBooks_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 10 && e.RowIndex >= 0)
            {
                oMTransaction = new Model.Transaction();

                oMTransaction.BOOK_ID      = dgBooks.Rows[e.RowIndex].Cells[0].Value.ToString();
                oMTransaction.TITLE        = dgBooks.Rows[e.RowIndex].Cells[1].Value.ToString();
                oMTransaction.SUBJECT      = dgBooks.Rows[e.RowIndex].Cells[2].Value.ToString();
                oMTransaction.CATEGORY     = dgBooks.Rows[e.RowIndex].Cells[3].Value.ToString();
                oMTransaction.AUTHOR       = dgBooks.Rows[e.RowIndex].Cells[4].Value.ToString();
                oMTransaction.PUBLISH_DATE = dgBooks.Rows[e.RowIndex].Cells[5].Value.ToString();
                oMTransaction.ADDED_DATE   = dgBooks.Rows[e.RowIndex].Cells[6].Value.ToString();
                oMTransaction.BOOK_PRICE   = dgBooks.Rows[e.RowIndex].Cells[7].Value.ToString();
                oMTransaction.RENT_PRICE   = dgBooks.Rows[e.RowIndex].Cells[8].Value.ToString();


                oMTransaction.PERSON_ID = txtBorrowerID.Text;

                iGridControl.BookCommonData = oMTransaction;
                iGridControl.BookListData   = oMTransactionList;
                iGridControl.FindOption     = iControlGrid.iGridControl.FIND_OPTION.SEARCH_SELECTED_BORROWED_BOOK_ISBN;

                iGridControl.SetHeaderVisible = true;
                iGridControl.PopulateRecord();
                iGridControl.Visible = true;
            }
        }
示例#9
0
        protected virtual void SaveForm()
        {
            this.ResetError();

            if (this.Transaction != null)
            {
                try
                {
                    this.Transaction.Commit(true);
                    this.Transaction = null;
                    this.OnSaved();
                }
                catch (Model.Exceptions.ServerException e)
                {
                    // Raise Error Message
                    this.OnError(e.Message);

                    // Add Item to a new Transaction
                    this.Transaction = this.Session.Model.BeginTransaction();
                    this.Item.Update(this.Transaction);
                }

                this.SetCommandsCanExecute();
            }
        }
示例#10
0
        public IEnumerable <Model.Transaction> LoadTransactions(Stream stream)
        {
            var result = new List <Model.Transaction>();

            using (var reader = new StreamReader(stream))
            {
                // Read and ignore first row
                var line = reader.ReadLine();
                if (line != null)
                {
                    line = reader.ReadLine();
                    while (line != null)
                    {
                        var tokens = line.Split(',');
                        if (tokens.Length == 12)
                        {
                            var txn = new Model.Transaction(DateTime.Parse(tokens[2]), tokens[4], tokens[3] == "B" ? TransactionTypes.Buy : TransactionTypes.Sell, Convert.ToInt32(tokens[5]), Convert.ToDecimal(tokens[7]), Convert.ToDecimal(tokens[8]));
                            result.Add(txn);
                        }

                        line = reader.ReadLine();
                    }
                }
            }
            return(result);
        }
示例#11
0
        public void ReturnBook(Model.Transaction oMTransaction)
        {
            try
            {
                osb.ConnectionString = sConnectionString;
                ddq = new DatabaseQuery.DBQuery();
                ddq.ConnectionString = osb.ConnectionString;

                ddq.CommandText = "SP_RETURN_BOOK";
                ddq.AddParamer("@BOOK_ID", SqlDbType.VarChar, oMTransaction.BOOK_ID);
                ddq.AddParamer("@BORROWER_ID", SqlDbType.VarChar, oMTransaction.PERSON_ID);
                ddq.AddParamer("@BOOK_NO", SqlDbType.VarChar, oMTransaction.BOOK_NO);
                ddq.AddParamer("@MODIFIED_DATE", SqlDbType.VarChar, oMTransaction.MODIFIED_DATE);
                ddq.AddParamer("@MODIFIED_BY", SqlDbType.VarChar, oMTransaction.MODIFIED_BY);
                ddq.AddParamer("@TOTAL_AMOUNT", SqlDbType.Decimal, oMTransaction.TOTAL_AMOUNT);
                ddq.AddParamer("@REMARKS", SqlDbType.VarChar, oMTransaction.REMARKS);
                ddq.AddParamer("@STATUS", SqlDbType.VarChar, oMTransaction.STATUS);

                ddq.ExecuteNonQuery(CommandType.StoredProcedure);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#12
0
        public void UpdateBookDetails(Model.Transaction oMTransaction)
        {
            try
            {
                osb.ConnectionString = sConnectionString;
                ddq = new DatabaseQuery.DBQuery();
                ddq.ConnectionString = osb.ConnectionString;

                ddq.CommandText = "SP_UPDATE_BOOK_DETAILS";
                ddq.AddParamer("@ID", SqlDbType.VarChar, oMTransaction.BOOK_ID);
                ddq.AddParamer("@BOOK_NO", SqlDbType.VarChar, oMTransaction.BOOK_NO);
                ddq.AddParamer("@TITLE", SqlDbType.VarChar, oMTransaction.TITLE);
                ddq.AddParamer("@SUBJECT", SqlDbType.VarChar, oMTransaction.SUBJECT);
                ddq.AddParamer("@CATEGORY", SqlDbType.VarChar, oMTransaction.CATEGORY);
                ddq.AddParamer("@AUTHOR", SqlDbType.VarChar, oMTransaction.AUTHOR);
                ddq.AddParamer("@PUBLISH_DATE", SqlDbType.VarChar, oMTransaction.PUBLISH_DATE);
                ddq.AddParamer("@LOCATION", SqlDbType.VarChar, oMTransaction.LOCATION);
                ddq.AddParamer("@BOOK_PRICE", SqlDbType.VarChar, oMTransaction.BOOK_PRICE);
                ddq.AddParamer("@RENT_PRICE", SqlDbType.VarChar, oMTransaction.RENT_PRICE);
                ddq.AddParamer("@ISBN_NUMBER", SqlDbType.VarChar, oMTransaction.ISBN_NUMBER);
                ddq.AddParamer("@MODIFIED_DATE", SqlDbType.VarChar, oMTransaction.MODIFIED_DATE);
                ddq.AddParamer("@MODIFIED_BY", SqlDbType.VarChar, oMTransaction.MODIFIED_BY);
                ddq.AddParamer("@REMARKS", SqlDbType.VarChar, oMTransaction.REMARKS);
                ddq.AddParamer("@STATUS", SqlDbType.VarChar, oMTransaction.STATUS);
                ddq.ExecuteNonQuery(CommandType.StoredProcedure);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#13
0
        public void RequestBook(Model.Transaction oMTransaction)
        {
            try
            {
                osb.ConnectionString = sConnectionString;
                ddq = new DatabaseQuery.DBQuery();
                ddq.ConnectionString = osb.ConnectionString;

                ddq.CommandText = "SP_REQUEST_BOOK";
                ddq.AddParamer("@ID", SqlDbType.VarChar, oMTransaction.BOOK_ID);
                ddq.AddParamer("@BORROWER_ID", SqlDbType.VarChar, oMTransaction.PERSON_ID);
                ddq.AddParamer("@BOOK_NO", SqlDbType.VarChar, oMTransaction.BOOK_NO);
                ddq.AddParamer("@TITLE", SqlDbType.VarChar, oMTransaction.TITLE);
                ddq.AddParamer("@SUBJECT", SqlDbType.VarChar, oMTransaction.SUBJECT);
                ddq.AddParamer("@CATEGORY", SqlDbType.VarChar, oMTransaction.CATEGORY);
                ddq.AddParamer("@AUTHOR", SqlDbType.VarChar, oMTransaction.AUTHOR);
                ddq.AddParamer("@PUBLISH_DATE", SqlDbType.VarChar, oMTransaction.PUBLISH_DATE);
                ddq.AddParamer("@ISBN_NUMBER", SqlDbType.VarChar, oMTransaction.ISBN_NUMBER);
                ddq.AddParamer("@LOCATION", SqlDbType.VarChar, oMTransaction.LOCATION);
                ddq.AddParamer("@BOOK_PRICE", SqlDbType.VarChar, oMTransaction.BOOK_PRICE);
                ddq.AddParamer("@RENT_PRICE", SqlDbType.VarChar, oMTransaction.RENT_PRICE);
                ddq.AddParamer("@DAYS_BORROWED", SqlDbType.VarChar, oMTransaction.TOTAL_DAYS);
                ddq.AddParamer("@ADDED_DATE", SqlDbType.VarChar, oMTransaction.ADDED_DATE);
                ddq.AddParamer("@ADDED_BY", SqlDbType.VarChar, oMTransaction.ADDED_BY);
                ddq.AddParamer("@STATUS", SqlDbType.VarChar, oMTransaction.STATUS);

                ddq.ExecuteNonQuery(CommandType.StoredProcedure);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#14
0
        public TransactionDetailsViewItem(Model.Transaction transaction,
                                          IEnumerable <Model.TransactionItem> transactionItems,
                                          IEnumerable <Model.TransactionIgnoredItem> transactionIgnoredItems,
                                          IEnumerable <Model.License> domainlessLicenseQuery,
                                          IEnumerable <Model.License> customerapplessLicenseQuery)
            : base(transaction)
        {
            PurchaserEmail = transaction.PurchaserEmail;

            PurchaserName = (transactionItems.Any(l => l.License != null)) ?
                            transactionItems.FirstOrDefault().License.PurchasingCustomer.Name : transaction.PurchaserName;

            OwnerName = (transactionItems.Any(l => l.License != null)) ?
                        transactionItems.FirstOrDefault().License.OwningCustomer.Name : "None";

            SKUSummary = (from x in transactionItems select x.Sku).ToSummary(x => x.SkuCode, 99, ", ");

            IgnoredSummary = (from x in transactionIgnoredItems select x.Description).ToSummary(x => x, 99, ", ");

            StatusName = transaction.Status.GetDescription <Model.TransactionStatus>();

            DomainlessLicenses = (from x in domainlessLicenseQuery select x.ObjectId).ToList();

            CustomerapplessLicenses = (from x in customerapplessLicenseQuery select x.ObjectId).ToList();
        }
示例#15
0
 public void Insert(Model.Transaction transaction)
 {
     //_context.DbConnection.Insert(transaction);
     transaction.TransactionId = _context.DbConnection.Query <long>(
         @"INSERT INTO [Transaction] 
     ( TransactionDate, Description,TransactionAmount,CreatedDate,ModifiedDate,CurrencyCode,Merchant) VALUES 
     ( @TransactionDate, @Description,@TransactionAmount,@CreatedDate,@ModifiedDate,@CurrencyCode,@Merchant );
     select last_insert_rowid()", transaction).First();
 }
示例#16
0
        private static async Task <bool> IndexBlock(Model.BCExplorerContext context, string blockHash)
        {
            _logger.LogInformation($"Processing block at height {_currentBlockHeight}: {blockHash}");

            BlockResult blockResult = await _client.GetBlockAsync(blockHash);

            if (blockResult == null)
            {
                _logger.LogWarning($"Warning - could not retrieve block at height {_currentBlockHeight}: {blockHash}");
                return(false);
            }

            var block = new Model.Block
            {
                Id        = _currentBlockNumber,
                Height    = _currentBlockHeight,
                BlockHash = blockHash,
                BlockData = blockResult.OriginalJson
            };

            context.Blocks.Add(block);

            if (_currentBlockHeight == 0)
            {
                // for the transaction in the genesis block, we can't pull transaction data, so this is all we know
                var genesisBlockTransaction = new Model.Transaction {
                    Block = block, Id = blockResult.Transactions[0]
                };
                context.Transactions.Add(genesisBlockTransaction);
                _currentBlockHeight++;
                _currentBlockNumber++;
                context.SaveChanges();
                return(true);
            }

            List <BCExplorer.Network.Models.Transaction> blockTransactions = new List <BCExplorer.Network.Models.Transaction>();

            foreach (var txid in blockResult.Transactions)
            {
                var transaction = await _transactionProvider.GetTransaction(txid);

                transaction.Block = new BCExplorer.Network.Models.Block {
                    Height = _currentBlockHeight
                };
                blockTransactions.Add(transaction);
            }

            foreach (var blockTx in blockTransactions)
            {
                ProcessTransaction(blockTx, context);
            }

            context.SaveChanges();
            _currentBlockHeight++;
            _currentBlockNumber++;
            return(true);
        }
示例#17
0
 private void dgBooks_CellEnter(object sender, DataGridViewCellEventArgs e)
 {
     if (dgBooks.Rows.Count > 0)
     {
         oMTransaction           = new Model.Transaction();
         oMTransaction.PERSON_ID = txtBorrowerID.Text;
         oMTransaction.BOOK_ID   = dgBooks.Rows[e.RowIndex].Cells[0].Value.ToString();
     }
 }
示例#18
0
        /// <summary>
        /// Convert back to Transaction instance
        /// </summary>
        /// <param name="original">Original Transaction. If Null a new instance is created.</param>
        /// <returns>Transaction containing viewmodel data </returns>
        public Model.Transaction ToEntity(Model.Transaction original)
        {
            Model.Transaction current = original ?? new Model.Transaction();

            //Update from viewmodel, never update createdDateTime
            current.TransactionId = this.TransactionId;
            current.Status        = this.Status;

            return(current);
        }
示例#19
0
        public Model.Transaction Create(Model.Transaction transaction, int?targetGoalId)
        {
            //Set the parameters and
            string sql = LoadSqlResources().First().Value;
            Dictionary <string, object> parameters = ConvertToParameters(transaction);

            parameters.Add("TargetGoalId", targetGoalId);

            return(typedDataAccess.ExecuteQuery <Model.Transaction>(sql, parameters).First());
        }
示例#20
0
        public Decimal GetTransactionFee(Model.Transaction tx)
        {
            TransactionSearchReq request = new TransactionSearchReq();

            request.TransactionSearchRequest = new TransactionSearchRequestType();

            request.TransactionSearchRequest.TransactionID = tx.MerchantTransactionId;
            request.TransactionSearchRequest.StartDate     = tx.TimeCreated.Value.ToString("yyyy-MM-ddTHH:mm:ss");
            request.TransactionSearchRequest.EndDate       = tx.TimeCreated.Value.ToString("yyyy-MM-ddTHH:mm:ss");

            Dictionary <string, string> config = new Dictionary <string, string>();

            config.Add("mode", Mode);
            config.Add("account1.apiUsername", Username);
            config.Add("account1.apiPassword", Password);
            config.Add("account1.apiSignature", Signature);

            // Create the PayPalAPIInterfaceServiceService service object to make the API call
            PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(config);

            TransactionSearchResponseType resp = service.TransactionSearch(request);

            PaymentTransactionSearchResultType payment;

            if (resp.Errors.Count > 0)
            {
                throw new Exception(resp.Errors.Select(e => e.ShortMessage).Aggregate((current, next) => current + ", " + next));
            }

            if (resp.PaymentTransactions.Count() <= 1)
            {
                payment = resp.PaymentTransactions.FirstOrDefault();
            }
            else
            {
                payment = resp.PaymentTransactions.Where(x => x.TransactionID == tx.MerchantTransactionId).FirstOrDefault();

                if (payment == null)
                {
                    //transaction not found. try to search any linked transactions for timestamp, amount and type
                    //check previous day as well because of Paypal using GMT
                    payment = resp.PaymentTransactions.Where(x => x.Type.ToUpper() == GetTransactionType(tx.Type).ToString().ToUpper() &&
                                                             x.GrossAmount.value.AsDouble() == tx.Amount &&
                                                             x.Timestamp.AsDateTime().Value.AddDays(-1) <= tx.TimeCreated &&
                                                             x.Timestamp.AsDateTime().Value >= tx.TimeCreated).FirstOrDefault();
                }
            }

            if (payment != null)
            {
                return(decimal.Parse(payment.FeeAmount.value));
            }
            return(0);
        }
示例#21
0
 public Form(Manager.Session Session, Model.Store Store)
     : base(Session)
 {
     this.Store       = Store;
     this.Refresh     = new RefreshCommand(this);
     this.Create      = new CreateCommand(this);
     this.Edit        = new EditCommand(this);
     this.Save        = new SaveCommand(this);
     this.Promote     = new PromoteCommand(this);
     this.Undo        = new UndoCommand(this);
     this.Transaction = null;
 }
示例#22
0
        public frmAdjustItem(frmBookList oFrmBook, Model.Transaction oTrans)
        {
            InitializeComponent();

            oFrmBookLst   = oFrmBook;
            oMTransaction = oTrans;

            eVariable.DisableTextEnterKey(pnlMain);
            eVariable.DisableTextEnterKey(pnlOther);
            GetDataRecordFunctionPointer += new GetDataRecordFunction(GetRecord);
            iGridControl.GetDataRecord    = GetDataRecordFunctionPointer;
        }
示例#23
0
        public TransactionIndexViewItem(Model.Transaction transaction, IEnumerable <Model.TransactionItem> transactionItems)
            : base(transaction)
        {
            PurchaserName = (transactionItems.FirstOrDefault().License != null) ?
                            transactionItems.FirstOrDefault().License.PurchasingCustomer.Name : transaction.PurchaserName;

            SKUSummary = transactionItems.ToSummary(x => (x.Sku != null) ? x.Sku.SkuCode : "None", 3, ", ");

            StatusName = transaction.Status.GetDescription <TransactionStatus>();

            IsWaitingForClaim = transaction.IsWaitingForClaim;
        }
        private static void SellProduct(ref Guid id)
        {
            int     quantity = 0;
            decimal amount   = 0;

            Model.Transaction trc1 = new Model.Transaction();
            List <Model.TransactionDetail> list_detial = new List <Model.TransactionDetail>();

            trc1.Cashier = "Admin";
            trc1.Type    = 2;
            trc1.Date    = DateTime.Now;
            trc1.ID      = Guid.NewGuid();
            bool add = true;

            while (add)
            {
                Model.TransactionDetail detail1 = new Model.TransactionDetail();
                SellProductDetail(ref detail1);
                detail1.TransactionID = trc1.ID;
                quantity += detail1.Quantity;
                amount   += detail1.Amount;
                list_detial.Add(detail1);
                Console.WriteLine("Press 1 to Add New Item, 2 to  Payment");
                try
                {
                    int type = Convert.ToInt16(Console.ReadLine());
                    switch (type)
                    {
                    case 1:
                        add = true;
                        break;

                    case 2:
                        add = false;
                        id  = trc1.ID;
                        break;

                    default:

                        break;
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Has Error");
                }
            }
            trc1.Quantity = quantity;
            trc1.Amount   = amount;
            listTransaction.Add(trc1);
            listTransactionDetail.AddRange(list_detial);
        }
示例#25
0
        public async Task <Model.Transaction> SaveTrans(string fromUserId, string toUserId, double amount)
        {
            var newTrans = new Model.Transaction()
            {
                FromUserId = fromUserId, ToUserId = toUserId, Amount = amount
            };

            await _context.Transactions.AddAsync(newTrans);

            await _context.SaveChangesAsync();

            return(newTrans);
        }
示例#26
0
        private void CreateForm()
        {
            this.ResetError();

            // Undo Changes
            this.UndoForm();

            this.Transaction = this.Session.Model.BeginTransaction();
            this.Binding     = this.Store.Create(this.Transaction);
            this.SetCommandsCanExecute();

            this.OnCreated();
        }
示例#27
0
        public Boolean IsBookCheckout(Model.Transaction oData)
        {
            osb.ConnectionString = sConnectionString;
            ddq = new DatabaseQuery.DBQuery();
            ddq.ConnectionString = osb.ConnectionString;

            ddq.CommandText = " SELECT ID FROM TBL_BOOKS WHERE BOOK_NO = '" + oData.BOOK_NO + "' AND [STATUS] = 'ACTIVE' " +
                              " AND (BOOK_NO IN (SELECT BOOK_NO FROM TBL_BORROWEDBOOKS WHERE [STATUS] = 'BORROWED') " +
                              " OR BOOK_NO IN (SELECT BOOK_NO FROM TBL_BORROWERREQUEST WHERE [STATUS] = 'REQUEST')) ";

            ds = ddq.GetDataset(CommandType.Text);
            return(ds.Tables[0].Rows.Count > 0 ? true : false);
        }
示例#28
0
 private void dgBooks_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (e.ColumnIndex == 10 && e.RowIndex >= 0)
         {
             oMTransaction         = new Model.Transaction();
             oMTransaction.BOOK_ID = dgBooks.Rows[e.RowIndex].Cells[0].Value.ToString();
             DatagridSelect(sender, e);
         }
     }
     catch (Exception ex)
     { }
 }
示例#29
0
        public void Delete(Model.Transaction transaction)
        {
            SqlCeTransaction tx = null;

            try
            {
                using (var conn = new SqlCeConnection(Store.ConnectionString))
                {
                    conn.Open();

                    string sql = "DELETE FROM " + tableName + " WHERE ID='" + transaction.ID + "'";

                    tx = conn.BeginTransaction();

                    var cmd = new SqlCeCommand(sql, conn);
                    cmd.Transaction = tx;

                    cmd.ExecuteNonQuery();

                    if (transaction.Type == TransactionType.Income.ToString() || transaction.Type == TransactionType.Expense.ToString())
                    {
                        decimal currentBalance = accountRepository.GetBalanceAfter(transaction.AccountId, transaction.Type, transaction.Amount,
                                                                                   transaction.Amount, ActionType.Delete).CurrentBalance2;

                        accountRepository.UpdataBalance(transaction.AccountId, currentBalance, conn, tx);
                    }
                    else if (transaction.Type == TransactionType.Transfer.ToString() || transaction.Type == TransactionType.Withdrawl.ToString() ||
                             transaction.Type == TransactionType.Payment.ToString())
                    {
                        decimal currentBalance1 = accountRepository.GetBalanceAfter(transaction.CategoryId, transaction.Type, transaction.Amount,
                                                                                    transaction.Amount, ActionType.Delete).CurrentBalance1;

                        accountRepository.UpdataBalance(transaction.CategoryId, currentBalance1, conn, tx);

                        decimal currentBalance2 = accountRepository.GetBalanceAfter(transaction.AccountId, transaction.Type, transaction.Amount,
                                                                                    transaction.Amount, ActionType.Delete).CurrentBalance2;

                        accountRepository.UpdataBalance(transaction.AccountId, currentBalance2, conn, tx);
                    }

                    tx.Commit();
                }
            }
            catch (Exception ex)
            {
                tx.Rollback();
                throw ex;
            }
        }
示例#30
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (dgBooks.Rows.Count > 0)
            {
                if (iTotalAmount > iPaymentWindow.ReceiveAmount)
                {
                    oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.PLEASE_ENTER_EXACT_PAYMENT_AMOUNT.ToString().Replace("_", " "));
                    oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                    oFrmMsgBox.ShowDialog();

                    return;
                }

                foreach (Model.Transaction oData in oMRecordList)
                {
                    oMTransaction                = new Model.Transaction();
                    oBook                        = new DataAccess.Book();
                    oMTransaction.PERSON_ID      = oData.PERSON_ID;
                    oMTransaction.BOOK_ID        = oData.BOOK_ID;
                    oMTransaction.BOOK_NO        = oData.BOOK_NO;
                    oMTransaction.TITLE          = oData.TITLE;
                    oMTransaction.SUBJECT        = oData.SUBJECT;
                    oMTransaction.CATEGORY       = oData.CATEGORY;
                    oMTransaction.AUTHOR         = oData.AUTHOR;
                    oMTransaction.PUBLISH_DATE   = oData.PUBLISH_DATE;
                    oMTransaction.ISBN_NUMBER    = oData.ISBN_NUMBER;
                    oMTransaction.LOCATION       = oData.LOCATION;
                    oMTransaction.BOOK_PRICE     = oData.BOOK_PRICE;
                    oMTransaction.RENT_PRICE     = oData.RENT_PRICE;
                    oMTransaction.DUE_INTEREST   = oData.DUE_INTEREST;
                    oMTransaction.LD_INTEREST    = oData.LD_INTEREST;
                    oMTransaction.TOTAL_QTY      = oData.TOTAL_QTY;
                    oMTransaction.TOTAL_DAYS     = oData.TOTAL_DAYS;
                    oMTransaction.ADDED_DATE     = DateTime.Now.ToString("yyyy-MM-dd");
                    oMTransaction.ADDED_BY       = eVariable.sUsername;
                    oMTransaction.TRANSACTION_NO = eVariable.sTransactionNo;


                    oBook.CheckOutBook(oMTransaction);
                }

                oFrmMsgBox = new frmMessageBox(eVariable.TransactionMessage.TRANSACTION_HAS_BEEN_SUCESSFULLY_SAVE.ToString().Replace("_", " "));
                oFrmMsgBox.m_MessageType = frmMessageBox.MESSAGE_TYPE.INFO;
                oFrmMsgBox.ShowDialog();
                iPaymentWindow.clearText();
                eVariable.ClearText(pnlMain);
                dgBooks.Rows.Clear();
            }
        }