Exemple #1
0
        protected override void Configure()
        {
            try
            {
                SetupDb();
                // Check and update modules
                var updateModules = Properties.Settings.Default.UpdateModules;
                FrameworkManager.UpdateModules(updateModules);

                // Init admin
                FrameworkManager.AdminExists(true);

                // Clean data and files
                FrameworkManager.CleanFiles();

                // Reload new modules
                FrameworkManager.ReloadModules();

                // Load Settings in memory
                DataHelpers.PosSettings = PosSettings.getInstance();

                var viewManager = this.Container.Get <ViewManager>();
                var setting     = new ElvaSettings().getInstance();
                DataHelpers.Settings = setting;
            }
            catch (Exception s)
            {
                MessageBox.Show(s.Message);
            }
        }
Exemple #2
0
        public PosSettings GetSettings()
        {
            PosSettings    settingModel = new PosSettings();
            List <Setting> list         = _db.Settings.ToList();

            settingModel = GetSettingModel <PosSettings>(list);
            return(settingModel);
        }
Exemple #3
0
        public frmMy()
        {
            InitializeComponent();

            _workService    = new WorkScheduleService();
            _settingService = new SettingService();
            _setting        = _settingService.GetSettings();
        }
Exemple #4
0
 public SyncService(ILogger log)
 {
     _serverUrl      = Config.ApiService;
     this._log       = log;
     _db             = new DapperContext();
     _settingService = new SettingService();
     _setting        = _settingService.GetSettings();
 }
        public void PrintReport()
        {
            var posPrinter = PosSettings.getInstance().POSPrinter;

            if (string.IsNullOrEmpty(posPrinter))
            {
                MessageBox.Show("Imprimante introuvable, vérifier les paramétres");
                return;
            }

            File.WriteAllText("report.txt", $"{this.Report.ReportName}\n");

            using (var file = new StreamWriter("report.txt", true))
            {
                var typeRepor = MessageBox.Show("Inclure les quantités vendues", "Type rapport", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (typeRepor == MessageBoxResult.Yes)
                {
                    lines = Report.GetReport().SelectMany(z => z.Children);
                }
                else
                {
                    lines = Report.GetReport().Where(z => !z.CL1.Contains("Détails")).SelectMany(z => z.Children);
                }

                foreach (var item in lines)
                {
                    file.WriteLine($"{item.CL1}\n{item.CL2} {item.CL3}\n___________________");
                }
                file.Close();
                Process p = null;
                try
                {
                    p = new Process();
                    p.StartInfo.FileName = Path.GetFullPath("report.txt");

                    var verbs = p.StartInfo.Verbs;
                    foreach (var v in verbs)
                    {
                        Console.WriteLine(v);
                    }
                    p.StartInfo.Verb            = "Print";
                    p.StartInfo.Arguments       = "\"" + posPrinter + "\"";
                    p.StartInfo.Verb            = "Printto";
                    p.StartInfo.WindowStyle     = ProcessWindowStyle.Hidden;
                    p.StartInfo.UseShellExecute = true;
                    p.Start();
                    p.WaitForExit();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
        }
Exemple #6
0
        public void SaveSetting(PosSettings setting)
        {
            var modelType = setting.GetType();
            var Keys      = GetPropertyInfos(modelType);

            foreach (var key in Keys)
            {
                Setting model = new Setting();
                key.GetCustomAttributes(false).FirstOrDefault(attr => attr.GetType().Name == typeof(DisplayNameAttribute).Name);
            }
        }
Exemple #7
0
 private void frmSetting_Load(object sender, EventArgs e)
 {
     //加载设置
     _currentSetting = _settingService.GetSettings();
     if (_currentSetting != null)
     {
         txtStoreId.Text = _currentSetting.StoreId.ToString();
         txtPosId.Text   = _currentSetting.PosId.ToString();
         txtCDKey.Text   = _currentSetting.CDKey;
     }
 }
        public void OpenDrawer()
        {
            var          local           = PosSettings.getInstance().POSPrinter;
            const string ESC             = "\u001B";
            const string p               = "\u0070";
            const string m               = "\u0000";
            const string t1              = "\u0025";
            const string t2              = "\u0250";
            const string openTillCommand = ESC + p + m + t1 + t2;

            RawPrinterHelper.SendStringToPrinter(local, openTillCommand);
        }
Exemple #9
0
        public PayeTicketViewModel(PosTicket ticket, Client client)
        {
            settings = PosSettings.getInstance();
            if (ticket == null)
            {
                throw new Exception("Selectionner un TICKET a payé");
            }


            this.ticket = ticket;

            if (this.ticket.MontantPaye > 0)
            {
                MontantRecu = this.ticket.Reste;
            }
            else
            {
                MontantRecu = this.ticket.Total;
            }

            LoadData();

            IsAnonym = true;
            var settingsUser = PosSettings.getInstance();

            if (client != null)
            {
                SelectedClient = client;
            }

            PrintPdf      = settingsUser.EstImprimer;
            PrintKitchen  = settingsUser.EstImprimerCuisine;
            CreateFacture = settingsUser.EstFacturer;


            NotifyOfPropertyChange("IsAnonym");
            NotifyOfPropertyChange("SelectedClient");
            NotifyOfPropertyChange("MontantTotal");
        }
Exemple #10
0
        private void frmSetting_Load(object sender, EventArgs e)
        {
            var stores = _storeService.GetAll();

            cbbStores.DataSource    = stores;
            cbbStores.DisplayMember = "Name";
            cbbStores.ValueMember   = "Id";
            cbbStores.SelectedIndex = 0;

            //加载设置
            _currentSetting = _settingService.GetSettings();
            if (_currentSetting != null)
            {
                txtPosId.Text           = _currentSetting.PosId.ToString();
                cbbStores.SelectedValue = _currentSetting.StoreId;
            }

            //设置对账日期
            dtpDate.Format       = DateTimePickerFormat.Custom; //设置为显示格式为自定义
            dtpDate.CustomFormat = "yyyy-MM-dd";                //设置显示格式
            this.dtpDate.Value   = DateTime.Now.Date;

            this.lblMsg.Text = "";
        }
        public void OpenPaiementDialog()
        {
            try
            {
                var Client = PosSettings.getInstance().DefaultClient.GetObject("Client");
                var paye   = new PayeTicketViewModel(CurrentTicket, Client);
                //var view = DataHelpers.container.Get<ViewManager>().CreateAndBindViewForModelIfNecessary(paye);
                var doDelete = DataHelpers.windowManager.ShowDialog(paye);



                if (doDelete == true)
                {
                    CurrentTicket.isHandled = 1;
                    CurrentTicket.Save();
                    var index = Tickets.IndexOf(CurrentTicket); // * * * *
                    Tickets.Remove(CurrentTicket);              //  * * |*| *

                    if (Tickets.Count > index)                  // 3
                    {
                        CurrentTicket = Tickets[index];
                    }
                    else if (Tickets.Count > 0)
                    {
                        CurrentTicket = Tickets[--index];
                    }
                    else
                    {
                        CurrentTicket = null;
                    }



                    // Automatic create new ticket
                    if (!Tickets.Any())
                    {
                        var ticket = new PosTicket()
                        {
                            Date       = DateTime.Now,
                            ticketType = TicketType.PREPAYE,
                            Numero     = SesssionIndex++
                        };
                        Tickets.Add(ticket);
                        CurrentTicket = ticket;
                    }

                    NotifyOfPropertyChange("Tickets");
                    NotifyOfPropertyChange("CurrentTicket");
                    //CurrentTicket?.Refresh();
                    //Tickets?.Refresh();
                    CreateCartLines();
                    MessageQueue.Enqueue("Vente terminé");
                }
                //else if (paye.MontantRecu < CurrentTicket.Total)
                //{
                //    CurrentTicket.MontantPaye += paye.MontantRecu;
                //    MessageQueue.Enqueue("PAIEMENT PARTIEL ENREGISTRÉ");

                //}

                CreateCartLines();
                if (ShowTicketsVisible)
                {
                    ShowTickets();
                }
            }
            catch (Exception s)
            {
                MessageBox.Show(s.Message);
            }
        }
Exemple #12
0
        public async void TransfertTicket()
        {
            ticket.Client       = this.SelectedClient;
            ticket.MontantPaye += MontantRecu;

            if (ticket.Reste <= 0)
            {
                ticket.EstPaye = true;
            }


            Facture fac = new Facture();

            fac.EstDelivrer   = true;
            fac.Position      = ticket.Position;
            fac.Series        = settings.SeriesFacture;
            fac.EstPaye       = (MontantRetour >= 0);
            fac.Client        = SelectedClient?.Id;
            fac.NomClient     = SelectedClient?.NomComplet;
            fac.DateCreation  = DateTime.Now;
            fac.DateEcheance  = DateTime.Now;
            fac.Remarques     = $"{ticket.ticketType.ToString()} {ticket.Numero}";
            fac.VenteComptoir = true;
            fac.UpdateStock   = true;
            var repas = ticket.CarteLines;



            foreach (var item in repas)
            {
                LigneFacture line = item.article.Map("LigneFacture") as LigneFacture;
                line.PrixUnitaire = item.PricUnitaire;
                line.Qts          = item.Qts;
                fac.ArticleFacture.Add(line);
            }
            if (DeleteTicket && ticket.Reste > 0)
            {
                var response = MessageBox.Show("etes vous sur de vouloir supprimer le ticket partiellement payée?", "SUPPRIMER TICKET?", MessageBoxButton.YesNo);
                if (response == MessageBoxResult.No)
                {
                    return;
                }
            }
            if (CreateFacture && ticket.Reste > 0)
            {
                MessageBox.Show("Vous pouvez pas facturer une commande partiellement payée. Décocher <FACTURER>");
                return;
            }
            if (CreateFacture)
            {
                try
                {
                    //214 214


                    fac.RemiseGlobal  = ticket.Remise;
                    ticket.RefFacture = fac.Id;
                    if (settings.SeriesFacture != null && settings.SeriesFacture != ObjectId.Empty)
                    {
                        fac.Series = settings.SeriesFacture;
                    }

                    fac.Save();
                    fac.Submit();

                    //var paiement = fac.SaisirPaiement(false);
                    //paiement.Save();
                    //paiement.Submit();
                }
                catch (Exception s)
                {
                    MessageBox.Show(s.Message);
                }
            }
            if (PrintKitchen)
            {
            }
            if (PrintPdf)
            {
                var local = PosSettings.getInstance().POSPrinter;

                if (string.IsNullOrWhiteSpace(settings.NomTemplate))
                {
                    MessageBox.Show("Définis le modéle d'impression dans paramétres");
                    return;
                }
                var doc = fac.ExportWORD(fac.GetType(), settings.NomTemplate, !settings.DontUseHeader);
                try
                {
                    const string ESC             = "\u001B";
                    const string p               = "\u0070";
                    const string m               = "\u0000";
                    const string t1              = "\u0025";
                    const string t2              = "\u0250";
                    const string openTillCommand = ESC + p + m + t1 + t2;
                    RawPrinterHelper.SendStringToPrinter(local, openTillCommand);

                    ProcessStartInfo info = new ProcessStartInfo(doc);
                    info.Arguments      = "\"" + local + "\"";
                    info.Verb           = "Printto";
                    info.CreateNoWindow = true;
                    info.WindowStyle    = ProcessWindowStyle.Hidden;
                    Process.Start(info);
                }
                catch (Exception s)
                {
                    MessageBox.Show(s.Message);
                }
            }
            if (OpenPdf)
            {
                await DataHelpers.Shell.OpenScreenDetach(fac, fac.Name);
            }

            if (DeleteTicket)
            {
                this.RequestClose(true);
            }
            else
            {
                this.RequestClose(false);
            }
        }