public void AddRevenueStreamAction()
        {
            var revenueDate = Presenter.Form.NewEntityDate;
            var amount      = Presenter.Form.NewEntityAmount;
            var comment     = Presenter.Form.CommentText;
            var revenue     = new RevenueStream
            {
                Date          = revenueDate,
                RevenueAmount = amount,
                UserId        = Presenter.GetStateManager().UserSession.SessionEntity.Id,
                IsRevised     = false,
                Comment       = comment
            };

            if (revenue.RevenueAmount <= 0)
            {
                Presenter.Form.Log(InvalidValueMgs);
                return;
            }

            try
            {
                RevenueStreamDbService.CreateRevenueStream(revenue);
                Presenter.Form.NewEntityAmount = 0;
                Presenter.Form.CommentText     = "";
                UpdateNonRevisedRevenueStreams(Presenter.Form.CommentText);
            }
            catch (ArgumentException e)
            {
                Presenter.Form.Log(e.Message);
            }
        }
        protected override void InsertRevenueStreamTransactionRelation(RevenueStream revenueStream,
                                                                       Transaction transaction)
        {
            var revenue = new ModelMerger().Merge(revenueStream, new Revenue());

            Database.Revenues.Add(revenue);
            transaction.Revenue = revenue;
        }
Beispiel #3
0
        protected override void InsertRevenueStreamTransactionRelation(RevenueStream revenueStream,
                                                                       Transaction transaction)
        {
            var expense = new ModelMerger().Merge(revenueStream, new Expense());

            Database.Expenses.Add(expense);
            transaction.Expense = expense;
        }
 public RevenueStream CreateRevenueStream(RevenueStream revenue)
 {
     try
     {
         var expense = new ModelMerger().Merge(revenue, new Expense());
         Database.Expenses.Add(expense);
         Database.SaveChanges();
         return(expense);
     }
     catch (Exception)
     {
         throw new ArgumentException(CannotCreateRevenueStream);
     }
 }
        //private logic

        private void AddRow(RevenueStream revenue)
        {
            if (revenue == null)
            {
                return;
            }
            var rowId = ViewTable.Rows.Add();

            ViewTable.CurrentCell = ViewTable.Rows[rowId].Cells[0];
            ViewTable.Rows[rowId].Cells[_username].Value      = revenue.User.Username;
            ViewTable.Rows[rowId].Cells[_revenueAmount].Value = revenue.RevenueAmount;
            ViewTable.Rows[rowId].Cells[_date].Value          = revenue.Date;
            ViewTable.Rows[rowId].Cells[_isRevised].Value     = revenue.IsRevised;
            ViewTable.Rows[rowId].Cells[_comment].Value       = revenue.Comment;
        }
        public void AddTransaction(List <TransactionProduct> products)
        {
            if (!IsUserAuthorized())
            {
                throw new ArgumentException(UnauthorizedMsg);
            }
            var transaction = InsertTransaction();

            InsertProductTransactionRelation(products, transaction);
            var totalRevenueAmount = products.Sum(p => p.SubTotalPrice);
            var revenueStream      = new RevenueStream
            {
                Date          = DateTime.Now,
                IsRevised     = false,
                RevenueAmount = totalRevenueAmount,
                UserId        = LoggedUser.Id,
                Comment       = transaction.TransactionType.ToString()
            };

            InsertRevenueStreamTransactionRelation(revenueStream, transaction);
            UpdateProductsQuantities(products, false);

            Database.SaveChanges();
        }
Beispiel #7
0
        public void Projection_With_Multiple_Nested_Loads_Should_Not_Throw_Exception()
        {
            //https://10137960102884337581.googlegroups.com/attach/a47ae1f7c46d8/ProjectionNestedLoadExceptionTests.cs?part=0.2&view=1&vt=ANaJVrG8D8tAgKI01vVR3y1j2c8-6Mul6tmESdLbo0YG3w3ovm7Tzb1YQN5Rl-IDNc8l249MB40HXW76RnFBjd8irKij28ZAGFo2_Tqv9mGobBqeq7xYg8w

            using (var store = GetDocumentStore())
            {
                using (var session = store.OpenSession())
                {
                    var revenueStream = new RevenueStream {
                        Name = "Catering"
                    };
                    session.Store(revenueStream);

                    var category = new Category {
                        Name = "Food"
                    };
                    session.Store(category);

                    var item1 = new Item {
                        Name = "Olives", CategoryId = category.Id, RevenueStreamId = revenueStream.Id
                    };
                    session.Store(item1);

                    var item2 = new Item {
                        Name = "Lamb", CategoryId = category.Id, RevenueStreamId = revenueStream.Id
                    };
                    session.Store(item2);

                    var order = new Order
                    {
                        OrderItems = new[]
                        {
                            new OrderItem {
                                ItemId = item1.Id, Price = 100
                            },
                            new OrderItem {
                                ItemId = item2.Id, Price = 50
                            }
                        }
                    };
                    session.Store(order);

                    session.SaveChanges();
                }

                WaitForIndexing(store);

                using (var session = store.OpenSession())
                {
                    var result = (from o in session.Query <Order>()
                                  select new OrderProjection
                    {
                        OrderId = o.Id,
                        OrderItems = from i in o.OrderItems
                                     let item = RavenQuery.Load <Item>(i.ItemId)
                                                let category = RavenQuery.Load <Category>(item.CategoryId)
                                                               let revenueStream = RavenQuery.Load <RevenueStream>(item.RevenueStreamId)
                                                                                   select new OrderItemProjection
                        {
                            ItemId = i.ItemId,
                            Price = i.Price,
                            ItemName = item.Name,
                            CategoryName = category.Name,
                            RevenueStreamName = revenueStream.Name
                        }
                    }).Single();

                    Assert.NotNull(result);
                }
            }
        }
 protected abstract void InsertRevenueStreamTransactionRelation(RevenueStream revenueStream,
                                                                Transaction transaction);
Beispiel #9
0
 protected override void InsertRevenueStreamTransactionRelation(RevenueStream revenueStream,
                                                                Transaction transaction)
 {
     throw new NotImplementedException();
 }