예제 #1
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            errorProvider1.Dispose();

            var valido = Validacion.Validar(errorProvider1, new List <object>
            {
                txtFacturaNro,
                txtImporteTotal,
                ddlProveedor
            });

            if (valido)
            {
                if (Factura != null)
                {
                    //verifico que ya no haya una factura con el mismo numero y proveedor
                    var existente = FacturaRepository.Obtener(f => f.FacturaNro == FacturaNro &&
                                                              f.ProveedorId == ProveedorId &&
                                                              f.FacturaId != Factura.FacturaId);
                    if (existente != null)
                    {
                        MessageBox.Show("Ya existe una factura para el proveedor seleccionado con el mismo número");
                        this.DialogResult = DialogResult.None;
                    }
                    else
                    {
                        Factura.FacturaNro   = FacturaNro;
                        Factura.ImporteTotal = ImporteTotal;
                        Factura.ProveedorId  = ProveedorId;
                        //Factura.UsuarioId = UsuarioActual.UsuarioId;
                        FacturaRepository.Modificar(Factura);
                        FacturaRepository.Commit();
                        ExportarKiosco();
                    }
                }
                else
                {
                    var existente = FacturaRepository.Obtener(f => f.FacturaNro == FacturaNro &&
                                                              f.ProveedorId == ProveedorId);
                    if (existente != null)
                    {
                        MessageBox.Show("Ya existe una factura para el proveedor seleccionado con el mismo número");
                        this.DialogResult = DialogResult.None;
                    }
                    else
                    {
                        Factura = new Factura()
                        {
                            CierreCajaId  = UsuarioActual.CierreCajaIdActual,
                            Identifier    = Guid.NewGuid(),
                            FacturaNro    = FacturaNro,
                            ImporteTotal  = ImporteTotal,
                            ProveedorId   = ProveedorId,
                            MaxiKioscoId  = AppSettings.MaxiKioscoId,
                            Fecha         = Fecha,
                            AutoNumero    = GenerarAutonumerico(),
                            UsuarioId     = UsuarioActual.UsuarioId,
                            FechaCreacion = DateTime.Now
                        };
                        FacturaRepository.Agregar(Factura);
                        FacturaRepository.Commit();

                        ExportarKiosco();
                    }
                }
            }
            else
            {
                this.DialogResult = DialogResult.None;
            }
        }