Exemplo n.º 1
0
        private void StampaScontrino(ScontrinoStampa obj)
        {
            if (Datasource.Count == 0)
            {
                MessageManager.NotificaWarnig("Non ci sono articoli da stampare");
                return;
            }
            /*cambia riga per salvare il dato*/
            _dgvScontrino.ValidateEditor();
            _dgvScontrino.FocusedRowHandle = 0;

            _dgvScontrino.FocusedRowHandle = 1;



            var listRighe = new List <ScontrinoLine>();

            for (int i = 0; i < Datasource.Count(); i++)
            {
                var a = Datasource[i];
                if (a.TipoRigaScontrino != TipoRigaScontrino.ScontoIncondizionato &&
                    a.TipoRigaScontrino != TipoRigaScontrino.Incassato)
                {
                    listRighe.Add(new ScontrinoLine {
                        Articolo = a.Articolo, Descrizione = a.Descrizione, IvaPerc = a.IvaPerc, Qta = 1, PrezzoIvato = a.PrezzoIvato, TipoRigaScontrino = a.TipoRigaScontrino
                    });
                }
                if (a.TipoRigaScontrino == TipoRigaScontrino.Vendita && a.ScontoPerc != 0)
                {
                    var descr = "Sconto " + a.ScontoPerc.ToString() + "%";
                    if (a.ScontoPerc < 0)
                    {
                        descr = "Maggiorazione " + Math.Abs(a.ScontoPerc).ToString() + "%";
                    }
                    listRighe.Add(new ScontrinoLine {
                        Descrizione = descr, IvaPerc = 0, Qta = 1, PrezzoIvato = a.PrezzoIvato * (a.ScontoPerc) / 100, TipoRigaScontrino = TipoRigaScontrino.Sconto
                    });
                }
                if (a.TipoRigaScontrino == TipoRigaScontrino.ScontoIncondizionato && a.PrezzoIvato > 0)
                {
                    listRighe.Add(new ScontrinoLine {
                        Descrizione = a.Descrizione, IvaPerc = 0, Qta = 1, PrezzoIvato = a.PrezzoIvato, TipoRigaScontrino = TipoRigaScontrino.Sconto
                    });
                }
            }
            enListTipoScontrino tipoScontrino = (enListTipoScontrino)cboTipoDoc.EditValue;

            //enListTipoScontrino tipoScontrino = (enListTipoScontrino)Enum.Parse(typeof(enListTipoScontrino), .ToString());
            using (var saveEntity = new SaveEntityManager())
            {
                if (tipoScontrino == enListTipoScontrino.Scontrino ||
                    tipoScontrino == enListTipoScontrino.ScontrinoDocScarico)
                {
                    if (!SettingScontrinoValidator.Check())
                    {
                        return;
                    }
                    if (!ScriviFileScontrino(listRighe, tipoScontrino == enListTipoScontrino.Scontrino, saveEntity))
                    {
                        return;
                    }
                }
                if (tipoScontrino == enListTipoScontrino.DocScarico ||
                    tipoScontrino == enListTipoScontrino.ScontrinoDocScarico)
                {
                    if (!GeneraOrdineScarico(saveEntity))
                    {
                        return;
                    }
                }
            }
            RipulisciScontrino(new ScontrinoClear());
        }