示例#1
0
        public int InsertPrinterMapping(Model.PrinteJobDetailModel PrinterJob)
        {
            int result = 0;

            try
            {
                PRINTE_JOB_DETAIL item = new PRINTE_JOB_DETAIL();
                item.CategoryID            = PrinterJob.CategoryID;
                item.ProductID             = PrinterJob.ProductID;
                item.PrinterID             = PrinterJob.PrinterID;
                item.Status                = 1;
                _context.Entry(item).State = System.Data.Entity.EntityState.Added;
                _context.SaveChanges();
                result = 1;
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
示例#2
0
        public OrderDateModel GetOrderByTable(string idTable, int idOrder)
        {
            OrderDateModel OrderMain = new OrderDateModel();
            var dataOrder = _context.ORDER_DATE.Where(x => x.FloorID == idTable && x.Status != 1 && x.Status != 4 && x.CreateDate.Year == DateTime.Now.Year && x.CreateDate.Month == DateTime.Now.Month && x.CreateDate.Day == DateTime.Now.Day).SingleOrDefault();
            if (dataOrder != null)
            {
                OrderMain.Seat = dataOrder.Seat ?? 0;
                OrderMain.FloorID = dataOrder.FloorID;
                OrderMain.OrderID = dataOrder.OrderID;
                OrderMain.TotalAmount = dataOrder.TotalAmount;
                OrderMain.ShiftID = dataOrder.ShiftID ?? 0;
                OrderMain.CreateBy = dataOrder.CreateBy;
                OrderMain.UpdateBy = dataOrder.UpdateBy;
                OrderMain.Status = dataOrder.Status;
                OrderMain.OrderNumber = dataOrder.OrderNumber??0;
                OrderMain.CreateDate = dataOrder.CreateDate;
                OrderMain.Note = dataOrder.Note;
                OrderMain.PrinterNote = dataOrder.PrinterNote ?? 0;
                var seat = _context.ORDER_DATE.Join(_context.SEATs, order => order.OrderNumber, seatmap => seatmap.OrderNumber, (order, seatmap) => new { order, seatmap })
                    .Where(x => x.order.OrderNumber == dataOrder.OrderNumber && x.seatmap.OrderNumber == dataOrder.OrderNumber && x.order.OrderNumber == x.seatmap.OrderNumber)
                    .Select(x => new SeatModel {
                        Seat = x.seatmap.Seat1,
                        OrderNumber = x.seatmap.OrderNumber,
                        ID = x.seatmap.ID
                    }
                    );
                foreach(SeatModel item in seat)
                {
                    OrderMain.ListSeatOfOrder.Add(item);
                }

                var data = _context.ORDER_DATE.Join(_context.ORDER_DETAIL_DATE, order => order.OrderID,
                 item => item.OrderID, (order, item) => new { order, item })
                 .Join(_context.PRODUCTs, pro => pro.item.ProductID, c => c.ProductID, (pro, c) => new { pro, c })
                 .Where(x => x.pro.order.FloorID == dataOrder.FloorID && x.pro.order.OrderID == x.pro.item.OrderID && x.pro.order.OrderID == dataOrder.OrderID && x.pro.item.OrderID == dataOrder.OrderID && x.pro.item.ProductID==x.c.ProductID)
                 .OrderBy(x=>x.pro.item.OrderDetailID)
                 .Select(x => new OrderDetailModel()
                 {
                     ProductID = x.pro.item.ProductID,
                     Price = x.pro.item.Price,
                     Qty = x.pro.item.Qty,
                     Total = x.pro.item.Qty * x.pro.item.Price,
                     OrderID = x.pro.item.OrderID,
                     Satust = x.pro.item.Status,
                     ProductName = x.c.ProductNameSort,
                     KeyItem =x.pro.item.KeyItem??0,
                     Seat=x.pro.item.Seat??0,
                     DynID=x.pro.item.DynId??0,
                     OrderDetailID =x.pro.item.OrderDetailID,
                     Printer = x.pro.item.PrintType??0,
                     OrderNumber =x.pro.item.OrderNumber??0
                 });
                var openitems = _context.ORDER_DETAIL_DATE.Join(_context.ORDER_OPEN_ITEM, x => x.DynId, openitem => openitem.dynID, (x, openitem) => new { x, openitem })
                            .Where(a => a.x.DynId == a.openitem.dynID && a.x.OrderID==dataOrder.OrderID)
                            .Select(a => new OrderDetailModel()
                            {
                                ProductName = a.openitem.ItemNameShort,
                                Qty = a.x.Qty,
                                Price = a.openitem.UnitPrice,
                                ProductID = a.x.ProductID,
                                Total = a.x.Qty * a.x.Price,
                                OrderID = a.x.OrderID,
                                Satust = a.x.Status,
                                KeyItem = a.x.KeyItem ?? 0,
                                Seat = a.x.Seat ?? 0,
                                DynID = a.x.DynId ?? 0,
                                OrderDetailID = a.x.OrderDetailID,
                                OrderNumber = a.x.OrderNumber??0,
                                Printer = a.openitem.PrinterID??0
                            });
                foreach (OrderDetailModel openItem in openitems)
                {
                    PrinteJobDetailModel pritn = new PrinteJobDetailModel();
                    pritn.PrinterID = openItem.Printer;
                    openItem.ListPrintJob.Add(pritn);
                    OrderMain.addItemToList(openItem);
                }
                foreach(OrderDetailModel item in data)
                {
                    int keyItemOld = item.KeyItem;
                    var print = _context.PRINTE_JOB_DETAIL.Where(x => x.ProductID == item.ProductID)
                       .Select(x => new PrinteJobDetailModel
                       {
                           ProductID = x.ProductID,
                           PrinterID  = x.PrinterID
                       }
                       );
                    foreach (PrinteJobDetailModel p in print)
                    {
                        item.ListPrintJob.Add(p);
                    }

                    OrderMain.addItemToList(item);
                    var dataOrderModifire = _context.ORDER_DETAIL_DATE.Join(_context.ORDER_DETAIL_MODIFIRE_DATE, pro => pro.ProductID,
                       modifire => modifire.ProductID, (pro, modifire) => new { pro, modifire })
                       .Join(_context.MODIFIREs, modi => modi.modifire.ModifireID, c => c.ModifireID, (modi, c) => new { modi, c })
                       .Where(x => x.modi.pro.OrderID == item.OrderID && x.modi.modifire.OrderID == item.OrderID && x.modi.pro.ProductID == item.ProductID && x.modi.modifire.ProductID == item.ProductID && x.modi.modifire.ModifireID == x.c.ModifireID && x.modi.modifire.KeyModi == keyItemOld && x.modi.pro.KeyItem ==keyItemOld)
                       .Select(x => new OrderDetailModifireModel()
                       {
                           ModifireID = x.modi.modifire.ModifireID,
                           Price = x.modi.modifire.Price,
                           Qty = x.modi.modifire.Qty,
                           ModifireName = x.c.ModifireName,
                           Total = x.modi.modifire.Price * x.modi.modifire.Qty,
                           Seat = x.modi.modifire.Seat ?? 0,
                           OrderModifireID = x.modi.modifire.OrderModifireID,
                           OrderID = x.modi.pro.OrderID,
                           DynID = x.modi.modifire.DynId ?? 0,
                           OrderNumber = x.modi.modifire.OrderNumber??0
                       });
                    foreach (OrderDetailModifireModel itemmodifire in dataOrderModifire)
                    {
                        OrderMain.addModifierToList(itemmodifire, item.KeyItem);
                    }
                    var openItemModiier = _context.ORDER_DETAIL_MODIFIRE_DATE.Join(_context.ORDER_OPEN_ITEM,modi=>modi.DynId,open=>open.dynID,(modi,open)=>new{modi,open})
                        .Where(x => x.modi.DynId == x.open.dynID && x.modi.ProductID == item.ProductID && x.modi.OrderID == item.OrderID && x.modi.KeyModi == keyItemOld )
                        .Select(x=>new OrderDetailModifireModel()
                        {
                            ModifireID = x.modi.ModifireID,
                            Price = x.modi.Price,
                            Qty = x.modi.Qty,
                            ModifireName = x.open.ItemNameShort,
                            Total = x.modi.Price * x.modi.Qty,
                            Seat = x.modi.Seat ?? 0,
                            OrderModifireID = x.modi.OrderModifireID,
                            OrderID = x.modi.OrderID??0,
                            DynID = x.modi.DynId??0,
                            OrderNumber = x.modi.OrderNumber??0
                        });
                    foreach (OrderDetailModifireModel Openitem in openItemModiier)
                    {
                        OrderMain.addModifierToList(Openitem, item.KeyItem);
                    }

                }
            }
            return OrderMain;
        }
示例#3
0
        void ucMenuOfGroup_Click(object sender, EventArgs e)
        {
            try
            {
                if (OrderMain.Status == 1)
                {
                    OrderCompleted();
                }
                else
                {
                    ucMenuOfGroup = (UCMenuOfGroup)sender;
                    OrderDetailModel item = new OrderDetailModel();
                    if (seat > 0)
                        item.Seat = seat;
                    ProductionModel itemProduct = (ProductionModel)ucMenuOfGroup.Tag;
                    colorName = itemProduct.Color;
                    item.ProductName = itemProduct.ProductNameSort;
                    item.Price = Convert.ToDouble(itemProduct.CurrentPrice);
                    item.ProductID = itemProduct.ProductID;
                    item.Qty = 1;
                    item.OrderID = OrderMain.OrderID;
                    if (flagUcSeatClick == 1)
                        item.Seat = numSeat;
                    if (OrderMain.IsLoadFromData)
                        item.ChangeStatus = 1;

                    //ProductionModel itemPrint = new ProductionModel();
                    //itemPrint = ProductService.GetPrinterType(itemProduct.ProductID);
                    //if (itemPrint != null)
                    //{
                    //    item.Printer = itemPrint.Printer;
                    //    item.PrintJob = itemPrint.PrinterJob;
                    //}
                    //else
                    //{
                    //    itemPrint = ProductService.GetPrinterTypeByCate(itemProduct.CategoryID);
                    //    if (itemPrint != null)
                    //    {;
                    //        item.Printer = itemPrint.Printer;
                    //        item.PrintJob = itemPrint.PrinterJob;
                    //    }
                    //}
                    var dataPrint = ProductService.GetListPrintJob(itemProduct.ProductID);
                    foreach (PrinteJobDetailModel itemPrint in dataPrint)
                    {
                        PrinteJobDetailModel p = new PrinteJobDetailModel();
                        p.ProductID = itemPrint.ProductID;
                        p.PrinterID = itemPrint.PrinterID;
                        item.ListPrintJob.Add(p);
                    }
                    OrderMain.addItemToList(item);
                    addOrder(item);
                    lblSubtotal.Text = "$" + money.Format2(OrderMain.SubTotal().ToString());
                    ucMenuOfGroup.lblNameMenuOfGroup.BackColor = Color.FromArgb(0, 122, 204);
                    timeChangeColor.Enabled = true;
                    timeChangeColor.Start();
                }
            }
            catch (Exception ex)
            {
                LogPOS.WriteLog("ucMenuOfGroup_Click:::::::::::::::::::::::::::::" + ex.Message);
            }
        }
示例#4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            int result = 0;
            foreach (PrintJobDetailModel item in LstPrinterJob)
            {
                PrintService.DeletePrintJob(item.CategoryID??0, item.ProductID??0, item.PrinterID??0);
            }

            foreach (Control ctr in flpItem.Controls)
            {
                if (ctr is UCItemOfCategoryPrint)
                {
                    if (ctr.BackColor == Color.FromArgb(0, 153, 51))
                    {
                        ProductionModel pro = (ProductionModel)ctr.Tag;
                        PrinteJobDetailModel item = new PrinteJobDetailModel();
                        item.CategoryID = pro.CategoryID;
                        item.ProductID = pro.ProductID;
                        item.PrinterID = PriterID;
                        PrintService.InsertPrinterMapping(item);
                    }
                }
            }
        }