Пример #1
0
        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);
                    }
                });
            }
        }
Пример #2
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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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!");
                    }
                }));
            }
        }
Пример #5
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);
        }
Пример #6
0
        public void AddOrderline()
        {
            if (SelectedArticle == null)
            {
                SelectedArticle = ArticleList.FirstOrDefault();
            }
            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 <IOrderDS>().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);
                    }
                });
            }
        }
Пример #7
0
        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);
                    }
                });
            }
        }
Пример #8
0
        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;
        }
Пример #9
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);
        }