Beispiel #1
0
        public HistoryScan BindItem(PackingManifestDetail _PackingManifestDetail, string ObjectScan, string OperationType, int CurrentUserID, string Notes)
        {
            HistoryScan _HistoryScan = new HistoryScan();

            _HistoryScan.ID = Guid.NewGuid().ToString();
            _HistoryScan.PackingManifestDetailID = _PackingManifestDetail.ID;
            _HistoryScan.ObjectScan        = ObjectScan;
            _HistoryScan.OperationType     = OperationType;
            _HistoryScan.CreatorID         = CurrentUserID;
            _HistoryScan.CreateDate        = DateTime.Now;
            _HistoryScan.PackingManifestID = _PackingManifestDetail.PackingManifest.ID;
            _HistoryScan.SerialNo          = _PackingManifestDetail.SerialNo;
            _HistoryScan.TEMP3             = Notes;
            return(_HistoryScan);
        }
Beispiel #2
0
        public PackingManifestDetail UpdateScanBarcode(string UserGroup, string OperationType, int CurrentUserID, string Notes, int isReturn, string ID, out int Result)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    PackingManifestDetail item = db.PackingManifestDetails.Where(i => (i.ID == ID) &&
                                                                                 (i.STATUS != 0 && i.PackingManifest.STATUS == 1) &&
                                                                                 (i.PackingManifest.isConfirm == 1)
                                                                                 //&& (i.WHExportOrderDetails.Where(a=>a.WHExportOrder.Status != (int)FEA_BusinessLogic.WarehouseArea.WHExportOrderManager.OrderStatus.DELETED).Count() == 0?true:false)
                                                                                 ).SingleOrDefault();

                    if (item != null)
                    {
                        item.isReturns = isReturn;
                        if (isReturn == 1)
                        {
                            // trong trường hợp trả về nếu thùng hàng đã xuất kho thì ko cho trả
                            var flag = (item.WHExportOrderDetails.Where(a => a.WHExportOrder.Status != (int)WHExportOrderManager.OrderStatus.DELETED && a.IsExported == 1).Count() == 0 ? true : false);
                            if (!flag)
                            {
                                Result = 2;     // Hang da xuat, khong the tra ve
                                return(null);
                            }
                        }

                        switch (UserGroup)
                        {
                        case "Packing":
                            item.isCOnfirm = item.isCOnfirm == 0 ? 1 : 0;

                            break;

                        case "Warehouse":
                            item.isStockin = item.isStockin == 0 ? 1 : 0;
                            //if (item.isStockin == 0)
                            //{
                            //    WHImportOrderDetail whItem = db.WHImportOrderDetails.Where(i => i.WHImportOrder.Status != 0 && i.PackingManifestDetailID == item.ID && i.Status != 3).;
                            //    if (whItem != null)
                            //    {
                            //        whItem.Status = 3;
                            //    }
                            //}

                            break;

                        default:
                            break;
                        }
                        db.HistoryScans.Add(new HistoryScanManager().BindItem(item, UserGroup, OperationType, CurrentUserID, Notes));
                        PackingManifestDetail ItemOut = CheckBarCodeAvailable(ID);
                        db.SaveChanges();
                        scope.Complete();
                        Result = 1;
                        return(ItemOut);
                    }
                }
                catch (Exception)
                {
                    scope.Dispose();
                }
            }
            Result = 0;
            return(null);
        }