Exemple #1
0
        private bool ProcessingPrint(string printerName, ICashVoucherItem item)
        {
            //var barcode = PrepareBarcode(CurrentTicketNumber);
            var barcode = BarcodeHelper.GetBarcode(CurrentTicketNumber, CurrentRollInfo);
            var printed = SendToPrint(printerName, item, barcode);

            CreateChequeRow(printed.IsSuccess, DateTime.Now, barcode, item.AttractionInfo);
            if (item.Count > 1)
            {
                item.Count--;
            }
            else
            {
                item.IsPrinted = printed.IsSuccess;
            }

            var isSuccessStr = printed.IsSuccess ? "успешна" : "не успешна";
            var isErrorStr   = printed.HasError ? "Были ошибки" : "Ошибок не было";
            var isChangeStr  = printed.IsNeedNewTicketRoll ? "требовалась" : "не требовалась";

            Log.Debug("Печать {0}; {1}; Смена рулона билетов {2}.", isSuccessStr, isErrorStr, isChangeStr);

            if (!printed.IsNeedNewTicketRoll)
            {
                return(!printed.HasError);
            }

            NeedChangeRoll();
            return(false);
        }
        public List <DatColStockModel> MapToDatCol(Int32 vendorId, List <Model.WehkampStockMutation> mutations)
        {
            using (var pDb = new PetaPoco.Database(Environments.Current.Connection, "System.Data.SqlClient"))
            {
                int connectorID = pDb.FirstOrDefault <int>(@"select connectorid from contentproduct where vendorid = @0 and isassortment = 1", vendorId);

                int    shopNumber           = ConnectorHelper.GetStoreNumber(connectorID);
                int    differenteShopNumber = VendorHelper.GetDifferenceShopNumber(vendorId);
                string employeeNumber       = VendorHelper.GetEmployeeNumber(vendorId);
                var    salesSlipNumber      = ReceiptHelper.GetSlipNumber(vendorId);

                int _receiptIndex       = GenericSlipNumberHelper.GetSlipNumberForTransfer(vendorId, ReceiptHelper.STOCK_SALESSLIP_RECEIPT_NUMBER_SETTING_KEY);
                int _receiptIndexSurplu = GenericSlipNumberHelper.GetSlipNumberForTransfer(vendorId, ReceiptHelper.STOCK_SALESSLIP_RECEIPT_NUMBER_SETTING_KEY_SURPLUS);
                mutations.ForEach(mutation =>
                {
                    _index += 200;

                    var line = new DatColStockModel
                    {
                        StoreNumber                    = (mutation.MutationQuantity > 0 ? differenteShopNumber : shopNumber).ToString("D3") + " 01",
                        EmployeeNumber                 = employeeNumber,
                        ReceiptNumber                  = salesSlipNumber,
                        TransactionType                = "20",
                        DateNotified                   = mutation.MutationDate.ToString("yyyyMMddHHmm"),
                        RecordType                     = "01",
                        SubType                        = "00",
                        NumberOfSkus                   = Math.Abs(mutation.MutationQuantity),
                        MancoOrSurplus                 = mutation.MutationQuantity > 0 ? shopNumber : differenteShopNumber,
                        FixedField1                    = "000000000+",
                        RecordSequence                 = _index,
                        FixedField2                    = "000",
                        FixedField3                    = "000000000+",
                        FixedField4                    = "000",
                        FixedField5                    = "000000000+",
                        FixedField6                    = "000",
                        OriginalSellingPrice           = (int)Math.Round(PriceHelper.GetPrice(mutation.ProductID, vendorId) * 100),
                        FixedField7                    = "00",
                        ArticleNumberColorCodeSizeCode = ProductHelper.GetPFAItemNumber(mutation.Articlenumber, mutation.Colorcode, mutation.ProductID),
                        Barcode                        = BarcodeHelper.GetBarcode(mutation.ProductID),
                        Receipt                        = string.Format("{0}{1}{2}", 0, mutation.MutationQuantity > 0 ? differenteShopNumber.ToString("D3") : shopNumber.ToString(), _receiptIndex.ToString().PadLeft(4, '0')),
                        TaxCode                        = "1",
                        EmployeeNumber2                = employeeNumber,
                        ScannedWithBarcodeReader       = 0
                    };

                    _list.Add(line);
                });
                ReceiptHelper.IncrementSalesSlipNumber(ref salesSlipNumber, vendorId, ReceiptHelper.STOCK_SALESSLIP_NUMBER_SETTINGKEY);

                return(_list);
            }
        }
Exemple #3
0
        private ReceivedTransferMutation GetDifferenceRuleForIncompleteShipping(TransferOrderLine difference, int ReceivedFromWehkamp, int ShippedFromPFA, int storeID, string employeeNumber, int vendorID, DateTime receivedByWehkamp, int salesSlipNumber)
        {
            OrderLedger ledger = difference.OrderLine.OrderLedgers.FirstOrDefault(x => x.Status == (int)OrderLineStatus.ReceivedTransfer);

            var     product         = difference.OrderLine.Product;
            var     priceAssortment = product.VendorAssortments.FirstOrDefault(c => c.VendorID == vendorID).VendorPrices.FirstOrDefault();
            decimal markDown        = 0;

            if (priceAssortment.SpecialPrice.HasValue && priceAssortment.Price > priceAssortment.SpecialPrice.Value)
            {
                markDown = priceAssortment.Price.Value - priceAssortment.SpecialPrice.Value;
            }

            var productNumberParts = product.VendorItemNumber.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var artikelCode        = productNumberParts[0];
            var colorCode          = productNumberParts[1].PadLeft(3, '0');

            ReceivedTransferMutation datcolLine = new ReceivedTransferMutation
            {
                StoreNumber         = String.Format("{0} {1}", storeID, "01"),
                EmployeeNumber      = employeeNumber,
                ReceiptNumber       = salesSlipNumber,
                TransactionType     = "21",
                DateNotified        = receivedByWehkamp.ToString("yyyyMMddhhmm"),
                RecordType          = "01",
                SubType             = "02",
                NumberOfDifferences = QuantityHelper.GetNumberOfDifferences(difference.ReceivedFromWehkamp, difference.ShippedFromPFA),
                FixedField1         = "000000001+",
                FixedField2         = (int)Math.Round(markDown * 100),
                NumberOfSkus        = String.Format("{0}+", difference.ShippedFromPFA),
                FixedField3         = "000",
                FixedField4         = "000000000+",
                FixedField5         = "000",
                FixedField6         = 0,
                FixedField7         = "000",
                FixedField8         = (int)Math.Round(priceAssortment.Price.Value * 100),
                FixedField9         = "00",
                FixedField10        = "000" + ProductHelper.GetPFAItemNumber(artikelCode, colorCode, product.ProductID).ToUpper(),
                FixedField11        = "0000000" + BarcodeHelper.GetBarcode(product.ProductID),
                TransferNumber      = difference.OrderLine.Order.WebSiteOrderNumber,
                EmployeeNumber2     = employeeNumber,
                ScannedIndication   = 0
            };

            return(datcolLine);
        }
        private ReturnOrderDatcolModel GetDetailLevelForStore(int storeNumber, string employeeNumber, int salesSlipNumber, int transferSalesSlipNumber, DateTime messageTime, int ledgerQuantity, int differenceNumber, int recordSequence, int productID, int vendorId)
        {
            var line = new ReturnOrderDatcolModel()
            {
                StoreNumber         = string.Format("{0} {1}", differenceNumber.ToString("D3"), "01"),
                EmployeeNumber      = employeeNumber,
                ReceiptNumber       = salesSlipNumber,
                TransactionType     = "20", //
                DateNotified        = messageTime.ToString("yyyyMMddhhmm"),
                RecordType          = "01",
                SubType             = "00",
                NumberOfDifferences = ledgerQuantity,
                Price               = (int)Math.Round(PriceHelper.GetPrice(productID, vendorId) * 100),
                ReceivingStore      = storeNumber,
                RecordSequence      = recordSequence,
                TransferNumber      = string.Format("{0}{1}", differenceNumber.ToString("D3"), transferSalesSlipNumber.ToString("D4")),
                SkuVendorItemNumber = ProductHelper.GetPFAItemNumber(null, null, productID),
                EmployeeNumber2     = employeeNumber,
                Barcode             = BarcodeHelper.GetBarcode(productID).PadLeft(20, '0'),
            };

            return(line);
        }