Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
 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;
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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;
            }
        }
Exemple #7
0
 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;
 }
Exemple #8
0
        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 отсутвует или структура не правильная");
            }
        }
Exemple #9
0
 private static void WorkerDoWork(object sender, DoWorkEventArgs e)
 {
     SyncData.SetSunc(true);
     CassieService.RemoveProductCountFromStockReal(RepositoryCheck.GetCloseTicketTmp());
 }