public static void StartCheck() { if (File.Exists(RepositoryCheck.Path)) { try { RepositoryCheck.Document = XDocument.Load(RepositoryCheck.Path); } catch (System.Exception ex) { FunctionsService.ShowMessageSb("ошибка файла check.xml " + ex.Message); } } else { RepositoryCheck.OpenTicket(); } if (File.Exists(RepositoryCheck.PathEnAttenete)) { RepositoryCheck.DocumentEnAttenete = XDocument.Load(RepositoryCheck.PathEnAttenete); } else { RepositoryCheck.DocumentEnAttenete = new XDocument(); RepositoryCheck.DocumentEnAttenete.Add(new XElement("checks", new XAttribute("ticket", Config.NumberTicket), new XAttribute("openDate", DateTime.Now.ToString()) )); RepositoryCheck.DocumentEnAttenete.Save(RepositoryCheck.PathEnAttenete); } }
private void OkClick(object sender, RoutedEventArgs e) { var d = _returnedProducts.Sum(l => l.PriceHt * l.Qty); DotLiquidService.Print(GetBarcodeMoney(d), d); RepositoryCheck.ReturnCheck(_check, _returnedProducts); Close(); }
public WHistory() { InitializeComponent(); try { RepositoryCheck.GetDucument(); TableChecks.DataContext = RepositoryCheck.Document.GetXElements("checks", "check").Reverse(); } catch { FunctionsService.ShowMessageTime("Пусто"); } }
public WAnnulationDeTicket() { InitializeComponent(); codebare_.Focus(); codebare_.IsEnabled = false; RepositoryCheck.GetDucument(); var check = RepositoryCheck.Document.GetXElements("checks", "check").LastOrDefault(); if (check != null) { codebare_.Text = check.Attributes("barcodeCheck").FirstOrDefault().Value; } }
private static CheckTicket GetCheck(string barcode) { RepositoryCheck.GetDucument(); var foundedCheckElement = RepositoryCheck.Document.GetXElements("checks", "check") .FirstOrDefault(c => c.GetXAttributeValue("barcodeCheck") == barcode); // Если в текущем чеке нет ищем в прошлом if (foundedCheckElement == null) { var dir = new DirectoryInfo(Path.Combine(Config.AppPath, "Data")); foreach (var yearDir in dir.GetDirectories().Where(d => IsDigitalName(d.Name)).OrderByDescending(p => p.CreationTime)) { foreach (var monthDir in yearDir.GetDirectories().OrderByDescending(p => p.CreationTime)) { foreach (var file in monthDir.GetFiles().OrderByDescending(p => p.CreationTime)) { var document = XDocument.Load(file.FullName); foundedCheckElement = document.GetXElements("checks", "check") .FirstOrDefault(c => c.GetXAttributeValue("barcodeCheck") == barcode); if (foundedCheckElement != null) { break; } } if (foundedCheckElement != null) { break; } } if (foundedCheckElement != null) { break; } } } return(foundedCheckElement != null ? CheckTicket.FromCheckXElement(foundedCheckElement, Guid.NewGuid(), Guid.NewGuid()) : null); }
public static void Close() { Mess = string.Empty; if (GlobalVar.IsOpen) { Mess += Properties.Resources.FuncCloseCashbox + Config.NameTicket + Environment.NewLine + Environment.NewLine + Environment.NewLine; var otw = RepositoryOpenTicketWindow.GetCurrent(); RepositoryCloseTicket.Close(); RepositoryCheck.CloseTicket(); //PrintService.PrintCloseTicket(closeTicket, Config.NameTicket); Mess += Properties.Resources.LabelOperationComplete + Environment.NewLine; if (otw != null) { otw.DateOpen = DateTime.Now; otw.IsOpen = false; otw.IdTicketWindow = Guid.Empty; otw.IdTicketWindowG = Guid.Empty; RepositoryOpenTicketWindow.Update(otw); Mess += Config.NameTicket + " " + Properties.Resources.LabelCloseEnd.ToLower() + "..." + Environment.NewLine; GlobalVar.IsOpen = false; } else { Mess += Config.NameTicket + " " + Properties.Resources.LabelErrorClosing.ToLower() + "..." + Environment.NewLine; } } else { Mess += Config.NameTicket + " " + Properties.Resources.LabelAlreadyClosing.ToLower() + "..." + Environment.NewLine; } }
public static void OpenProductsCheck() { if ((RepositoryCheck.DocumentProductCheck == null) || (RepositoryCheck.DocumentProductCheck.Element("check") == null)) { RepositoryCheck.DocumentProductCheck = new XDocument(new XElement("check", new XAttribute("barcodeCheck", RepositoryCheck.GetBarCodeCheck()))); FunctionsService.WriteTotal(); RepositoryCheck.DocumentProductCheck.Save(RepositoryCheck.PathProductCheck); } RepositoryCheck.C = null; }
public static void Bay() { RepositoryCheck.GetDucument(); if (RepositoryCheck.Document.Element("checks") != null && RepositoryCheck.DocumentProductCheck.GetXElements("check", "product").Any()) { RepositoryCheck.DocumentProductCheck = RepositoryActionHashBox.MergeProductsInCheck(RepositoryCheck.DocumentProductCheck); try { foreach (var type in RepositoryTypePay.TypePays) { var money = RepositoryCurrencyRelations.GetMoneyFromType(type); RepositoryCheck.DocumentProductCheck.GetXElement("check").Add(new XAttribute(type.NameCourt.TrimEnd(), money)); } } catch (System.Exception ex) { var text = ex.Message; FunctionsService.ShowMessageSb(text); LogService.Log(TraceLevel.Error, 1, text + RepositoryCheck.DocumentProductCheck); } var rendu = ClassEtcFun.RenduCalc(); try { RepositoryCheck.DocumentProductCheck.GetXElement("check").Add(new XAttribute("Rendu", rendu.ToString("0.00"))); } catch (System.Exception ex) { var text = ex.Message; FunctionsService.ShowMessageSb(text); LogService.Log(TraceLevel.Error, 2, text + RepositoryCheck.DocumentProductCheck + "."); } try { RepositoryCheck.DocumentProductCheck.GetXElement("check").Add( new XAttribute("sum", RepositoryCurrencyRelations.GetSumMoney()), new XAttribute("date", DateTime.Now)); } catch (System.Exception ex) { var text = ex.Message; FunctionsService.ShowMessageSb(text); LogService.Log(TraceLevel.Error, 3, text + RepositoryCheck.DocumentProductCheck + "."); } try { if (RepositoryDiscount.Client.Barcode != null && !ClassProMode.ModePro) { AddSetDiscountCardBareCode( RepositoryDiscount.Client.Barcode, RepositoryDiscount.Client.Points - (RepositoryDiscount.Client.AddPoints ? 1 : 0) + (RepositoryDiscount.Client.DiscountSet ? RepositoryDiscount.Client.MaxPoints : 0), RepositoryDiscount.Client.AddPoints ? 1 : 0, RepositoryDiscount.Client.DiscountSet ? 8 : 0, RepositoryDiscount.Client.NameFirst + " " + RepositoryDiscount.Client.NameLast); } } catch (System.Exception ex) { var text = ex.Message; FunctionsService.ShowMessageSb(text); LogService.Log(TraceLevel.Error, 4, text + RepositoryCheck.DocumentProductCheck + "."); } if (ClassProMode.ModePro || ClassProMode.Devis) { ClassProMode.Move(ClassProMode.Devis); } else { var element = RepositoryCheck.DocumentProductCheck.Element("check"); element.GetXAttribute("barcodeCheck").SetValue(RepositoryCheck.GetBarCodeCheck()); RepositoryCheck.Document.GetXElement("checks").Add(element); } if (!ClassProMode.ModePro && !ClassProMode.Devis) { new ClassPrintCheck(RepositoryCheck.DocumentProductCheck, false); } try { var worker = new BackgroundWorker(); if (!ClassProMode.ModePro && !ClassProMode.Devis) { worker.DoWork += WorkerDoWork; worker.RunWorkerCompleted += WorkerRunWorkerCompleted; worker.RunWorkerAsync(); } } catch (System.Exception ex) { var text = ex.Message; LogService.Log(TraceLevel.Error, 7, text + RepositoryCheck.DocumentProductCheck + "."); } try { if (!ClassProMode.ModePro && !ClassProMode.Devis) { RepositoryCheck.Document.Save(RepositoryCheck.Path); RepositoryCheck.DocumentProductCheck = null; CassieService.OpenProductsCheck(); RepositoryDiscount.RestoreDiscount(); DiscountCalc(); FunctionsService.WriteTotal(); } } catch (System.Exception ex) { var text = ex.Message; FunctionsService.ShowMessageSb(text); LogService.Log(TraceLevel.Error, 8, text + RepositoryCheck.DocumentProductCheck + "."); } } else { FunctionsService.ShowMessageSb("файл check.xml отсутвует или структура не правильная"); } }
private static void WorkerDoWork(object sender, DoWorkEventArgs e) { SyncData.SetSunc(true); CassieService.RemoveProductCountFromStockReal(RepositoryCheck.GetCloseTicketTmp()); }