Beispiel #1
0
        public List<LoanEntity> GetLoansForOrderline(OrderlineEntity searchObject)
        {
            List<LoanEntity> result = null;
            string sqlStatement = "SELECT " + Environment.NewLine +
                "Loan.LoanId," + Environment.NewLine +
                "Loan.OrderlineId," + Environment.NewLine +
                "Loan.Quantity," + Environment.NewLine +
                "Loan.ArticleId," + Environment.NewLine +
                "Article.CategoryId," + Environment.NewLine +
                "Article.ArticleNo," + Environment.NewLine +
                "Article.Description," + Environment.NewLine +
                "Article.Unit " + Environment.NewLine +
                "FROM Loan JOIN Article ON Loan.ArticleId=Article.ArticleId " + Environment.NewLine +
                "WHERE Loan.OrderlineId=@OrderlineId" + Environment.NewLine;

            //execute
            result = Connection.Query<LoanEntity>(sqlStatement, new { OrderlineId = searchObject.OrderlineId }, Transaction).ToList();
            return result;
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateOrder())
            {
                OwnerForm.PerformActionWithLoading(new Action(() =>
                {
                    List<OrderlineEntity> orderlines = new List<OrderlineEntity>();
                    for (int i = 0; i < OrderlineList.Count; i++)
                    {
                        var newOrderline = new OrderlineEntity()
                        {
                            OrderlineId = OrderlineList[i].OrderlineId,
                            OrderId = OrderlineList[i].OrderId,
                            ArticleId = OrderlineList[i].ArticleId,
                            CreatedBy = OrderlineList[i].CreatedBy,
                            ModifiedBy = OrderlineList[i].ModifiedBy,
                            PaidDate = OrderlineList[i].PaidDate,
                            PayDate = OrderlineList[i].PayDate,
                            Price = OrderlineList[i].Price,
                            Quantity = OrderlineList[i].Quantity,
                            RealQuantity = OrderlineList[i].RealQuantity
                        };

                        //populate loan list
                        if (OrderlineList[i].ChildList != null && OrderlineList[i].ChildList.Count > 0)
                        {
                            for (int j = 0; j < OrderlineList[i].ChildList.Count; j++)
                            {
                                newOrderline.LoanList.Add(new LoanEntity()
                                {
                                    LoanId = OrderlineList[i].ChildList[j].LoanId,
                                    OrderlineId = OrderlineList[i].ChildList[j].OrderlineId,
                                    ArticleId = OrderlineList[i].ChildList[j].ArticleId,
                                    Quantity = OrderlineList[i].ChildList[j].Quantity
                                });
                            }
                        }

                        orderlines.Add(newOrderline);
                    }

                    var order = VinaGerman.Entity.Factory.Resolve<VinaGerman.DataSource.IOrderDS>().SaveOrder(CurrentOrder, orderlines);
                    if (order != null && order.OrderId > 0)
                    {
                        CurrentOrder = order;
                        LoadOrder();
                    }
                    else
                    {
                        VinaGerman.Utilities.Utils.ShowError("Lưu phiếu nhập kho không thành công!");
                    }
                }));
            }
        }
Beispiel #3
0
        public OrderlineEntity AddOrUpdateOrderline(OrderlineEntity entityObject)
        {
            string sqlStatement = "";

            sqlStatement += "DECLARE @NewOrderlineId INT " + Environment.NewLine;
            //if insert
            if (entityObject.OrderlineId > 0)
            {
                entityObject.ModifiedDate = DateTime.Now;

                sqlStatement += "UPDATE Orderline SET  " + Environment.NewLine +
                //"OrderId=@OrderId" + Environment.NewLine +
                "Commission=@Commission, " + Environment.NewLine +
                "ArticleId=@ArticleId, " + Environment.NewLine +
                "Quantity=@Quantity, " + Environment.NewLine +
                "Price=@Price, " + Environment.NewLine +
                "PayDate=@PayDate, " + Environment.NewLine +
                "ModifiedBy=@ModifiedBy, " + Environment.NewLine +
                "ModifiedDate=GETDATE() " + Environment.NewLine +
                "WHERE OrderlineId=@OrderlineId " + Environment.NewLine +
                "SET @NewOrderlineId = @OrderlineId " + Environment.NewLine;
            }
            else
            {
                entityObject.CreatedDate = DateTime.Now;
                entityObject.ModifiedDate = DateTime.Now;

                sqlStatement += "INSERT INTO Orderline(  " + Environment.NewLine +
                "OrderId," + Environment.NewLine +
                "Commission," + Environment.NewLine +
                "ArticleId," + Environment.NewLine +
                "Quantity," + Environment.NewLine +
                "Price," + Environment.NewLine +
                "CreatedBy," + Environment.NewLine +
                "PayDate," + Environment.NewLine +
                "CreatedDate," + Environment.NewLine +
                "ModifiedBy," + Environment.NewLine +
                "ModifiedDate)" + Environment.NewLine +
                "VALUES (" + Environment.NewLine +
                "@OrderId," + Environment.NewLine +
                "@Commission," + Environment.NewLine +
                "@ArticleId," + Environment.NewLine +
                "@Quantity," + Environment.NewLine +
                "@Price," + Environment.NewLine +
                "@CreatedBy," + Environment.NewLine +
                "@PayDate," + Environment.NewLine +
                "GETDATE()," + Environment.NewLine +
                "@ModifiedBy," + Environment.NewLine +
                "GETDATE())" + Environment.NewLine +
                "SET @NewOrderlineId = (SELECT SCOPE_IDENTITY()) " + Environment.NewLine;

                //also insert default loans if needed
                sqlStatement += "INSERT INTO Loan(OrderlineId,ArticleId,Quantity)" + Environment.NewLine;
                sqlStatement += "SELECT OrderlineId,RelatedArticleId,0 AS Quantity FROM Orderline JOIN ArticleRelation ON Orderline.ArticleId=ArticleRelation.ArticleId WHERE OrderlineId=@NewOrderlineId " + Environment.NewLine;
            }

            sqlStatement += "SELECT " + Environment.NewLine +
                "Orderline.OrderlineId," + Environment.NewLine +
                "Orderline.OrderId," + Environment.NewLine +
                "Orderline.Commission," + Environment.NewLine +
                "Orderline.ArticleId," + Environment.NewLine +
                "Orderline.Quantity," + Environment.NewLine +
                "Orderline.Price," + Environment.NewLine +
                "Orderline.CreatedBy," + Environment.NewLine +
                "Orderline.PayDate," + Environment.NewLine +
                "Orderline.CreatedDate," + Environment.NewLine +
                "Orderline.ModifiedBy," + Environment.NewLine +
                "Orderline.ModifiedDate," + Environment.NewLine +
                "Article.CategoryId," + Environment.NewLine +
                "Article.ArticleNo," + Environment.NewLine +
                "Article.Description," + Environment.NewLine +
                "Article.Unit" + Environment.NewLine +
                "FROM Orderline JOIN Article ON Orderline.ArticleId=Article.ArticleId " + Environment.NewLine +
                "WHERE Orderline.OrderlineId=@NewOrderlineId" + Environment.NewLine;

            //execute
            var result = Connection.Query<OrderlineEntity>(sqlStatement, new
            {
                OrderlineId = entityObject.OrderlineId,
                OrderId = entityObject.OrderId,
                Commission = entityObject.Commission,
                ArticleId = entityObject.ArticleId,
                Quantity = entityObject.Quantity,
                Price = entityObject.Price,
                CreatedBy = entityObject.CreatedBy,
                PayDate = entityObject.PayDate,
                ModifiedBy = entityObject.ModifiedBy
            }, Transaction).ToList();

            if (result.Count > 0)
                entityObject = result[0];
            else
                entityObject = null;
            return entityObject;
        }
Beispiel #4
0
        public bool DeleteOrderline(OrderlineEntity entityObject)
        {
            string sqlStatement = "DELETE FROM Orderline WHERE OrderlineId=@OrderlineId  " + Environment.NewLine;

            //execute
            var result = Connection.Query<OrderlineEntity>(sqlStatement, new
            {
                OrderlineId = entityObject.OrderlineId,
                OrderId = entityObject.OrderId,
                Commission = entityObject.Commission,
                ArticleId = entityObject.ArticleId,
                Quantity = entityObject.Quantity,
                Price = entityObject.Price,
                CreatedBy = entityObject.CreatedBy,
                CreatedDate = entityObject.CreatedDate,
                PayDate = entityObject.PayDate,
                ModifiedBy = entityObject.ModifiedBy,
                ModifiedDate = entityObject.ModifiedDate,
                CategoryId = entityObject.CategoryId,
                ArticleNo = entityObject.ArticleNo,

                Description = entityObject.Description,
                Unit = entityObject.Unit
            }, Transaction).ToList();

            if (result.Count > 0)
                entityObject = result[0];
            else
                entityObject = null;
            return true;
        }
        public void SaveOrderline(OrderlineEntity entityObject)
        {
            if (entityObject != null && entityObject.OrderlineId > 0)
            {
                System.Threading.ThreadPool.QueueUserWorkItem(delegate
                {
                    try
                    {
                        ShowLoading(StringResources.captionInformation, StringResources.msgLoading);

                        var updatedEntity = Factory.Resolve<IOrderDS>().AddOrUpdateOrderline(entityObject);

                        HideLoading();
                    }
                    catch (Exception ex)
                    {
                        HideLoading();
                        ShowMessageBox(StringResources.captionError, ex.ToString(), MessageBoxButton.OK);
                    }
                });
            }
        }
        public void DeleteOrderlineFromList(OrderlineEntity newEntity)
        {
            OrderlineEntity oldEntity = OrderlineList.FirstOrDefault<OrderlineEntity>(p => p.OrderlineId == newEntity.OrderlineId);

            if (oldEntity != null)
            {
                OrderlineList.Remove(oldEntity);
            }

            OrderlineList = new List<OrderlineEntity>(_orderlineList);
        }
        public void DeleteOrderline(OrderlineEntity entityObject)
        {
            if (ShowMessageBox(StringResources.captionConfirm, StringResources.msgConfirmDelete, MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                System.Threading.ThreadPool.QueueUserWorkItem(delegate
                {
                    try
                    {
                        ShowLoading(StringResources.captionInformation, StringResources.msgLoading);

                        var isSuccess = Factory.Resolve<IBaseDataDS>().DeleteOrderline(entityObject);

                        HideLoading();

                        //display to UI
                        Application.Current.Dispatcher.Invoke(new Action(() =>
                        {
                            if (isSuccess)
                            {
                                DeleteOrderlineFromList(entityObject);
                            }
                        }));
                    }
                    catch (Exception ex)
                    {
                        HideLoading();
                        ShowMessageBox(StringResources.captionError, ex.ToString(), MessageBoxButton.OK);
                    }
                });
            }
        }
        public void AddOrUpdateOrderlineToList(OrderlineEntity newEntity)
        {
            if (OrderlineList == null) OrderlineList = new List<OrderlineEntity>();

            OrderlineEntity oldEntity = OrderlineList.FirstOrDefault<OrderlineEntity>(p => p.OrderlineId == newEntity.OrderlineId);

            if (oldEntity == null)
            {
                OrderlineList.Insert(0, newEntity);
            }
            else
            {
                int index = OrderlineList.IndexOf(oldEntity);
                OrderlineList.Remove(oldEntity);
                OrderlineList.Insert(index, newEntity);
            }

            OrderlineList = new List<OrderlineEntity>(_orderlineList);

            SelectedOrderline = newEntity;
        }
        public void AddOrderline()
        {
            if (SelectedOrder != null && SelectedOrder.OrderId > 0 && SelectedArticle != null && SelectedArticle.ArticleId > 0)
            {
                System.Threading.ThreadPool.QueueUserWorkItem(delegate
                {
                    try
                    {
                        ShowLoading(StringResources.captionInformation, StringResources.msgLoading);

                        OrderlineEntity newEntity = new OrderlineEntity()
                        {
                            OrderId = SelectedOrder.OrderId,
                            ArticleId = SelectedArticle.ArticleId,
                            Quantity = 0,
                            RemainingQuantity = 0,
                            Price = 0,
                            PayDate = DateTime.Now.AddDays(7)
                        };

                        var updatedEntity = Factory.Resolve<IBaseDataDS>().AddOrUpdateOrderline(newEntity);

                        HideLoading();

                        //display to UI
                        Application.Current.Dispatcher.Invoke(new Action(() =>
                        {
                            AddOrUpdateOrderlineToList(updatedEntity);
                        }));
                    }
                    catch (Exception ex)
                    {
                        HideLoading();
                        ShowMessageBox(StringResources.captionError, ex.ToString(), MessageBoxButton.OK);
                    }
                });
            }
        }