예제 #1
0
        public List <EIngreso> MostrarEntreFechas(DateTime fecInicial, DateTime fecFinal)
        {
            var cadena = ConfigurationManager.ConnectionStrings["Cnn"].ConnectionString;
            var lista  = new List <EIngreso>();

            using (var cn = new SqlConnection(cadena))
            {
                try
                {
                    if (cn.State == ConnectionState.Closed)
                    {
                        cn.Open();
                    }
                    using (var cmd = cn.CreateCommand())
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "MostrarIngresosEntreFechas";

                        cmd.Parameters.AddWithValue("@FecInicial", fecInicial);
                        cmd.Parameters.AddWithValue("@FecFinal", fecFinal);

                        var drd = cmd.ExecuteReader();

                        while (drd.Read())
                        {
                            var enti = new EIngreso()
                            {
                                IdIngreso       = drd.GetInt32(drd.GetOrdinal("IdIngreso")),
                                IdTrabajador    = drd.GetInt32(drd.GetOrdinal("IdTrabajador")),
                                Trabajador      = drd.GetString(drd.GetOrdinal("Trabajador")),
                                IdProveedor     = drd.GetInt32(drd.GetOrdinal("IdProveedor")),
                                Proveedor       = drd.GetString(drd.GetOrdinal("Proveedor")),
                                Fecha           = drd.GetDateTime(drd.GetOrdinal("Fecha")),
                                TipoComprobante = drd.GetString(drd.GetOrdinal("TipoComprobante")),
                                Serie           = drd.GetString(drd.GetOrdinal("Serie")),
                                Correlativo     = drd.GetString(drd.GetOrdinal("Correlativo")),
                                Igv             = drd.GetDecimal(drd.GetOrdinal("Igv")),
                                Estado          = drd.GetString(drd.GetOrdinal("Estado")),
                                Total           = drd.GetDecimal(drd.GetOrdinal("Total"))
                            };
                            lista.Add(enti);
                        }
                    }
                }
                catch (SqlException e)
                {
                    MessageBox.Show(e.Message, "SQL Error Mostrar Ingreso entre fechas", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    if (cn.State == ConnectionState.Open)
                    {
                        cn.Close();
                    }
                }
            }
            return(lista);
        }
예제 #2
0
 public int RegistrarIngreso(EIngreso entidad)
 {
     if (Validar(entidad))
     {
         return(ingreso.Registrar(entidad));
     }
     else
     {
         return(0);
     }
 }
예제 #3
0
        public int Registrar(EIngreso entidad)
        {
            var cadena   = ConfigurationManager.ConnectionStrings["Cnn"].ConnectionString;
            int idUltimo = 0;

            using (var cn = new SqlConnection(cadena))
            {
                try
                {
                    if (cn.State == ConnectionState.Closed)
                    {
                        cn.Open();
                    }
                    using (var cmd = cn.CreateCommand())
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "RegistrarIngreso";

                        cmd.Parameters.AddWithValue("@IdTrabajador", entidad.IdTrabajador);
                        cmd.Parameters.AddWithValue("@IdProveedor", entidad.IdProveedor);
                        cmd.Parameters.AddWithValue("@Fecha", entidad.Fecha);
                        cmd.Parameters.AddWithValue("@TipoComprobante", entidad.TipoComprobante);
                        cmd.Parameters.AddWithValue("@Serie", entidad.Serie);
                        cmd.Parameters.AddWithValue("@Correlativo", entidad.Correlativo);
                        cmd.Parameters.AddWithValue("@Igv", entidad.Igv);
                        cmd.Parameters.AddWithValue("@Estado", entidad.Estado);
                        cmd.Parameters.Add("@IdUltimo", SqlDbType.Int).Direction = ParameterDirection.Output;

                        cmd.ExecuteNonQuery();

                        idUltimo = int.Parse(cmd.Parameters["@IdUltimo"].Value.ToString());
                    }
                }
                catch (SqlException e)
                {
                    MessageBox.Show(e.Message, "SQL Error Registrar Ingreso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    if (cn.State == ConnectionState.Open)
                    {
                        cn.Close();
                    }
                }
            }
            return(idUltimo);
        }
예제 #4
0
        private bool Validar(EIngreso entidad)
        {
            builder.Clear();

            if (entidad.IdProveedor <= 0)
            {
                builder.Append("Seleccione un proveedor");
            }
            if (string.IsNullOrEmpty(entidad.Serie))
            {
                builder.Append("\nIngrese la serie");
            }
            if (string.IsNullOrEmpty(entidad.Correlativo))
            {
                builder.Append("\nIngrese el correlativo");
            }
            if (entidad.Igv < 0)
            {
                builder.Append("\nIngrese un IGV válido");
            }

            return(builder.Length == 0);
        }
예제 #5
0
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (entiIngreso == null)
                {
                    entiIngreso = new EIngreso();
                }

                entiIngreso.IdTrabajador    = UserCache.IdTrabajador;
                entiIngreso.IdProveedor     = Convert.ToInt32(lblIdProveedor.Text);
                entiIngreso.Fecha           = dtpFecha.Value;
                entiIngreso.TipoComprobante = cmbComprobante.Text;
                entiIngreso.Serie           = txtSerie.Text.Trim();
                entiIngreso.Correlativo     = txtCorrelativo.Text.Trim();
                entiIngreso.Igv             = Convert.ToDecimal(txtIgv.Text.Trim());
                entiIngreso.Estado          = "EMITIDO";

                //Capturamos el IdUltimo
                int idUltimo = ingreso.RegistrarIngreso(entiIngreso);
                if (idUltimo > 0)
                {
                    MessageBox.Show("¡Ingreso a almacén con éxito!", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //Regsitramos el Detalle ingreso
                    if (entiDetalle == null)
                    {
                        entiDetalle = new EDetalleIngreso();
                    }
                    int numFilas = dgvDetalleIngresos.Rows.Count;
                    int contador = 0;

                    for (int i = 0; i < numFilas; i++)
                    {
                        entiDetalle.IdIngreso      = idUltimo;
                        entiDetalle.IdArticulo     = Convert.ToInt32(dgvDetalleIngresos.Rows[i].Cells[0].Value.ToString());
                        entiDetalle.PrecioCompra   = Convert.ToDecimal(dgvDetalleIngresos.Rows[i].Cells[2].Value.ToString());
                        entiDetalle.PrecioVenta    = Convert.ToDecimal(dgvDetalleIngresos.Rows[i].Cells[3].Value.ToString());
                        entiDetalle.StockInicial   = Convert.ToInt32(dgvDetalleIngresos.Rows[i].Cells[4].Value.ToString());
                        entiDetalle.StockActual    = Convert.ToInt32(dgvDetalleIngresos.Rows[i].Cells[4].Value.ToString());
                        entiDetalle.FecProduccion  = Convert.ToDateTime(dgvDetalleIngresos.Rows[i].Cells[5].Value.ToString());
                        entiDetalle.FecVencimiento = Convert.ToDateTime(dgvDetalleIngresos.Rows[i].Cells[6].Value.ToString());

                        if (!detalle.RegistrarDetalleIngreso(entiDetalle))
                        {
                            contador++;
                        }
                    }

                    if (contador == 0)
                    {
                        MessageBox.Show("¡Detalle de ingreso registrado con éxito!", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                if (ingreso.builder.Length != 0)
                {
                    MessageBox.Show(ingreso.builder.ToString(), "INGRESO: Para continuar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    if (detalle.builder.Length != 0)
                    {
                        MessageBox.Show(detalle.builder.ToString(), "DETALLE INGRESO: Para continuar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error inesperado", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                MostrarIngreso();
                LimpiarIngreso();
                Deshabilitar();
                btnNuevo.Enabled = true;
                EliminarFilaDetalleIngreso();
            }
        }