public SalesRecord(int id, DateTime date, double amount, SaleStatus myProperty, Seller seller) { Id = id; Date = date; Amount = amount; MyProperty = myProperty; Seller = seller; }
public SalesRecord(int Id, DateTime Date, double Amount, SaleStatus Status, Seller Seller) { this.Id = Id; this.Date = Date; this.Amount = Amount; this.Status = Status; this.Seller = Seller; }
public bool VerfyEnableCombine(string barcode, SaleStatus status, bool hasEditPrice = false, string recordId = "") { if (RecordId == recordId) { return(true); } return(false); }
public SalesRecord(int id, DateTime date, double amount, SaleStatus status, Seller seller) { Id = id; Date = date; Amount = amount; Status = status; Seller = seller; }
public SalesRecord(int id, DateTime date, double amount, SaleStatus status, Seller seller) //contrutor com argumentos { Id = id; Date = date; Amount = amount; Status = status; Seller = seller; }
public static void Valdiate(SaleStatus status) { try { } catch (Exception e) { throw e; } }
public static async Task Execute(string id, SaleStatus status) { try { } catch (Exception e) { throw e; } }
public string CardSaleFailure(SaleStatus sale) { return(Generate(true, receipt => { FormatInvoiceNo(receipt, sale.InvoiceNo); FormatSaleDateTime(receipt); receipt.WriteLine(); receipt.WriteLine(sale.SaleResponse.Receipt); })); }
public static void ValidateSaleStatus(SaleStatus status) { try { //Status.Valdiate(status); } catch (Exception e) { throw e; } }
public async Task <IActionResult> Create([Bind("SaleStatusID,ProductSaleStatus")] SaleStatus saleStatus) { if (ModelState.IsValid) { _context.Add(saleStatus); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(saleStatus)); }
public string PartialPrepayRefundCard(SaleStatus sale) { return(Generate(true, receipt => { PartialPrepayRefund(receipt, sale); receipt.WriteLine(); receipt.WriteLine(sale.RefundResponse.Receipt); })); }
public static async Task <Sale> Execute(Sale sale, SaleStatus newStatus) { try { sale.Status = newStatus; return(sale); } catch (Exception e) { throw e; } }
internal void ResetProduct(SaleStatus status) { //重置订单历史小计 EditTotal = -1; //重置促销赠品 //重置促销信息 foreach (var item in OrderList) { if (item.ProductType == ProductType.Bundling && item is BundlingBarcode && (item.Details.SaleStatus == SaleStatus.Normal)) { item.Details.SaleStatus = SaleStatus.Promotion; } else if (item.Details.SaleStatus == SaleStatus.Promotion) { item.Details.SaleStatus = SaleStatus.Normal; } else if (item.Details.SaleStatus == SaleStatus.ActivityGifts) { item.Details.IsActivityGiftsTimeOut = true; } item.MarketingMarks = new List <ActiveMarketingRule>(); item.MarketingPrice = item.SalePrice; item.Details.Total = item.SalePrice * item.SaleNumber; item.Details.CollectionMarketingPrice = item.MarketingPrice; } //重置促销造成的同商品分条目显示(合并促销的同商品条目) var groupOrders = OrderList.Where(o => !o.HasEditPrice && o.ProductType != ProductType.Weigh) .GroupBy(o => new { o.MainBarcode, o.Details.SaleStatus }).ToList(); //合并商品 foreach (var item in groupOrders) { if (item.Count() > 1) { IBarcode barcode = item.FirstOrDefault(); var list = item.ToList(); if (list.Count > 1) { barcode.SaleNumber = list.Sum(o => o.SaleNumber); list.Remove(barcode); OrderList.RemoveAll(o => list.Exists(p => p == o)); barcode.MarketingPrice = barcode.SalePrice; barcode.Details.Total = barcode.SalePrice * barcode.SaleNumber; barcode.Details.CollectionMarketingPrice = barcode.MarketingPrice; } } } }
private KeyValuePair <string, string> GetAutoRemoveBasketTenderInfo(SaleStatus currentSale) { log.Debug("PosManager: Get auto remove basket tender info."); if (currentSale.SaleTender != null) { log.Debug("PosManager: SaleTender is not null."); return(new KeyValuePair <string, string>( currentSale.SaleTender.Class.ToString(), currentSale.SaleTender.Description)); } return(defaultRemoveBasketTenderInfo); }
private void saveAsNewButton_Click(object sender, EventArgs e) { if (nameTextBox.Text.Length <= 0) { return; } var status = new SaleStatus() { Title = nameTextBox.Text, }; saleStatusBindingSource.Add(status); }
public string DriveOffOrPumpTest(SaleStatus sale) { return(Generate(true, receipt => { var basket = sale.SoldBasket; Label(receipt, "ReceiptType"); receipt.WriteLine("#{0}", sale.SoldBasket.InvoiceType); receipt.WriteLine(); PostPay(receipt, basket); FormatInvoiceNo(receipt, sale.InvoiceNo); FormatSaleDateTime(receipt); })); }
public void Remove(string barcodeString, SaleStatus status, bool recordHadEditPrice, string recordId) { var product = OrderList.FirstOrDefault(o => o.RecordId == recordId); if (product == null) { throw new PosException("未找到商品【{0}】的记录", barcodeString); } //移除商品 OrderList.Remove(product); //重置商品状态为促销运算做准备 ResetProduct(status); }
//Construtor com argumento public Fechamento(int id, /*Tipo tipo,*/ /*Operador operador,*/ DateTime data, string empresa, double valor, double taxa, double despesa, int fluxo, string banco, SaleStatus status) { Id = id; //Tipo = tipo; //Operador = operador; Data = data; Empresa = empresa; Valor = valor; Taxa = taxa; Despesa = despesa; Fluxo = fluxo; Banco = banco; Status = status; }
public bool Update(SaleStatus saleStatus) { bool result = false; try { _context.Entry(saleStatus).State = EntityState.Modified; result = true; } catch (Exception ex) { result = false; } return(result); }
private void Prepay(StringWriter receipt, SaleStatus sale) { Label(receipt, "Pump"); receipt.WriteLine("#{0} - {1}", sale.PumpId, sale.SaleGrade.Type); Label(receipt, "Prepay"); receipt.WriteLine("{0:0.00}", sale.Amount); Label(receipt, "Volume"); receipt.WriteLine("{0:0.000}", (sale.Amount / sale.SaleGrade.Price.UnitPrice)); Label(receipt, "Price"); FuelUnitPrice(receipt, sale.SaleGrade.Price.UnitPrice); }
public string PostPayCard(SaleStatus sale) { return(Generate(true, receipt => { var basket = sale.SoldBasket; PostPay(receipt, basket); FormatInvoiceNo(receipt, sale.InvoiceNo); FormatSaleDateTime(receipt); receipt.WriteLine(); receipt.WriteLine(sale.SaleResponse.Receipt); })); }
public IHttpActionResult ChangeSaleStatus(JObject jsonBody) { SaleStatus sale = jsonBody.ToObject <SaleStatus>(); if (db.RetailSales.Count(s => s.OrderId == sale.OrderId) > 0) { RetailSale originalSale = db.RetailSales.Find(sale.OrderId); originalSale.OrderStatus = sale.Status; db.Entry(originalSale).State = EntityState.Modified; db.SaveChanges(); return(Ok()); } else { return(StatusCode(HttpStatusCode.NotModified)); } }
public async Task <IActionResult> ChangeSaleStatus(int?id, SaleStatus status) { if (id == null) { return(NotFound()); } Sale sale = await _context.Sales.FindAsync(id); if (sale == null) { return(NotFound()); } sale.SaleStatus = status; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public void Edit(string barcodeString, decimal number, decimal salePrice, SaleStatus status, bool recordHadEditPrice, string recordId) { var product = OrderList.FirstOrDefault(o => o.RecordId == recordId); if (product == null) { throw new PosException("未找到商品【{0}】的记录", barcodeString); } //处理改量 var editNum = Math.Abs(product.SaleNumber - number) > 0.0001m; if (!product.Details.EnableEditNum && editNum) { throw new SaleException("603", "该商品不允许修改数量!"); } else if (product.Details.EnableEditNum && editNum) { product.SaleNumber = number; } //处理改价 var editPrice = Math.Abs(product.MarketingPrice - salePrice) >= 0.01m; if (editPrice && !product.Details.EnableEditPrice) { throw new SaleException("603", "该商品不允许修改售价!"); } else if (editPrice && product.Details.BuyPrice > salePrice) { throw new SaleException("603", "改价失败,售价必须大于进价!"); } else if (editPrice && product.Details.EnableEditPrice) { product.SalePrice = salePrice; product.EnableMarketing = false; product.HasEditPrice = true; } //重置商品状态为促销运算做准备 ResetProduct(status); }
private SaleStatus CreateNewSale(int pumpId) { log.Debug("PosManager: Create new sale for pumpId {0}", pumpId); var sales = GetSales(currentSales, pumpId); if (sales != null) { SaleStatus sale = new SaleStatus(); sale.InitiateSale(); sale.SaleTime = DateTime.Now; sale.PumpId = pumpId; sales.Add(sale); log.Debug("PosManager: Create sale successfully."); return(sale); } log.Error("PosManager: Create sale failure."); return(null); }
public string PartialPrepayRefundCash(SaleStatus sale) { return(Generate(true, receipt => { PartialPrepayRefund(receipt, sale); receipt.WriteLine(); Label(receipt, "RefundMethod"); receipt.WriteLine("{0}", sale.SaleTender.Description); Label(receipt, "Paid"); receipt.WriteLine("{0:0.00} ({1:0.00})", sale.TotalPaid / sale.RefundTender.ExchangeRate, sale.TotalPaid); FormatExchangeRate(receipt, sale.RefundTender.ExchangeRate); Label(receipt, "Change"); receipt.WriteLine("{0:0.00}", sale.Change); })); }
public bool VerfyEnableCombine(string barcode, SaleStatus status, string giftId, string giftPromotionId) { if (this == null) { return(false); } if (string.IsNullOrEmpty(CurrentString) || string.IsNullOrEmpty(barcode) || Details == null) { return(false); } if ((CurrentString == barcode || MainBarcode == barcode || MultiCode.Contains(barcode)) && Details.SaleStatus == status && Details.MarketingRuleId == giftPromotionId) { if (MultiCode.Contains(barcode)) { IsMultiCode = true; } return(true); } return(false); }
public bool VerfyEnableCombine(string barcode, SaleStatus status, bool hasEditPrice = false, string recordId = "") { if (this == null) { return(false); } if (string.IsNullOrEmpty(CurrentString) || string.IsNullOrEmpty(barcode) || Details == null) { return(false); } if (SameProduct(barcode) && Details.SaleStatus == status && (recordId == RecordId || (string.IsNullOrEmpty(recordId) && !HasEditPrice))) { if (MultiCode.Contains(barcode)) { IsMultiCode = true; } return(true); } return(false); }
private KeyValuePair <string, string> GetRemoveBasketTenderInfo(SaleStatus currentSale) { log.Debug("PosManager: Get Remove Basket tender info."); if (currentSale.SoldBasket.Prepay == null && currentSale.SaleTender != null) { log.Debug("PosManager: SaleType is not prepay.Sale tender exists."); return(new KeyValuePair <string, string>( currentSale.SaleTender.Class.ToString(), currentSale.SaleTender.Description)); } else if (currentSale.SoldBasket.Prepay != null && currentSale.RefundTender != null) { log.Debug("PosManager: SaleType is prepay and Refund tender exists."); return(new KeyValuePair <string, string>( currentSale.RefundTender.Class.ToString(), currentSale.RefundTender.Description)); } return(defaultRemoveBasketTenderInfo); }
public void PrintReceipt(SaleStatus currentSale) { StringBuilder stringBuilder = new StringBuilder(); using (var streamWriter = new StringWriter(stringBuilder)) { if (currentSale.SaleResponse != null) { streamWriter.Write(currentSale.SaleResponse.Receipt); } if (currentSale.SoldBasket != null) { streamWriter.WriteLine("============================"); streamWriter.WriteLine("PUMP # : {0}-{1}", currentSale.SoldBasket.PumpID, currentSale.SoldBasket.Grade); streamWriter.WriteLine("VOL : {0} L", currentSale.SoldBasket.Volume); streamWriter.WriteLine("PRICE / L: SAR {0}", currentSale.SoldBasket.UnitPrice); streamWriter.WriteLine("TOTAL: SAR {0}", currentSale.SoldBasket.Amount); } else if (currentSale.SaleType == SaleType.Prepay) { streamWriter.WriteLine("============================"); streamWriter.WriteLine("PUMP # : {0}-{1}", currentSale.PumpId, currentSale.SaleGrade.Type); streamWriter.WriteLine("VOL : {0:0.###} L", (currentSale.Amount / currentSale.SaleGrade.Price.UnitPrice)); streamWriter.WriteLine("PRICE / L: SAR {0:0.###}", currentSale.SaleGrade.Price.UnitPrice); streamWriter.WriteLine("TOTAL: SAR {0:0.###}", currentSale.Amount); } if (currentSale.RefundResponse != null) { streamWriter.WriteLine("============================"); streamWriter.WriteLine(" REFUND"); streamWriter.WriteLine("============================"); streamWriter.Write(currentSale.RefundResponse.Receipt); } } PrintDocument(stringBuilder); }