Exemplo n.º 1
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            string message;
            string caption = "Precaución";

            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            message = "¿Esta seguro de que desea actualizar la Marca?";

            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                if (!VerificoCamposAntesDeGrabar())
                {
                    MessageBox.Show("Debe cargar un Excel con datos completos");
                    return;
                }
                //Recorro la grilla y actualizo


                objManejaArticulos = new ManejaArticulos();
                try
                {
                    foreach (DataGridViewRow row in gridArticulos.Rows)
                    {
                        //objArticulos = new Articulos();
                        //objArticulos.StrCodigo=Convert.ToString (row.Cells[0].Value);
                        //objArticulos.Intstock = Convert.ToInt32 (row.Cells[1].Value);
                        //list.Add(objArticulos);

                        //Me fijo si existe la Marca
                        ManejaDiccionario objManejaDiccionario = new ManejaDiccionario();

                        if (!objManejaDiccionario.ExisteDiccionario("MARCA", Convert.ToString(row.Cells[1].Value)))
                        {
                            //Si no existe la creo
                            Diccionario objDiccionario = new Diccionario();
                            objDiccionario.StrParametro = "MARCA";
                            objDiccionario.StrValor1    = Convert.ToString(row.Cells[1].Value);
                            objManejaDiccionario.GrabarDiccionario(objDiccionario);
                        }

                        objManejaArticulos.ModificaMarcaMasivo(Convert.ToString(row.Cells[0].Value), Convert.ToString(row.Cells[1].Value));
                    }
                    gridArticulos.Rows.Clear();
                    objManejaArticulos = null;
                    MessageBox.Show("La Actualización ha sido correcta");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Formato incorrecto, revise el Excel");
                }
            }
        }
Exemplo n.º 2
0
        private void Modifico()
        {
            AsignoDatosAlObjeto();
            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            objManejaArticulos.ModificaArticulos(objArticulos);
        }
Exemplo n.º 3
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            string message;
            string caption = "Mensaje";

            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            message = "Desea Eliminar el Articulo";

            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                //Si me dice que si, lo elimino

                objManejaArticulos.EliminaArticulos(objArticulos.IntCodigo);

                MessageBox.Show("El Articulo " + objArticulos.StrDescripcion + " ha sido eliminado correctamente");
                LimpioCampos();
            }
        }
Exemplo n.º 4
0
        private string ValidaRegistros(string strCol1, string strCol4, string strCol12)
        {
            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            //Valida si existe el articulo, si ya existe devuelve falso
            if (objManejaArticulos.ExisteArticulo(strCol1))
            {
                return("El Articulo: " + strCol1.ToUpper() + " ya se encuentra ingresado. No se agregara a la grilla, Fila: ");
            }
            //Valida si el proveedor Existe

            if (!objManejaArticulos.ExisteProveedor(strCol4))
            {
                return("Proveedor No Existe en la fila: ");
            }

            //Valida si existe la Moneda

            if (!objManejaArticulos.ExisteMoneda(strCol12))
            {
                return("Moneda No Existe en la fila: ");
            }

            return(null);
        }
Exemplo n.º 5
0
        private void ActualizoStock(int intCodigo, int intCantidad, string strEstadoVenta)
        {
            //Si el estado de la orden es pendiente o cumplida entonces descuento el stock
            //Si el estado es cancelado incremento el stock
            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            objManejaArticulos.ModificaStockDevolucion(intCodigo, intCantidad, strEstadoVenta);
        }
Exemplo n.º 6
0
        private void btnReporte_Click(object sender, EventArgs e)
        {
            DataTable       dt = ArmoSql();
            ManejaArticulos objManejaArticulos = new ManejaArticulos();
            frmReportes     objfrmReporte;

            objfrmReporte = new frmReportes("ReporteArticulos.rdlc", objManejaArticulos.ReporteDeArticulosGral(dt), "ArticulosReporteGral");
            objfrmReporte.Show();
        }
Exemplo n.º 7
0
        private void btnBorrar_Click(object sender, EventArgs e)
        {
            Int32           selRow      = 0;
            int             intBorrados = 0;
            string          message;
            string          caption            = "Mensaje";
            ManejaArticulos objManejoArticulos = new ManejaArticulos();

            message = "Desea Borrar los articulos seleccionados?";

            if (gridBuscarArticulos != null)
            {
                if (gridBuscarArticulos.Rows.Count > 0)
                {
                    //Recorro los tildados para borrar
                    for (int i = 0; i <= Convert.ToInt32(gridBuscarArticulos.Rows.Count) - 1; i++)
                    {
                        if (Convert.ToBoolean(gridBuscarArticulos[COL_BORRADO, i].Value) == true)
                        {
                            intBorrados++;
                            if (intBorrados == 1)// Si encuentro borrados pregunto si quiere borrar
                            {
                                MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                                DialogResult      result;
                                result = MessageBox.Show(message, caption, buttons);

                                if (result == System.Windows.Forms.DialogResult.Yes)
                                {
                                    int intCodigo = Convert.ToInt32(gridBuscarArticulos[0, i].Value.ToString());
                                    objManejoArticulos.EliminaArticulos(intCodigo);
                                }
                                else
                                {
                                    return;
                                }
                            }
                            else
                            {
                                int intCodigo = Convert.ToInt32(gridBuscarArticulos[0, i].Value.ToString());
                                objManejoArticulos.EliminaArticulos(intCodigo);
                            }
                        }
                    }
                    if (gridBuscarArticulos.SelectedCells.Count > 0)
                    {
                        selRow = gridBuscarArticulos.CurrentCell.RowIndex;
                    }
                    CargoGrilla();
                    if ((gridBuscarArticulos.Rows.Count - 1) > selRow)
                    {
                        gridBuscarArticulos.ClearSelection();
                        gridBuscarArticulos.CurrentCell = gridBuscarArticulos[COL_BORRADO, selRow];
                    }
                }
            }
        }
Exemplo n.º 8
0
        private void BuscaElCodigoExtraDelArticulo(string strCodigo)
        {
            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            objArticulos           = new Articulos();
            objArticulos           = objManejaArticulos.BuscarArticulosPorCodigoExtra(strCodigo, true);
            txtCodigo.Text         = strCodigo;
            txtDescripcion.Enabled = true;
            txtDescripcion.Text    = objArticulos.StrDescripcion;
            txtDescripcion.Enabled = false;
            txtPrecio.Enabled      = true;
            txtPrecio.Text         = Convert.ToString(Redondeo(TomaPrecioDeLista(objArticulos)));
            txtCantidad.Text       = "1";
            txtPrecio.Enabled      = false;
        }
Exemplo n.º 9
0
 private void cboAgregar_Click(object sender, EventArgs e)
 {
     strCodigo = ((Button)sender).Name;
     if (boOtraPantalla)
     {
         this.Close();//Cierra la pantalla y vuelve a la pantalla de ventas
     }
     else
     {
         ManejaArticulos objManejaArticulos = new ManejaArticulos();
         Articulos       objArticulos       = objManejaArticulos.BuscarArticulosPorCodigoExtra(strCodigo, boOtraPantalla);
         frmArticulos    objfrmArticulos    = new frmArticulos(objArticulos);
         objfrmArticulos.Show();
         objfrmArticulos.Activate();
     }
 }
Exemplo n.º 10
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            string message;
            string caption = "Precaución";

            ManejaArticulos objManejaArticulos = new ManejaArticulos();

            message = "¿Esta seguro de que desea actualizar el proveedor?";

            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                if (!VerificoCamposAntesDeGrabar())
                {
                    MessageBox.Show("Debe cargar un Excel con datos completos");
                    return;
                }
                //Recorro la grilla y actualizo


                objManejaArticulos = new ManejaArticulos();
                try
                {
                    foreach (DataGridViewRow row in gridArticulos.Rows)
                    {
                        objManejaArticulos.ModificaProveedorMasivo(Convert.ToString(row.Cells[0].Value), Convert.ToInt32(row.Cells[1].Value));
                    }
                    gridArticulos.Rows.Clear();
                    objManejaArticulos = null;
                    MessageBox.Show("La Actualización ha sido correcta");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Formato incorrecto, revise el Excel");
                }
            }
        }
Exemplo n.º 11
0
        private void txtCodigo_Leave(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtCodigo.Text))
            {
                //Busco el codigo

                ManejaArticulos objManejaArticulos = new ManejaArticulos();
                Articulos       objArticulos       = new Articulos();

                objArticulos = objManejaArticulos.BuscarArticulosPorCodigoExtra(txtCodigo.Text, true);

                txtCantidad.Text = "1";

                if (objArticulos.IntCodigo == 0)//El Articulo no esta, debo obligarlo a cargar
                {
                    string            message = "¿Desea Cargar el articulo?";
                    string            caption = "Articulo Inexistente";
                    MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                    DialogResult      result;

                    // Displays the MessageBox.

                    result = MessageBox.Show(message, caption, buttons);

                    if (result == System.Windows.Forms.DialogResult.Yes)
                    {
                        objArticulos.StrCodigo   = txtCodigo.Text;
                        objArticulos.DtFechaAlta = DateTime.Now;
                        frmArticulos objFrmArticulos = new frmArticulos(objArticulos);
                        objFrmArticulos.ShowDialog();
                        objArticulos = null;
                        cboBuscarCodigo_Click(null, null);
                    }
                    else
                    {
                        txtCodigo.Text   = "";
                        txtCantidad.Text = "";
                    }
                }
            }
        }
Exemplo n.º 12
0
 private void gridBuscarArticulos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (gridBuscarArticulos.RowCount > 0)
     {
         if (boOtraPantalla)
         {
             strCodigo = Convert.ToString(gridBuscarArticulos.CurrentRow.Cells[2].Value.ToString());
             this.Close();
         }
         else
         {
             ManejaArticulos objManejaArticulos = new ManejaArticulos();
             int             intCodigo          = Convert.ToInt32(gridBuscarArticulos.CurrentRow.Cells[0].Value.ToString());
             Articulos       objArticulos       = objManejaArticulos.BuscarArticulos(intCodigo);
             frmArticulos    objfrmArticulos    = new frmArticulos(objArticulos);
             if (frmLogin.PermiteEntrar("ARTICULOS", "ARTICULOS_ALTA"))
             {
                 objfrmArticulos.Show();
                 objfrmArticulos.Activate();
                 CargoGrilla();
             }
         }
     }
 }
Exemplo n.º 13
0
        private void BuscoArticulo()
        {
            objManejaArticulos = new ManejaArticulos();
            objArticulos       = new Articulos();
            objArticulos       = objManejaArticulos.BuscarArticulosPorCodigoExtra(txtCodigo.Text, false);

            if (objArticulos.IntCodigo > 0)
            {
                CargoCombos();
                AsignoCamposConObjetos();
                if (strPermiso != "LECTURA")
                {
                    btnEliminar.Enabled = true;
                }
                this.Text = "Articulo: " + txtDescripcion.Text;

                //Si esta dado de baja bloqueo todo

                if (!string.IsNullOrEmpty(objArticulos.DtFechaBaja))
                {
                    HabilitoDesabilitoCampos(false);
                }
            }
        }
Exemplo n.º 14
0
 private void Grabo()
 {
     AsignoDatosAlObjeto();
     objManejaArticulos     = new ManejaArticulos();
     objArticulos.IntCodigo = objManejaArticulos.GrabarArticulos(objArticulos);
 }
Exemplo n.º 15
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            string message;
            string caption = "Precaución";

            ManejaArticulos   objManejaArticulos   = new ManejaArticulos();
            ManejaDiccionario objManejaDiccionario = new ManejaDiccionario();

            message = "¿Esta seguro de que desea correr el proceso?";

            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                if (!VerificoCamposAntesDeGrabar())
                {
                    MessageBox.Show("Debe cargar un Excel con datos completos");
                    return;
                }
                //Recorro la grilla y actualizo


                objManejaArticulos = new ManejaArticulos();
                try
                {
                    foreach (DataGridViewRow row in gridArticulos.Rows)
                    {
                        Articulos objArticulos = new Articulos();
                        objArticulos.StrCodigo      = Convert.ToString(row.Cells[0].Value).Trim();
                        objArticulos.StrDescripcion = Convert.ToString(row.Cells[1].Value).Trim().ToUpper();
                        objArticulos.StrDescrCorta  = Convert.ToString(row.Cells[2].Value).Trim().ToUpper();
                        objArticulos.IntProveedor   = Convert.ToInt32(row.Cells[3].Value);
                        objArticulos.StrRubro       = Convert.ToString(row.Cells[4].Value).Trim().ToUpper();
                        objArticulos.StrMarca       = Convert.ToString(row.Cells[5].Value).Trim().ToUpper();
                        objArticulos.StrUbicacion   = Convert.ToString(row.Cells[6].Value).Trim();

                        if (String.IsNullOrEmpty(Convert.ToString(row.Cells[12].Value)))
                        {
                            objArticulos.IntMoneda = 1; //Por defecto pongo moneda ARS
                        }
                        else
                        {
                            objArticulos.IntMoneda = Convert.ToInt32(row.Cells[12].Value);
                        }

                        if (String.IsNullOrEmpty(Convert.ToString(row.Cells[7].Value)))
                        {
                            objArticulos.Intstock = 0;
                        }
                        else
                        {
                            objArticulos.Intstock = Convert.ToInt32(row.Cells[7].Value);
                        }

                        if (String.IsNullOrEmpty(Convert.ToString(row.Cells[8].Value)))
                        {
                            objArticulos.Intstockminimo = 0;
                        }
                        else
                        {
                            objArticulos.Intstockminimo = Convert.ToInt32(row.Cells[8].Value);
                        }


                        if (String.IsNullOrEmpty(Convert.ToString(row.Cells[9].Value)))
                        {
                            objArticulos.DoCosto = 0;
                        }
                        else
                        {
                            objArticulos.DoCosto = Convert.ToDecimal(row.Cells[9].Value);
                        }

                        if (String.IsNullOrEmpty(Convert.ToString(row.Cells[10].Value)))
                        {
                            objArticulos.DoGanancia = 0;
                        }
                        else
                        {
                            objArticulos.DoGanancia = Convert.ToDecimal(row.Cells[10].Value);
                        }

                        if (String.IsNullOrEmpty(Convert.ToString(row.Cells[11].Value)))
                        {
                            objArticulos.DoPrecioEfectivo = 0;
                        }
                        else
                        {
                            objArticulos.DoPrecioEfectivo = Convert.ToDecimal(row.Cells[11].Value);
                        }

                        objArticulos.DtFechaAlta = Convert.ToDateTime(DateTime.Now.ToShortDateString());

                        int intcodigo = objManejaArticulos.GrabarArticulos(objArticulos);

                        //Me fijo si existe el Rubro
                        if (!objManejaDiccionario.ExisteDiccionario("PRODUCTOS/SERVICIOS", objArticulos.StrRubro))
                        {
                            //Si no existe lo creo
                            Diccionario objDiccionario = new Diccionario();
                            objDiccionario.StrParametro = "PRODUCTOS/SERVICIOS";
                            objDiccionario.StrValor1    = objArticulos.StrRubro;
                            objManejaDiccionario.GrabarDiccionario(objDiccionario);
                        }

                        //Me fijo si existe la Marca
                        if (!objManejaDiccionario.ExisteDiccionario("MARCA", objArticulos.StrMarca))
                        {
                            //Si no existe la creo
                            Diccionario objDiccionario = new Diccionario();
                            objDiccionario.StrParametro = "MARCA";
                            objDiccionario.StrValor1    = objArticulos.StrMarca;
                            objManejaDiccionario.GrabarDiccionario(objDiccionario);
                        }
                    }
                    gridArticulos.Rows.Clear();
                    objManejaArticulos = null;
                    MessageBox.Show("La creación masiva ha sido correcta");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Formato incorrecto, revise el Excel");
                    gridArticulos.Rows.Clear();
                    return;
                }
            }
        }
Exemplo n.º 16
0
        private void btnImportar_Click(object sender, EventArgs e)
        {
            int             intTienePacientesRepetidos  = 0;
            int             intElementoRepetidoEnGrilla = 0;
            ManejaArticulos objManejaArticulos          = new ManejaArticulos();
            object          strCol1              = null;
            object          strCol2              = null;
            object          strCol3              = null;
            object          strCol4              = null;
            object          strCol5              = null;
            object          strCol6              = null;
            object          strCol7              = null;
            object          strCol8              = null;
            object          strCol9              = null;
            object          strCol10             = null;
            object          strCol11             = null;
            object          strCol12             = null;
            object          strCol13             = null;
            string          strMessageValidacion = null;


            //abrimos el dialogo para poder obtener el nombre la ubicacion del archivo
            ofdAbrirArchivo.Filter = "Excel files|*.xlsx;*.xls";
            ofdAbrirArchivo.ShowDialog();
            string sArchivo = ofdAbrirArchivo.FileName;

            if (String.IsNullOrEmpty(sArchivo))
            {
                return;
            }

            //declaramos las variables que necesitamos para poder abrir un archivo excel
            _Application exlApp;
            Workbook     exlWbook;
            Worksheet    exlWsheet;

            exlApp = new ApplicationClass();

            //Asignamos el libro que sera abierot
            exlWbook  = exlApp.Workbooks.Open(sArchivo, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            exlWsheet = (Worksheet)exlWbook.Worksheets.get_Item(1);
            Range exlRange;

            //Definimos el el rango de celdas que seran leidas
            exlRange = exlWsheet.UsedRange;

            //Seteo la grilla
            CargoTituloGrilla();
            gridArticulos.DataSource = null;
            gridArticulos.Rows.Clear();


            try
            {
                string[] array = new string[exlRange.Rows.Count];
                //Recorremos el archivo excel como si fuera una matriz
                for (int i = 2; i <= exlRange.Rows.Count; i++)
                {
                    strMessageValidacion = "";
                    strCol1  = "";
                    strCol2  = "";
                    strCol3  = "";
                    strCol4  = "";
                    strCol5  = "";
                    strCol6  = "";
                    strCol7  = "";
                    strCol8  = "";
                    strCol9  = "";
                    strCol10 = "";
                    strCol11 = "";
                    strCol12 = "";
                    strCol13 = "";


                    strCol1 = (exlRange.Cells[i, 1] as Range).Value2;
                    //Verifico que el codigo este repetido
                    //Recorro el array y me fijo si ese elemento ya existe
                    //Si no existe lo agrego, sino salgo e informo
                    if (strCol1 != null)
                    {
                        intElementoRepetidoEnGrilla = 0;
                        for (int j = 0; j < array.Length; j++)
                        {
                            if (array[j] == strCol1.ToString())
                            {
                                //MessageBox.Show("El elemento de la fila: " + i + " esta repetido");
                                //gridArticulos.Rows.Clear();
                                //exlApp.Quit();
                                //return;
                                intElementoRepetidoEnGrilla = 1;
                            }
                        }

                        if (intElementoRepetidoEnGrilla == 0)
                        {
                            //lo Asigno
                            array[i - 1] = strCol1.ToString();
                            strCol2      = (exlRange.Cells[i, 2] as Range).Value2;
                            strCol3      = (exlRange.Cells[i, 3] as Range).Value2;
                            strCol4      = (exlRange.Cells[i, 4] as Range).Value2;
                            strCol5      = (exlRange.Cells[i, 5] as Range).Value2;
                            strCol6      = (exlRange.Cells[i, 6] as Range).Value2;
                            strCol7      = (exlRange.Cells[i, 7] as Range).Value2;
                            strCol8      = (exlRange.Cells[i, 8] as Range).Value2;
                            strCol9      = (exlRange.Cells[i, 9] as Range).Value2;
                            strCol10     = (exlRange.Cells[i, 10] as Range).Value2;
                            strCol11     = (exlRange.Cells[i, 11] as Range).Value2;
                            strCol12     = (exlRange.Cells[i, 12] as Range).Value2;
                            strCol13     = (exlRange.Cells[i, 13] as Range).Value2;


                            if (strCol1 != null && strCol2 != null && strCol4 != null && strCol5 != null && strCol6 != null)
                            {
                                //Valida Codigo Existente

                                if (String.IsNullOrEmpty(Convert.ToString(strCol13)))
                                {
                                    strCol13 = "1"; //Pongo por defecto ARS para la moneda
                                }
                                strMessageValidacion = ValidaRegistros(Convert.ToString(strCol1), Convert.ToString(strCol4), Convert.ToString(strCol13));
                                if (String.IsNullOrEmpty(strMessageValidacion))
                                {
                                    gridArticulos.Rows.Add(Convert.ToString(strCol1), Convert.ToString(strCol2), Convert.ToString(strCol3), Convert.ToString(strCol4), Convert.ToString(strCol5), Convert.ToString(strCol6), Convert.ToString(strCol7), Convert.ToString(strCol8), Convert.ToString(strCol9), Convert.ToString(strCol10), Convert.ToString(strCol11), Convert.ToString(strCol12), Convert.ToString(strCol13));
                                }
                                else
                                {
                                    //MessageBox.Show(strMessageValidacion + i);
                                    //gridArticulos.Rows.Clear();
                                    //exlApp.Quit();
                                    //return;
                                    intTienePacientesRepetidos = intTienePacientesRepetidos + 1;
                                }
                            }
                            else
                            {
                                MessageBox.Show("La fila: " + i + " contiene datos obligatorios imcompletos, revise el Excel");
                            }
                        }
                    }
                    //}
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Formato incorrecto en el registro con codigo: " + strCol1 + ", revise el Excel");
                gridArticulos.Rows.Clear();
                exlApp.Quit();
                return;
            }

            //cerramos el libro y la aplicacion

            exlApp.Quit();

            if (intTienePacientesRepetidos > 0)
            {
                MessageBox.Show("El Excel tiene articulos repetidos. Los mismos no fueron agregados a la grilla.");
            }

            MessageBox.Show("Presione Procesar para continuar");
        }
Exemplo n.º 17
0
        private void Modifico()
        {
            ManejaDiccionario objManejaDiccionario = new ManejaDiccionario();
            bool boCancelaVenta = false;

            //Tengo que setear una fecha porque todavia no esta cargada
            //objDevoluciones.ObjSubVentaCheque.DtFechaVencimiento = DateTime.Now;
            // int intStockActual;
            string message;
            string caption = "Mensaje";

            message = "¿Desea Grabar la Devolución?";


            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones();
                //Si estoy cancelando una orden, una vez actualizado el estado debo devolver el stock

                if ((cboEstado.Text == "CANCELADA") && (objManejaDevoluciones.BuscoEstado(objDevoluciones.IntCodigo) != "CANCELADA"))
                {
                    boCancelaVenta = true;
                }


                //Verifico si el cliente o el empleado estan dados de baja cuando cumplo la orden
                if (cboEstado.Text == "PENDIENTE")
                {
                    objDevoluciones.StrEstado = "CUMPLIDA";
                    cboEstado.Text            = "CUMPLIDA";
                }
                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    ManejaClientes objManejaClientes = new ManejaClientes();
                    if (objManejaClientes.ClienteDadoDeBaja(objDevoluciones.ObjCliente.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El cliente se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }

                    ManejaEmpleados objManejaEmpleados = new ManejaEmpleados();
                    if (objManejaEmpleados.EmpleadoDadoDeBaja(objDevoluciones.ObjEmpleado.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El vendedor se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }
                }


                ManejaArticulos objManejaArticulos = new ManejaArticulos();
                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    if (objManejaArticulos.ArticuloDadoDeBaja(c.ObjArticulo.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra borrarlo, debe eliminarlo para continuar");
                        return;
                    }
                }



                objManejaDevoluciones.ModificaDevolucion(objDevoluciones);

                this.Text = "Devolución: " + lblLegajo.Text;

                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    if (c.IntCodigo > 0)
                    {
                        //Como se si es algo que no se modifico????
                        //Quizas deberia comparar con la cantidad con la que tiene guardada en esa factura detalle
                        //  intStockActual = objManejaDevoluciones.BuscoStock(c.IntCodigo);
                        objManejaDevoluciones.ModificaVentaDetalle(c, objDevoluciones.IntCodigo);
                        //ActualizoStock(c.ObjArticulo.IntCodigo, c.IntCantidad, "CANCELADA");
                        //if (intStockActual != c.IntCantidad)
                        //{
                        //    if (c.IntCantidad > intStockActual) //Saco
                        //        ActualizoStock(c.ObjArticulo.IntCodigo, c.IntCantidad - intStockActual, "CUMPLIDA"); //Le pongo el estado CUMPLIDA para que saque stock
                        //    else //Agrego
                        //        ActualizoStock(c.ObjArticulo.IntCodigo, intStockActual - c.IntCantidad, "CANCELADA"); //Le pongo el estado CUMPLIDA para que agregue stock
                        //}
                    }
                    else
                    {
                        c.IntCodigo = objManejaDevoluciones.GrabarVentaDetalle(c, objDevoluciones.IntCodigo);
                        ActualizoStock(c, cboEstado.Text);
                    }
                }

                //Estos son los articulos dados de baja
                foreach (var d in objListArticulosPorDevolucionBorrados)
                {
                    //Borro los detalles de la base y luego devuelvo el stock

                    ActualizoStock(d.ObjArticulo.IntCodigo, d.IntCantidad, "CANCELADA"); //Le pongo el estado CUMPLIDA para que agregue
                    objManejaDevoluciones.EliminaDevolucionesDetalle(d.IntCodigo);
                }

                //Esto es para una orden dada de baja
                if (boCancelaVenta)
                {
                    foreach (var artbaja in objDevoluciones.ListArticulosPorDevolucion)
                    {
                        ActualizoStock(artbaja.ObjArticulo.IntCodigo, artbaja.IntCantidad, "CANCELADA");
                    }
                }



                MessageBox.Show("La Devolución ha sido guardada");

                //Verifico si el nuevo estado es PENDIENTE, en ese caso habilito todos los campos de lo contrario los griso

                if (objDevoluciones.StrEstado == "PENDIENTE")
                {
                    HabilitaDesabilitaCamposTodos(true);
                }
                else
                {
                    HabilitaDesabilitaCamposTodos(false);
                }


                //Fix
                //if (objDevoluciones.StrEstado == "CUMPLIDA")
                //{
                //    //Imprimo siempre y cuando este parametrizado que tiene impresora
                //    if (objManejaDiccionario.BuscarValor("IMPRESORA") == "SI")
                //        Imprimir();//btnImprimir_Click(null, null);
                //}

                CalculoPrecioNetoEnEfectivo();
            }
            else
            {
                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    objDevoluciones.StrEstado = "PENDIENTE";
                    cboEstado.Text            = "PENDIENTE";
                }
            }
        }
Exemplo n.º 18
0
        private void Grabo()
        {
            //Tengo que setear una fecha porque todavia no esta cargada
            //objDevoluciones.ObjSubVentaCheque.DtFechaVencimiento = DateTime.Now;
            ManejaDiccionario objManejaDiccionario = new ManejaDiccionario();

            string message;
            string caption = "Mensaje";

            message = "¿Desea Grabar la Devolución?";


            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                //Verifico si el cliente o el empleado estan dados de baja cuando cumplo la orden

                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    if (String.IsNullOrEmpty(cboCliente.Text))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("Debe completar el cliente para continuar");
                        return;
                    }

                    if (String.IsNullOrEmpty(cboVendedor.Text))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("Debe completar el vendedor para continuar");
                        return;
                    }


                    ManejaClientes objManejaClientes = new ManejaClientes();
                    if (objManejaClientes.ClienteDadoDeBaja(objDevoluciones.ObjCliente.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El cliente se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }

                    ManejaEmpleados objManejaEmpleados = new ManejaEmpleados();
                    if (objManejaEmpleados.EmpleadoDadoDeBaja(objDevoluciones.ObjEmpleado.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El vendedor se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }
                }

                ManejaArticulos objManejaArticulos = new ManejaArticulos();

                //Antes de Grabar la venta debo verificar si el el articulo esta dado de baja y si posee Stock
                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    //int sumaStockArt = 0;
                    if (objManejaArticulos.ArticuloDadoDeBaja(c.ObjArticulo.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }

                    //Obtengo el stock Actual
                    //int stockActual = objManejaArticulos.CantidadDeStock(c.ObjArticulo.IntCodigo);
                    ////Ahora sumo todos los articulos que hay en la compra
                    //foreach (var art in objDevoluciones.ListArticulosPorDevolucion)
                    //{
                    //    if (art.ObjArticulo.IntCodigo == c.ObjArticulo.IntCodigo)
                    //        //Sumo la cantidad de articulos
                    //        sumaStockArt = sumaStockArt + art.IntCantidad;
                    //}
                    //if (stockActual < sumaStockArt) //Si el stock actual es menor a lo que estoy vendiendo, aviso
                    //{
                    //    objDevoluciones.StrEstado = "PENDIENTE";
                    //    cboEstado.Text = "PENDIENTE";
                    //    MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra sin Stock suficiente, posee " + stockActual + " y esta vendiendo " + sumaStockArt + ", debe borrarlo o modificar el stock para continuar");
                    //    return;
                    //}
                }
                CalculoPrecioNetoEnEfectivo();

                ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones();

                objDevoluciones.IntCodigo = objManejaDevoluciones.GrabarDevolucion(objDevoluciones);

                lblLegajo.Text = Convert.ToString(objDevoluciones.IntCodigo);
                this.Text      = "Devolución: " + lblLegajo.Text;

                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    c.IntCodigo = objManejaDevoluciones.GrabarVentaDetalle(c, objDevoluciones.IntCodigo);
                    ActualizoStock(c, cboEstado.Text);
                }


                MessageBox.Show("La Devolución ha sido guardada");
                //btnImprimir.Enabled = true;

                //Fix
                //if (objDevoluciones.StrEstado == "CUMPLIDA")
                //{
                //    //Imprimo siempre y cuando este parametrizado que tiene impresora
                //    if (objManejaDiccionario.BuscarValor("IMPRESORA") == "SI")
                //        Imprimir();//btnImprimir_Click(null, null);
                //}

                //CalculoPrecioNetoEnEfectivo();
            }
            else
            {
                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    objDevoluciones.StrEstado = "PENDIENTE";
                    cboEstado.Text            = "PENDIENTE";
                }
            }

            if (objDevoluciones.StrEstado == "PENDIENTE")
            {
                HabilitaDesabilitaCamposTodos(true);
            }
            else
            {
                HabilitaDesabilitaCamposTodos(false);
            }
        }
Exemplo n.º 19
0
        private void btnImportar_Click(object sender, EventArgs e)
        {
            ManejaArticulos objManejaArticulos = new ManejaArticulos();
            object          strCol1            = null;
            object          strCol2            = null;

            //abrimos el dialogo para poder obtener el nombre la ubicacion del archivo
            ofdAbrirArchivo.Filter = "Excel files|*.xlsx;*.xls";
            ofdAbrirArchivo.ShowDialog();
            string sArchivo = ofdAbrirArchivo.FileName;

            if (String.IsNullOrEmpty(sArchivo))
            {
                return;
            }

            //declaramos las variables que necesitamos para poder abrir un archivo excel
            _Application exlApp;
            Workbook     exlWbook;
            Worksheet    exlWsheet;

            exlApp = new ApplicationClass();

            //Asignamos el libro que sera abierot
            exlWbook  = exlApp.Workbooks.Open(sArchivo, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            exlWsheet = (Worksheet)exlWbook.Worksheets.get_Item(1);
            Range exlRange;

            //Definimos el el rango de celdas que seran leidas
            exlRange = exlWsheet.UsedRange;

            //Seteo la grilla
            CargoTituloGrilla();
            gridArticulos.DataSource = null;
            gridArticulos.Rows.Clear();


            try
            {
                //Recorremos el archivo excel como si fuera una matriz
                for (int i = 1; i <= exlRange.Rows.Count; i++)
                {
                    strCol1 = "";
                    strCol2 = "";

                    for (int j = 1; j <= 2; j++)
                    {
                        if (j == 1)
                        {
                            strCol1 = (exlRange.Cells[i, j] as Range).Value2;
                        }
                        else
                        {
                            strCol2 = (exlRange.Cells[i, j] as Range).Value2;
                        }
                    }
                    if (strCol1 != null && strCol2 != null)
                    {
                        if (objManejaArticulos.ExisteArticulo(strCol1.ToString()))
                        {
                            if (objManejaArticulos.ExisteProveedor(Convert.ToString(strCol2)))
                            {
                                gridArticulos.Rows.Add(Convert.ToString(strCol1), Convert.ToString(strCol2));
                            }
                            else
                            {
                                MessageBox.Show("Id de Proveedor Inexistente: " + strCol1 + ", revise el Excel");
                                gridArticulos.Rows.Clear();
                                exlApp.Quit();
                                return;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Codigo de Art. Inexistente: " + strCol1 + ", revise el Excel");
                            gridArticulos.Rows.Clear();
                            exlApp.Quit();
                            return;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Formato incorrecto en el registro con codigo: " + strCol1 + ", revise el Excel");
                gridArticulos.Rows.Clear();
                exlApp.Quit();
                return;
            }

            //cerramos el libro y la aplicacion

            exlApp.Quit();
        }
Exemplo n.º 20
0
        private void CargoDatos()
        {
            string strSql;

            if (rbFechaVenta.Checked)
            {
                strSql  = "select f.fechaalta, f.facturaid,idextra,descripcion, rubro, marca,f.ubicacion, stock, precioefectivo, cantidad, d.descuento, d.total ";
                strSql += " from dbo.Articulos a LEFT OUTER JOIN dbo.Proveedores  P  ON a.proveedor = P.id  , dbo.Factura_Detalle D, dbo.Factura f ";
                strSql += " where a.id = D.articuloid  and d.facturaid = f.facturaid ";
                if (ckCumplida.Checked)
                {
                    strSql += " and ( f.estado='CUMPLIDA' ";
                }


                if (ckCancelada.Checked && ckCancelada.Checked)
                {
                    strSql += " or f.estado='CANCELADA' ";
                }

                if (ckCancelada.Checked && !ckCancelada.Checked)
                {
                    strSql += " and (f.estado='CANCELADA' ";
                }

                if (ckCumplida.Checked || ckCancelada.Checked)
                {
                    strSql += " ) ";
                }
                strSql += " and f.fechaalta between DATEADD(D, 0, DATEDIFF(D, 0," + "'" + dtpFechaVentaDesde.Text + "'))" + " and DATEADD(D, 0, DATEDIFF(D, 0," + "'" + dtpFechadeVentaHasta.Text + "')+1)";
            }
            else
            {
                strSql  = " select a.id,idextra,descripcion, rubro, marca, stock, a.ubicacion, precioefectivo, isnull (sum(cantidad),0) as cantidad, isnull (sum(d.total),0) as total   ";
                strSql += " from dbo.Articulos a LEFT OUTER JOIN dbo.Proveedores  P  ON a.proveedor = P.id  LEFT OUTER JOIN dbo.Factura_Detalle D  ON a.id = D.articuloid  LEFT OUTER JOIN dbo.Factura F On F.facturaid = D.facturaid  ";
                if (ckCumplida.Checked)
                {
                    strSql += " and ( f.estado='CUMPLIDA' ";
                }


                if (ckCancelada.Checked && ckCancelada.Checked)
                {
                    strSql += " or f.estado='CANCELADA' ";
                }

                if (ckCancelada.Checked && !ckCancelada.Checked)
                {
                    strSql += " and (f.estado='CANCELADA' ";
                }

                if (ckCumplida.Checked || ckCancelada.Checked)
                {
                    strSql += " ) ";
                }


                strSql += " where 1=1 ";
            }

            if (txtCodigo.Text != "")
            {
                if (txtCodigo.Text.Substring(0, 2).Trim() == "20" && txtCodigo.Text.Trim().Length == 13) //Los dos primeros digitos tienen que se 20 y el ancho del codigo de barra tiene que ser de 12 digitos
                {
                    //Reemplazo la busqueda,
                    //El codigo de barra se conforma de la siguiente manera
                    //20PPPPIIIIIIX

                    //20- Codigo Identificatorio. 2Digitos
                    //P- Codigo PLU . 4Digitos
                    //I-Importe. 6Digitos
                    //X-Digito Control. 1Digito

                    //Ejemplo:
                    //2000010003006
                    //Es un producto de almacen

                    if (cboCodigo.Text == "=")
                    {
                        strSql += " and  SUBSTRING(a.idextra,1,6) = '" + txtCodigo.Text.Substring(0, 6) + "'";
                    }
                    if (cboCodigo.Text == "like")
                    {
                        strSql += " and  SUBSTRING(a.idextra,1,6) like '" + txtCodigo.Text.Substring(0, 6) + "%' ";
                    }
                    if (cboCodigo.Text == "path")
                    {
                        strSql += " and  SUBSTRING(a.idextra,1,6) '%" + txtCodigo.Text.Substring(0, 6) + "%' ";
                    }
                }
                else
                {
                    if (cboCodigo.Text == "=")
                    {
                        strSql += " and  a.idextra = '" + txtCodigo.Text + "'";
                    }
                    if (cboCodigo.Text == "like")
                    {
                        strSql += " and  a.idextra like '" + txtCodigo.Text + "%' ";
                    }
                    if (cboCodigo.Text == "path")
                    {
                        strSql += " and  a.idextra like '%" + txtCodigo.Text + "%' ";
                    }
                }
            }


            if (txtDescripcion.Text != "")
            {
                if (cboDescripcion.Text == "=")
                {
                    strSql += " and  a.descripcion = '" + txtDescripcion.Text + "'";
                }
                if (cboDescripcion.Text == "like")
                {
                    strSql += " and  a.descripcion like '" + txtDescripcion.Text + "%' ";
                }
                if (cboDescripcion.Text == "path")
                {
                    strSql += " and  a.descripcion like '%" + txtDescripcion.Text + "%' ";
                }
            }

            if (cboRubro.Text != "")
            {
                strSql += " and  a.rubro = '" + cboRubro.Text + "'";
            }

            if (cboMarca.Text != "")
            {
                strSql += " and  a.marca = '" + cboMarca.Text + "'";
            }


            if (txtUbicacion.Text != "")
            {
                if (cboUbicacion.Text == "=")
                {
                    strSql += " and  a.ubicacion = '" + txtUbicacion.Text + "'";
                }
                if (cboUbicacion.Text == "like")
                {
                    strSql += " and  a.ubicacion like '" + txtUbicacion.Text + "%' ";
                }
                if (cboUbicacion.Text == "path")
                {
                    strSql += " and  a.ubicacion like '%" + txtUbicacion.Text + "%' ";
                }
            }

            if (cboProveedor.Text != "")
            {
                strSql += " and  a.proveedor =" + cboProveedor.SelectedValue;
            }

            if (txtStock.Text != "")
            {
                strSql += " and  a.stock " + cboStock.Text + txtStock.Text;
            }

            if (CkStockMinimo.Checked)
            {
                strSql += " and  a.stock<=a.stockminimo";
            }

            if (cboEstadoArt.Text != "")
            {
                if (cboEstadoArt.Text == "ALTA")
                {
                    strSql += " and  a.fechabaja is null ";
                }
                else
                {
                    strSql += " and  a.fechabaja is not null ";
                }
            }



            if (rbFechaVenta.Checked)
            {
                strSql += " order by f.fechaalta";
            }
            else
            {
                strSql += " group by a.id,idextra,descripcion, a.fechaalta, rubro, marca,a.ubicacion, stock, precioefectivo  ";
            }


            if (rbCodigo.Checked)
            {
                strSql += " order by idextra";
            }

            else if (rbMarca.Checked)
            {
                strSql += " order by marca";
            }

            else if (rbMasVendido.Checked)
            {
                strSql += " order by cantidad desc ";
            }

            else if (rbMayorGanancia.Checked)
            {
                strSql += "  order by total desc ";
            }

            else if (rbMenosVendido.Checked)
            {
                strSql += " order by cantidad asc ";
            }

            else if (rbOrdenAlfabetico.Checked)
            {
                strSql += " order by descripcion ";
            }

            else if (rbRubro.Checked)
            {
                strSql += " order by rubro ";
            }



            LlenaCombos     objLlenaCombos     = new LlenaCombos();
            DataTable       dt                 = objLlenaCombos.GetSqlDataAdapterbySql(strSql);
            ManejaArticulos objManejaArticulos = new ManejaArticulos();
            frmReportes     objfrmReporte;

            if (rbFechaVenta.Checked)
            {
                objfrmReporte = new frmReportes("ReporteArticulosVenta.rdlc", objManejaArticulos.ReporteDeArticulosVenta(dt), "ArticulosReporte");
            }

            else
            {
                objfrmReporte = new frmReportes("ReporteArticulosGeneral.rdlc", objManejaArticulos.ReporteDeArticulos(dt), "ArticulosReporte");
            }

            objfrmReporte.Show();
        }