private void insertarButton_Click(object sender, EventArgs e)
        {
            PuntoDeVenta p = new PuntoDeVenta();

            p.Descripcion = descripcionTextBox.Text;
            p.Id          = (string.IsNullOrWhiteSpace(idTextBox.Text)) ? 0 : Convert.ToInt32(idTextBox.Text);

            if (string.IsNullOrWhiteSpace(descripcionTextBox.Text))
            {
                errorProvider1.SetError(descripcionTextBox, "Requerido");
                errorProvider1.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                return;
            }
            else
            {
                errorProvider1.Clear();
            }

            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                if (p.Id == 0 && !string.IsNullOrWhiteSpace(p.Descripcion)) //insertar
                {
                    context.PuntosDeVenta.Add(p);
                    context.SaveChanges();
                }
            }
            actualizarGrilla();
            limpiarCampos();
        }
        private void borrarButton_Click(object sender, EventArgs e)
        {
            //chequear si no tiene fks
            PuntoDeVenta p = new PuntoDeVenta();

            p.Descripcion = descripcionTextBox.Text;
            p.Id          = (string.IsNullOrWhiteSpace(idTextBox.Text)) ? 0 : Convert.ToInt32(idTextBox.Text);
            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                if (context.Vendedores.Where(x => x.PuntoDeVenta.Id == p.Id).Any())
                {
                    using (new CenterWinDialog(this))
                    {
                        MessageBox.Show("Violacion de integridad referencial", "No se puede borrar " + p.Descripcion + " ");
                    }
                }
                else if (p.Id != 0)
                {
                    using (new CenterWinDialog(this))
                    {
                        MessageBoxManager.Cancel = "Cancelar";
                        DialogResult r = MessageBox.Show("Realmente desea eliminar el Punto de Venta?", "Cuidado", MessageBoxButtons.OKCancel);
                        if (r != DialogResult.Cancel)
                        {
                            context.Entry(p).State = EntityState.Deleted;
                            context.SaveChanges();
                            actualizarGrilla();
                        }
                    }
                }
            }
            limpiarCampos();
            limpiarButton.PerformClick();
        }
示例#3
0
        private async void cbxSucursales_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbxSucursales.SelectedIndex == -1)
            {
                return;
            }

            if ((int)cbxSucursales.SelectedValue == 0)
            {
                List <PuntoDeVenta> listaPuntoVenta = new List <PuntoDeVenta>();
                PuntoDeVenta        puntoVenta      = new PuntoDeVenta();
                puntoVenta.idPuntoVenta = 0;
                puntoVenta.nombre       = "Todos los puntos de venta";
                listaPuntoVenta.Add(puntoVenta);
                listaPuntoVenta.AddRange(ConfigModel.puntosDeVenta);
                puntoDeVentaBindingSource.DataSource = listaPuntoVenta;
                cbxPuntosVenta.SelectedIndex         = -1;
                cbxPuntosVenta.SelectedValue         = 0;
            }
            else
            {
                List <PuntoDeVenta> listaPuntoVenta = new List <PuntoDeVenta>();
                PuntoDeVenta        puntoVenta      = new PuntoDeVenta();
                puntoVenta.idPuntoVenta = 0;
                puntoVenta.nombre       = "Todos los puntos de venta";
                listaPuntoVenta.Add(puntoVenta);

                List <PuntoDeVenta> lista = ConfigModel.puntosDeVenta.Where(X => X.idSucursal == (int)cbxSucursales.SelectedValue).ToList();
                listaPuntoVenta.AddRange(lista);
                puntoDeVentaBindingSource.DataSource = listaPuntoVenta;
                cbxPuntosVenta.SelectedIndex         = -1;
                cbxPuntosVenta.SelectedValue         = 0;
            }
            //puntoDeVentaBindingSource.DataSource = await puntoVentaModel.puntoVentasyTodos((int)cbxSucursales.SelectedValue);
        }
示例#4
0
 public IU_MenuPrincipal()
 {
     InitializeComponent();
     interfazInicioSesion = new IU_InicioSesion();
     saveFile             = new SaveFileDialog();
     PuntoDeVenta         = new PuntoDeVenta();
 }
        public FormPuntoVentaNuevo(PuntoDeVenta puntoDeVenta)
        {
            InitializeComponent();

            this.nuevo = false;
            this.currentIDPuntoVenta = puntoDeVenta.idPuntoVenta;
            this.puntoVenta          = puntoDeVenta;
            textPuntoVenta.Text      = puntoDeVenta.nombre;
            chkActivo.Checked        = Convert.ToBoolean(puntoDeVenta.estado);
        }
 private void crearObjeto()
 {
     puntoVenta = new PuntoDeVenta();
     if (!nuevo)
     {
         puntoVenta.idPuntoVenta = currentIDPuntoVenta;         // Llenar el id categoria cuando este en esdo modificar
     }
     puntoVenta.nombre     = textPuntoVenta.Text;
     puntoVenta.idSucursal = Convert.ToInt32(cbxSucursalPV.SelectedValue);
     puntoVenta.estado     = Convert.ToInt32(chkActivo.Checked);
 }
示例#7
0
 public async Task <Response> eliminar(PuntoDeVenta param)
 {
     try
     {
         // localhost:8080/admeli/xcore2/xcore/services.php/puntoventa/eliminar
         return(await webService.POST <PuntoDeVenta, Response>("puntoventa", "eliminar", param));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#8
0
        //EVENTO

        private void timer1_Tick(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            timer1.Stop();
            ListaPuntosDeVenta = PuntoDeVenta.mostrarDatos(IUContenedora.EncargadoActivo.MiEmpresa);
            cargarCombo();
            if (ListaPuntosDeVenta.Count > 0)
            {
                btn_aceptar.Enabled = true;
            }
            Cursor.Current = Cursors.Default;
        }
 public ActionResult Agregar(PuntoDeVenta puntoDeVenta)
 {
     if (ModelState.IsValid)
     {
         _db.Set <PuntoDeVenta>().Add(puntoDeVenta);
         _db.SaveChanges();
         TempData["exito"] = "Punto de venta agregado correctamente";
         return(RedirectToAction("Index"));
     }
     ViewBag.CentroDeCostoId = new SelectList(_db.Set <PuntoDeVenta>(), "Id", "Nombre", puntoDeVenta.CentroDeCostoId);
     return(View(puntoDeVenta));
 }
 public ActionResult Editar(PuntoDeVenta puntoDeVenta)
 {
     if (ModelState.IsValid)
     {
         _db.Entry(puntoDeVenta).State = EntityState.Modified;
         _db.SaveChanges();
         TempData["exito"] = "Punto de venta modificado correctamente";
         return(RedirectToAction("Index"));
     }
     ViewBag.CentroDeCostoId = new SelectList(_db.Set <CentroDeCosto>(), "Id", "Nombre", puntoDeVenta.CentroDeCostoId);
     return(View(puntoDeVenta));
 }
        public static void CargarPtosDeVenta()
        {
            if (PtosDeVenta.Count == 0)
            {
                var punto1 = new PuntoDeVenta(1, "LA SANDWICHERÍA - Tucumán");
                var punto2 = new PuntoDeVenta(2, "LA SANDWICHERÍA - Salta");
                var punto3 = new PuntoDeVenta(3, "LA SANDWICHERÍA - Jujuy");

                PtosDeVenta.Add(punto1);
                PtosDeVenta.Add(punto2);
                PtosDeVenta.Add(punto3);
            }
        }
        private void BtnLogin_Click(object sender, EventArgs e)
        {
            var correo = txtEmail.Text;
            var pass   = txtPassword.Text;

            if (!string.IsNullOrWhiteSpace(correo) && !string.IsNullOrEmpty(correo))
            {
                if (!string.IsNullOrWhiteSpace(pass) && !string.IsNullOrEmpty(pass))
                {
                    if (Validaciones.Validacion.isEmailValid(correo))
                    {
                        var login = Consultas.CLogin.login(correo, pass);
                        if (login != null)
                        {
                            if (login.Perfil.Equals("cajero"))
                            {
                                this.Hide();
                                var punto = new PuntoDeVenta();
                                punto.Show();
                            }
                            else if (login.Perfil.Equals("administrador"))
                            {
                                //falta administrador
                                this.Hide();
                                var MenuAdministrador = new MenuAdministrador();
                                MenuAdministrador.Show();
                            }
                        }
                        else
                        {
                            MessageBox.Show("Usuario no encontrado!");
                        }
                    }
                    else
                    {
                        MessageBox.Show("ingresa un correo valido");
                        EmailInvalid();
                    }
                }
                else
                {
                    MessageBox.Show("Ingresa una contraseña");
                    txtPassword.Focus();
                }
            }
            else
            {
                MessageBox.Show("Ingresa un correo electronico");
                txtEmail.Focus();
            }
        }
示例#13
0
        private void FormPrueba_Load(object sender, EventArgs e)
        {
            //Establecer formato de decimales
            this.fijarFormatoDecimal();
            this.reLoad();

            string almacen = ConfigModel.alamacenes.Find(X => X.idAlmacen == ConfigModel.currentIdAlmacen).nombre;

            PuntoDeVenta puntoDeVenta = ConfigModel.puntosDeVenta.Find(X => X.idPuntoVenta == ConfigModel.currentPuntoVenta);
            string       punto        = puntoDeVenta == null ? "":" - " + puntoDeVenta.nombre;

            this.Text       += almacen + punto + " - " + ConfigModel.sucursal.nombre;
            this.lbinfo.Text = almacen + punto;
        }
 private void DGVHelp_DoubleClick(object sender, EventArgs e)
 {
     if (DGVHelp.CurrentRow.Index != -1)
     {
         PuntoDeVenta p = new PuntoDeVenta();
         p.Id = Convert.ToInt32(DGVHelp.CurrentRow.Cells[0].Value);
         using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
         {
             p = context.PuntosDeVenta.Where(x => x.Id == p.Id).FirstOrDefault();
             puntoTextBox.Text   = p.Descripcion;
             puntoIdTextBox.Text = Convert.ToString(p.Id);
         }
         DGVHelp.Visible = false;
     }
 }
示例#15
0
        private async void executeAnular()
        {
            // Verificando la existencia de datos en el datagridview
            if (dataGridView.Rows.Count == 0)
            {
                MessageBox.Show("No hay un registro seleccionado", "Desactivar o anular", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            // Pregunta de seguridad de anular
            DialogResult dialog = MessageBox.Show("¿Está seguro de anular este registro?", "Anular",
                                                  MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (dialog == DialogResult.No)
            {
                return;
            }

            try
            {
                loadState(true);
                int index = dataGridView.CurrentRow.Index;                                                   // Identificando la fila actual del datagridview
                currentPuntoDeVenta = new PuntoDeVenta();                                                    //creando una instancia del objeto correspondiente
                currentPuntoDeVenta.idPuntoVenta = Convert.ToInt32(dataGridView.Rows[index].Cells[0].Value); // obteniedo el idRegistro del datagridview

                // Comprobando si el registro ya esta desactivado
                if (puntosDeVenta.Find(x => x.idPuntoVenta == currentPuntoDeVenta.idPuntoVenta).estado == 0)
                {
                    MessageBox.Show("Este registro ya esta desactivado", "Desactivar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                // Procediendo con las desactivacion
                Response response = await puntoVentaModel.anular(currentPuntoDeVenta);

                MessageBox.Show(response.msj, "Desactivar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cargarRegistros(); // recargando los registros en el datagridview
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                loadState(false);
            }
        }
        //private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    DataGridView dgv = sender as DataGridView;
        //    if (dgv == null)
        //        return;
        //    if (dgv.CurrentRow.Selected)
        //    {
        //        string desc = dgv.CurrentRow.Cells[1].Value.ToString();
        //        descripcionTextBox.Text = desc;
        //    }
        //}

        private void dataGridView1_DoubleClick(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow.Index != -1)
            {
                PuntoDeVenta p = new PuntoDeVenta();
                p.Id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
                using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
                {
                    p = context.PuntosDeVenta.Where(x => x.Id == p.Id).FirstOrDefault();
                    descripcionTextBox.Text = p.Descripcion;
                    idTextBox.Text          = Convert.ToString(p.Id);
                }
                modificarButton.Enabled = true;
                borrarButton.Enabled    = true;
                insertarButton.Enabled  = false;
            }
        }
示例#17
0
 private async void cargarPuntosVenta(int idSucursal)
 {
     try
     {
         List <PuntoDeVenta> listaPuntoVenta = new List <PuntoDeVenta>();
         PuntoDeVenta        puntoVenta      = new PuntoDeVenta();
         puntoVenta.idPuntoVenta = 0;
         puntoVenta.nombre       = "Todos los puntos de venta";
         listaPuntoVenta.Add(puntoVenta);
         listaPuntoVenta.AddRange(ConfigModel.puntosDeVenta);
         puntoDeVentaBindingSource.DataSource = listaPuntoVenta;
         //puntoDeVentaBindingSource.DataSource=await  puntoVentaModel.puntoVentasyTodos(idSucursal);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error: " + ex.Message, "Listar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
示例#18
0
 private void cargarDataGrid()
 {
     Cursor.Current = Cursors.WaitCursor;
     dgv_sucursales.Rows.Clear();
     ListaPuntoDeVenta.Clear();
     ListaPuntoDeVenta = PuntoDeVenta.mostrarDatos(MiEmpresa);
     foreach (var item in ListaPuntoDeVenta)
     {
         item.Localidad.mostrarDatos(item.CodigoLocalidad);
         dgv_sucursales.Rows.Add(
             item.CodigoPuntoVenta.ToString("0000"),
             item.NombreFantasia,
             item.Calle + " " + item.Numero,
             item.Localidad.NombreLocalidad,
             item.CodigoPuntoVenta
             );
     }
     Cursor.Current = Cursors.Default;
 }
        //private void autocompletarTextBox()
        //{
        //    puntoTextBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        //    puntoTextBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
        //    AutoCompleteStringCollection c = new AutoCompleteStringCollection();
        //    using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
        //    {
        //        var query = from p in context.PuntosDeVenta
        //                    select p.Descripcion;
        //        c.AddRange(query.ToArray());
        //    }
        //    puntoTextBox.AutoCompleteCustomSource = c;
        //}


        private void puntoIdTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab)
            {
                int id = (puntoIdTextBox.Text != "") ? Convert.ToInt32(puntoIdTextBox.Text) : 0;
                if (id != 0)
                {
                    using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
                    {
                        PuntoDeVenta pdv = context.PuntosDeVenta.Where(p => p.Id == id).FirstOrDefault();
                        if (pdv != null)
                        {
                            puntoIdTextBox.Text = pdv.Id.ToString();
                            puntoTextBox.Text   = pdv.Descripcion;
                        }
                        else
                        {
                            //mostrar error y la grid
                            //MessageBoxManager.Register();
                            //using (new CenterWinDialog(this))
                            //{
                            //    MessageBox.Show("No existe el Punto de Venta. Elija uno de la tabla.", "Error");
                            //}
                            //MessageBoxManager.Unregister();
                            context.PuntosDeVenta.Load();
                            DGVHelp.DataSource = context.PuntosDeVenta.Local.ToBindingList();
                            DGVHelp.Visible    = true;
                        }
                    }
                }
            }
            else if (e.KeyCode.ToString() == "F1")
            {
                //abrir grid
                using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
                {
                    context.PuntosDeVenta.Load();
                    DGVHelp.DataSource = context.PuntosDeVenta.Local.ToBindingList();
                    DGVHelp.Visible    = true;
                }
            }
        }
示例#20
0
        private void decorationDataGridView()
        {
            if (dataGridView.Rows.Count == 0)
            {
                return;
            }

            foreach (DataGridViewRow row in dataGridView.Rows)
            {
                int idPuntoVenta = Convert.ToInt32(row.Cells[0].Value);                        // obteniedo el idCategoria del datagridview

                currentPuntoDeVenta = puntosDeVenta.Find(x => x.idPuntoVenta == idPuntoVenta); // Buscando la categoria en las lista de categorias
                if (currentPuntoDeVenta.estado == 0)
                {
                    dataGridView.ClearSelection();
                    row.DefaultCellStyle.BackColor = Color.FromArgb(255, 224, 224);
                    row.DefaultCellStyle.ForeColor = Color.FromArgb(250, 5, 73);
                }
            }
        }
示例#21
0
        private void executeModificar()
        {
            // Verificando la existencia de datos en el datagridview
            if (dataGridView.Rows.Count == 0)
            {
                MessageBox.Show("No hay un registro seleccionado", "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            int index        = dataGridView.CurrentRow.Index;                              // Identificando la fila actual del datagridview
            int idPuntoVenta = Convert.ToInt32(dataGridView.Rows[index].Cells[0].Value);   // obteniedo el idRegistro del datagridview

            currentPuntoDeVenta = puntosDeVenta.Find(x => x.idPuntoVenta == idPuntoVenta); // Buscando la registro especifico en la lista de registros

            // Mostrando el formulario de modificacion
            FormPuntoVentaNuevo formPuntoVenta = new FormPuntoVentaNuevo(currentPuntoDeVenta);

            formPuntoVenta.ShowDialog();
            cargarRegistros(); // recargando loas registros en el datagridview
        }
示例#22
0
        private async void executeEliminar()
        {
            // Verificando la existencia de datos en el datagridview
            if (dataGridView.Rows.Count == 0)
            {
                MessageBox.Show("No hay un registro seleccionado", "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            // Pregunta de seguridad de eliminacion
            DialogResult dialog = MessageBox.Show("¿Está seguro de eliminar este registro?", "Eliminar",
                                                  MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (dialog == DialogResult.No)
            {
                return;
            }


            try
            {
                int index = dataGridView.CurrentRow.Index;                                                   // Identificando la fila actual del datagridview
                currentPuntoDeVenta = new PuntoDeVenta();                                                    //creando una instancia del objeto categoria
                currentPuntoDeVenta.idPuntoVenta = Convert.ToInt32(dataGridView.Rows[index].Cells[0].Value); // obteniedo el idCategoria del datagridview

                loadState(true);                                                                             // cambiando el estado
                Response response = await puntoVentaModel.eliminar(currentPuntoDeVenta);                     // Eliminando con el webservice correspondiente

                MessageBox.Show(response.msj, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cargarRegistros(); // recargando el datagridview
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                loadState(false); // cambiando el estado
            }
        }
        private void modificarButton_Click(object sender, EventArgs e)
        {
            PuntoDeVenta p = new PuntoDeVenta();

            p.Descripcion = descripcionTextBox.Text;
            p.Id          = (string.IsNullOrWhiteSpace(idTextBox.Text)) ? 0 : Convert.ToInt32(idTextBox.Text);
            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                if (!string.IsNullOrWhiteSpace(p.Descripcion)) //modificar
                {
                    //context.Entry(p).State = EntityState.Modified;
                    //para que ande bien el audit
                    var entry = context.PuntosDeVenta.Find(p.Id);
                    context.Entry(entry).CurrentValues.SetValues(p);
                    context.SaveChanges();
                }
            }
            actualizarGrilla();
            limpiarCampos();
            modificarButton.Enabled = false;
            borrarButton.Enabled    = false;
        }
示例#24
0
 public IU_PuntoDeVenta()
 {
     InitializeComponent();
     PuntoDeVenta       = new PuntoDeVenta();
     ListaPuntosDeVenta = new List <PuntoDeVenta>();
 }
        internal bool AcabarVenta(PuntoDeVenta ptoDeVenta)
        {
            _ventaAct.Empresa     = Empresa.Intancia();
            _ventaAct.Cliente     = Cliente;
            _ventaAct.PtoDeVenta  = ptoDeVenta;
            _ventaAct.Comprobante = _ventaAct.GenerarComprobante();

            _ventaAct.Comprobante.TipoComprobante = _ventaAct.Comprobante.ObtenerTipoComprobante(_ventaAct.Empresa, _ventaAct.Cliente);
            _ventaAct.TipoConcepto    = TiposConceptos.Producto;
            _ventaAct.TipoImpuestoIVA = TiposIVA.IVA_0;
            _ventaAct.TipoTributo     = TiposTributos.Otro;

            //Sistema Autorización

            var VicenteService = new ServiceClienteVicente();

            try
            {
                var cuit  = VicenteService.Autorizacion.Cuit;
                var sign  = VicenteService.Autorizacion.Sign;
                var token = VicenteService.Autorizacion.Token;

                Empresa.Intancia().TipoDocumento = TiposDocumentos.CUIT;
                Empresa.Intancia().NroDocumento  = cuit;

                Console.Write($"{cuit}, {sign}, {token}");

                //Sistema AFIP
                var ServicioAFIP = new ServicioAFIP(Empresa.Intancia().NroDocumento, sign, token);

                var VerificacionEnLinea = ServicioAFIP.VerificarEnLinea();

                var EstadoAppServer = VerificacionEnLinea.AppServer;
                var EstadoDBServer  = VerificacionEnLinea.DbServer;

                Console.Write($"{EstadoAppServer}, {EstadoDBServer}");

                if (EstadoAppServer == "OK" && EstadoDBServer == "OK")
                {
                    var UltimoCompAutorizado = ServicioAFIP.ObtenerUltimaFacturaAutorizada(_ventaAct.PtoDeVenta.NroPuntoDeVenta, (int)_ventaAct.Comprobante.TipoComprobante);
                    var NroUltimoAutorizado  = UltimoCompAutorizado.CbteNro;

                    _ventaAct.Comprobante.NroComprobante = NroUltimoAutorizado + 1;

                    var FECAE = ServicioAFIP.AutorizarFactura(_ventaAct);
                    _ventaAct.CAE = FECAE.FeDetResp[0].CAE;
                }
            }
            catch (NullReferenceException e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }

            VicenteService.CerrarClient();
            //-----------------------

            _turnoAct.AgregarVenta(_ventaAct);
            _ventaAct.RestarExistencia();

            //Guardar en DB
            DBVentas.GuardarVenta(_ventaAct);
            DBComprobantes.GuardarComprobante(_ventaAct.Comprobante);
            //-------------

            return(true);
        }
示例#26
0
 public IU_ConsultarPuntoVenta()
 {
     InitializeComponent();
     PuntoDeVenta      = new PuntoDeVenta();
     ListaPuntoDeVenta = new List <PuntoDeVenta>();
 }
        private void insertarButton_Click(object sender, EventArgs e)
        {
            bool     puedoInsertar = true;
            Vendedor v             = new Vendedor();

            v.Id = (string.IsNullOrWhiteSpace(idTextBox.Text)) ? 0 : Convert.ToInt32(idTextBox.Text);

            if (string.IsNullOrWhiteSpace(nombreTextBox.Text))
            {
                nombreErrorProvider.SetError(nombreTextBox, "Requerido");
                nombreErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                nombreErrorProvider.Clear();
            }

            if (string.IsNullOrWhiteSpace(apellidoTextBox.Text))
            {
                apellidoErrorProvider.SetError(apellidoTextBox, "Requerido");
                apellidoErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                apellidoErrorProvider.Clear();
            }

            if (string.IsNullOrWhiteSpace(puntoIdTextBox.Text.ToString()))
            {
                puntoErrorProvider.SetError(puntoIdTextBox, "Requerido");
                puntoErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                puntoErrorProvider.Clear();
            }

            if (string.IsNullOrWhiteSpace(zonaIdTextBox.Text.ToString()))
            {
                zonaErrorProvider.SetError(zonaIdTextBox, "Requerido");
                zonaErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                zonaErrorProvider.Clear();
            }

            v.Nombre   = nombreTextBox.Text;
            v.Apellido = apellidoTextBox.Text;
            //v.Ciudad = ciudadTextBox.Text;
            //v.Direccion = direccionTextBox.Text;
            //v.Telefono = Convert.ToInt32(telefonoTextBox.Text);
            int          puntoId = (string.IsNullOrWhiteSpace(puntoIdTextBox.Text)) ? 0 : Convert.ToInt32(puntoIdTextBox.Text);
            int          zonaId  = (string.IsNullOrWhiteSpace(zonaIdTextBox.Text)) ? 0 : Convert.ToInt32(zonaIdTextBox.Text);
            PuntoDeVenta pdv     = contextGlobal.PuntosDeVenta.Where(p => p.Id == puntoId).FirstOrDefault();
            Zona         z       = contextGlobal.Zonas.Where(p => p.Id == zonaId).FirstOrDefault();

            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                if (v.Id == 0 && puedoInsertar) //insertar
                {
                    context.Vendedores.Add(v);
                    //para que no se cree un nuevo punto de venta
                    context.PuntosDeVenta.Attach(pdv);

                    v.PuntoDeVenta = pdv;
                    context.Zonas.Attach(z);
                    v.Zona = z;
                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception ex)
                    { throw ex; }


                    limpiarCampos();
                }
            }
            actualizarGrilla();
        }
        private void modificarButton_Click(object sender, EventArgs e)
        {
            bool     puedoInsertar = true;
            Vendedor v             = new Vendedor();

            v.Id       = (string.IsNullOrWhiteSpace(idTextBox.Text)) ? 0 : Convert.ToInt32(idTextBox.Text);
            v.Nombre   = nombreTextBox.Text;
            v.Apellido = apellidoTextBox.Text;
            int          puntoId = (string.IsNullOrWhiteSpace(puntoIdTextBox.Text)) ? 0 : Convert.ToInt32(puntoIdTextBox.Text);
            int          zonaId  = (string.IsNullOrWhiteSpace(zonaIdTextBox.Text)) ? 0 : Convert.ToInt32(zonaIdTextBox.Text);
            PuntoDeVenta pdv     = contextGlobal.PuntosDeVenta.Where(p => p.Id == puntoId).FirstOrDefault();
            Zona         z       = contextGlobal.Zonas.Where(p => p.Id == zonaId).FirstOrDefault();

            //v.PuntoDeVenta = contextGlobal.PuntosDeVenta.Where(p => p.Id == puntoId).FirstOrDefault();
            v.PuntoDeVentaId = puntoId;
            v.PuntoDeVenta   = null;
            v.ZonaId         = zonaId;
            v.Zona           = null;

            if (string.IsNullOrWhiteSpace(nombreTextBox.Text))
            {
                nombreErrorProvider.SetError(nombreTextBox, "Requerido");
                nombreErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                nombreErrorProvider.Clear();
            }

            if (string.IsNullOrWhiteSpace(apellidoTextBox.Text))
            {
                apellidoErrorProvider.SetError(apellidoTextBox, "Requerido");
                apellidoErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                apellidoErrorProvider.Clear();
            }

            if (string.IsNullOrWhiteSpace(puntoIdTextBox.Text.ToString()))
            {
                puntoErrorProvider.SetError(puntoIdTextBox, "Requerido");
                puntoErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                puntoErrorProvider.Clear();
            }

            if (string.IsNullOrWhiteSpace(zonaIdTextBox.Text.ToString()))
            {
                zonaErrorProvider.SetError(zonaIdTextBox, "Requerido");
                zonaErrorProvider.BlinkStyle = ErrorBlinkStyle.NeverBlink;
                puedoInsertar = false;
                //return;
            }
            else
            {
                zonaErrorProvider.Clear();
            }

            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                if (puedoInsertar) //modificar
                {
                    //context.PuntosDeVenta.Attach(pdv);
                    //v.PuntoDeVenta = pdv;
                    var entry = context.Vendedores.Find(v.Id);
                    context.Entry(entry).CurrentValues.SetValues(v);
                    //context.Entry(v).State = EntityState.Modified;
                    //context.Vendedores.AddOrUpdate(v);

                    context.SaveChanges();
                    actualizarGrilla();
                }
            }
            limpiarCampos();
            limpiarButton.PerformClick();
        }
 /// <summary>
 /// Recuperador de los puntos de venta asignados a Facturacion Electronica de comprobantes de Exportacion
 /// </summary>
 /// <param name="aut">Autorizacion WSAA</param>
 /// <returns>Listado de puntos de venta registrados para la operacion de comprobantes electronicos para exportacion via web services</returns>
 public List<PuntoDeVenta> ObtenerPuntosDeVenta( Autorizacion aut )
 {
     ClsFEXAuthRequest feAutRequest = this.wa.ConvertirFex( aut );
     FEXResponse_PtoVenta respuesta = this.wsfe.FEXGetPARAM_PtoVenta( feAutRequest );
     this.managerErrores.CapturarError( respuesta.FEXErr );
     List<PuntoDeVenta> puntosDeVenta = new List<PuntoDeVenta>();
     PuntoDeVenta puntoDeVenta;
     foreach ( ClsFEXResponse_PtoVenta punto in respuesta.FEXResultGet )
     {
         puntoDeVenta = new PuntoDeVenta();
         puntoDeVenta.Numero = punto.Pve_Nro;
         puntoDeVenta.Bloqueado = punto.Pve_Bloqueado;
         puntosDeVenta.Add( puntoDeVenta );
     }
     return puntosDeVenta;
 }