예제 #1
0
        private TransactionCategoryRow CreateRow(DateTime when, decimal amount)
        {
            var row      = new TransactionRow(default(Guid), default(Guid), when, amount, null, null);
            var category = new List <Category>();

            return(new TransactionCategoryRow(row, new List <Category>()));
        }
        public void ManualTrackTheTransaction()
        {
            using (var db = new BloggingContext())
            {
                var strategy = db.Database.CreateExecutionStrategy();

                db.Blogs.Add(new Blog {
                    Url = "http://blogs.msdn.com/dotnet"
                });

                var transaction = new TransactionRow {
                    GUID = Guid.NewGuid()
                };
                db.Transactions.Add(transaction);

                strategy.ExecuteInTransaction(db,
                                              operation: context =>
                {
                    context.SaveChanges(acceptAllChangesOnSuccess: false);
                },
                                              verifySucceeded: context => context.Transactions.AsNoTracking().Any(t => t.GUID == transaction.GUID));

                db.ChangeTracker.AcceptAllChanges();
                //db.Transactions.Remove(transaction);
                db.SaveChanges();
            }
        }
예제 #3
0
 public TransactionRowModel(TransactionRow tr)
 {
     this.ProductName     = tr.Product.Name;
     this.Price           = tr.Price;
     this.AmountPurchased = tr.Amount;
     this.TotalPrice      = tr.Price * tr.Amount;
 }
예제 #4
0
        public TransactionRow findById(int id)
        {
            Cw2DataSet     dataSet        = DataSetProvider.Instance.getDataSet();
            TransactionRow transactionRow = dataSet.Transaction.FindById(id);
            TransactionDto dto            = new TransactionDto();

            return(transactionRow);
        }
예제 #5
0
        /// <inheritdoc />
        public override bool Equals(object obj)
        {
            TransactionRow transactionRow = obj as TransactionRow;

            if (transactionRow != null)
            {
                return(this.Id == transactionRow.Id);
            }
            return(false);
        }
예제 #6
0
        public ActionResult Transactions(string[] birthNo, string[] accountNo)
        {
            if (!checkSession())
            {
                return(RedirectToAction("Index", "Index"));
            }
            List <Transaction> transactions = new List <Transaction>();

            if (birthNo == null && accountNo == null)
            {
                transactions = _adminService.getAllTransactions();
            }
            if (accountNo != null)
            {
                List <Transaction> transactionsAccount = _adminService.getTransactionsByAccountNoArray(accountNo);
                transactions.AddRange(transactionsAccount);
            }
            else if (birthNo != null)
            {
                List <Transaction> transactionsBirth = _adminService.getTransactionsByBirthNoArray(birthNo);
                transactions.AddRange(transactionsBirth);
            }
            else
            {
                transactions = _adminService.getAllTransactions();
            }

            //Create view model from domain model:
            var transactionVMs = new List <TransactionRow>();

            foreach (var transaction in transactions)
            {
                var fromBirthNo = _adminService.getBirthNoByAccountNo(transaction.FromAccountNo);
                var toBirthNo   = _adminService.getBirthNoByAccountNo(transaction.ToAccountNo);

                var transactionVM = new TransactionRow()
                {
                    Date          = transaction.Date,
                    DatePayed     = transaction.DatePayed,
                    Amount        = transaction.Amount,
                    FromAccountNo = transaction.FromAccountNo,
                    ToAccountNo   = transaction.ToAccountNo,
                    Message       = transaction.Message,
                    FromBirthNo   = fromBirthNo,
                    ToBirthNo     = toBirthNo
                };
                transactionVMs.Add(transactionVM);
            }


            return(PartialView("_Transactions", transactionVMs));
        }
        private TransactionCategoryRow CreateRow(DateTime date)
        {
            var row = new TransactionRow(
                default(Guid),
                default(Guid),
                date,
                1,
                default(string),
                default(List <Guid>));
            var categories = new List <Category>();

            return(new TransactionCategoryRow(row, categories));
        }
예제 #8
0
        private CW2Response <TransactionDto> saveDraft(TransactionDto dto)
        {
            CW2Response <TransactionDto> response = new CW2Response <TransactionDto>();

            try
            {
                Cw2DataSet dataSet = DataSetProvider.Instance.getDataSet();

                TransactionRow transactionRow = null;

                if (dto.DbEntityId == 0) //Entity not saved to database.
                {
                    if (dto.Id != 0)     //Update
                    {
                        transactionRow = TransactionDataSetDao.Instance.findById(dto.Id);
                        TransactionTransformer.Instance.dtoToDataSetRow(dto, transactionRow);
                    }
                    else //create
                    {
                        transactionRow = dataSet.Transaction.NewTransactionRow();
                        TransactionTransformer.Instance.dtoToDataSetRow(dto, transactionRow);
                        dataSet.Transaction.AddTransactionRow(transactionRow);
                    }
                }
                else
                {
                    //Edit transaction from the database. Local copy has been removed
                    //need to create a new local copy.

                    transactionRow = dataSet.Transaction.NewTransactionRow();
                    TransactionTransformer.Instance.dtoToDataSetRow(dto, transactionRow);
                    dataSet.Transaction.AddTransactionRow(transactionRow);
                }

                dataSet.AcceptChanges();
                DataSetProvider.Instance.writeDataSet();

                response.dto     = TransactionTransformer.Instance.dataSetRowToDto(transactionRow);
                response.Status  = AppConstant.SUCCESS;
                response.Message = "Transaction local copy saved successfully";
            }
            catch (Exception e)
            {
                response.Status  = AppConstant.ERROR;
                response.Message = "DB Error : Unable to persist transaction draft";
                Console.WriteLine(e.StackTrace);
            }

            return(response);
        }
예제 #9
0
        public TransactionRow Create(Transaction transaction)
        {
            var transactionRow = new TransactionRow(
                transaction.Id,
                transaction.AccountId,
                transaction.Date.Date,
                transaction.Amount,
                transaction.Type,
                JsonConvert.DeserializeObject <List <Guid> >(transaction.CategoryData));

            var jsonObject = JObject.Parse(transaction.Data);

            foreach (var field in template)
            {
                transactionRow[field] = jsonObject[field]?.ToString();
            }

            return(transactionRow);
        }
예제 #10
0
        public TransactionRow dtoToDataSetRow(TransactionDto dto, TransactionRow row)
        {
            row.Amount         = dto.Amount;
            row.Title          = dto.Title;
            row.Type           = dto.Type;
            row.CreatedDate    = dto.CreatedDate;
            row.Occuerence     = dto.Occurence;
            row.RecurrenceType = dto.RecurrenceType;

            if (dto.OnDate != null)
            {
                row.OnDate = (int)dto.OnDate;
            }

            row.OnMonth    = dto.OnMonth;
            row.ExpireDate = dto.ExpireDate;

            return(row);
        }
예제 #11
0
        public TransactionDto dataSetRowToDto(TransactionRow row)
        {
            TransactionDto dto = new TransactionDto();

            dto.Id          = row.Id;
            dto.Title       = row.Title;
            dto.Amount      = row.Amount;
            dto.Type        = row.Type;
            dto.CreatedDate = row.CreatedDate;
            dto.Occurence   = row.Occuerence;
            dto.Status      = AppConstant.DRAFT;

            if (row.RecurrenceType != null)
            {
                dto.RecurrenceType = row.RecurrenceType;
            }

            dto.OnDate     = row.OnDate;
            dto.OnMonth    = row.OnMonth;
            dto.ExpireDate = row.ExpireDate;

            return(dto);
        }
예제 #12
0
        public CW2Response <TransactionDto> removeDraft(int id)
        {
            CW2Response <TransactionDto> response = new CW2Response <TransactionDto>();

            try
            {
                Cw2DataSet     dataSet        = DataSetProvider.Instance.getDataSet();
                TransactionRow transactionRow = dataSet.Transaction.FindById(id);
                transactionRow.Delete();
                dataSet.AcceptChanges();
                DataSetProvider.Instance.writeDataSet();

                response.Status  = AppConstant.SUCCESS;
                response.Message = "Transaction Draft Remove Successfully";
            }
            catch (Exception e)
            {
                response.Status  = AppConstant.ERROR;
                response.Message = "Transaction Draft Remove Failed";
                Console.WriteLine(e.StackTrace);
            }

            return(response);
        }
예제 #13
0
 public bool Evaluate(TransactionRow row)
 {
     return(Enumerable
            .Range(0, numbers.Length - 1)
            .All(i => numbers[i].Evaluate(row) <= numbers[i + 1].Evaluate(row)));
 }
예제 #14
0
 public string Evaluate(TransactionRow row)
 {
     return(value);
 }
예제 #15
0
 public bool Evaluate(TransactionRow row)
 {
     return(date.Evaluate(row) < than.Evaluate(row));
 }
예제 #16
0
 public TransactionRowChangeEvent(TransactionRow row, System.Data.DataRowAction action) {
     this.eventRow = row;
     this.eventAction = action;
 }
예제 #17
0
 public decimal Evaluate(TransactionRow row)
 {
     return(decimal.Parse(row[fieldName]));
 }
예제 #18
0
파일: Date.cs 프로젝트: sss-software/Gnome
 public DateTime Evaluate(TransactionRow row)
 {
     return(datetime);
 }
예제 #19
0
 public new void MarkTransactionForPruning(TransactionRow transaction)
 {
     base.MarkTransactionForPruning(transaction);
 }
예제 #20
0
 public void AddTransactionRow(TransactionRow row) {
     this.Rows.Add(row);
 }
예제 #21
0
 public bool Evaluate(TransactionRow row)
 {
     return(value.Evaluate(row).Contains(shouldContain.Evaluate(row)));
 }
예제 #22
0
파일: And.cs 프로젝트: sss-software/Gnome
 public bool Evaluate(TransactionRow row)
 {
     return(this.operators.All(o => o.Evaluate(row) == true));
 }
예제 #23
0
 public void RemoveTransactionRow(TransactionRow row) {
     this.Rows.Remove(row);
 }
예제 #24
0
 public bool Evaluate(TransactionRow row)
 {
     return(numbers.Select(n => n.Evaluate(row)).Distinct().Count() == 1);
 }
 public TransactionRowChangeEvent(TransactionRow row, global::System.Data.DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }
 private TransactionCategoryRow Create(TransactionRow row, List <Category> categories)
 {
     return(new TransactionCategoryRow(row, categories));
 }
예제 #27
0
 public bool Evaluate(TransactionRow row)
 {
     return(strings.Select(s => s.Evaluate(row)).Distinct().Count() == strings.Length);
 }
예제 #28
0
파일: Or.cs 프로젝트: sss-software/Gnome
 public bool Evaluate(TransactionRow row)
 {
     return(operators.Any(o => o.Evaluate(row)));
 }
예제 #29
0
 public string Evaluate(TransactionRow row)
 {
     return(row[fieldName]);
 }
예제 #30
0
 public DateTime Evaluate(TransactionRow row)
 {
     return(DateTime.Parse(row[fieldName]));
 }
예제 #31
0
 public decimal Evaluate(TransactionRow row)
 {
     return(Value);
 }
        private TransactionCategoryRow CreateRow(int i)
        {
            var row = new TransactionRow(default(Guid), default(Guid), new DateTime(2017, 1, i), 1, default(string), null);

            return(new TransactionCategoryRow(row, new List <Category>()));
        }