예제 #1
0
        public void Terminado(object o, RunWorkerCompletedEventArgs e)
        {
            try
            {
                this.dgvDatos.DataSource = null;
                if (this.dgvDatos.Rows.Count > 0)
                {
                    this.dgvDatos.Rows.Clear();
                }
                if (this.dgvDatos.Columns.Count > 0)
                {
                    this.dgvDatos.Columns.Clear();
                }

                this.dgvDatos.DataSource = this.fuenteDatos;
                //this.lblEncontrados.Text = string.Format("Encontrados: {0}", fuenteDatos.Count);

                UtilLocal.ColumnasToHeaderText(this.dgvDatos);
                Util.OcultarColumnas(this.dgvDatos, new string[] { "ParteID", "EntityKey", "EntityState" });
                UtilLocal.FormatoDecimalColumnas(this.dgvDatos, new string[] { "Cantidad" });
                this.dgvDatos.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
                progreso.Value = 0;
                this.Cursor    = Cursors.Default;
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
                this.Cursor = Cursors.Default;
            }
        }
예제 #2
0
        private void CargarKardex(int parteId)
        {
            try
            {
                var seleccionSucursal = Util.Entero(this.cboUbicacionOrigen.SelectedValue);
                var sucursal          = string.Empty;
                if (seleccionSucursal == 0)
                {
                    var sucursales = Datos.GetListOf <Sucursal>(s => s.Estatus).ToList();
                    var ids        = new StringBuilder();
                    foreach (var sucursalId in sucursales)
                    {
                        ids.Append(string.Format("{0},", sucursalId.SucursalID));
                    }
                    if (ids.ToString().Length > 0)
                    {
                        sucursal = ids.ToString().Substring(0, ids.ToString().Length - 1);
                    }
                }
                else
                {
                    sucursal = Util.Cadena(this.cboUbicacionOrigen.SelectedValue);
                }

                var dic = new Dictionary <string, object>();
                dic.Add("ParteID", parteId);
                dic.Add("SucursalID", sucursal);
                dic.Add("FechaInicial", this.dtpFechaDesde.Value.Date);
                dic.Add("FechaFinal", this.dtpFechaHasta.Value.Date);

                Cursor.Current = Cursors.WaitCursor;

                var kardex = Datos.ExecuteProcedure <pauKardex_Result>("pauKardex", dic);
                if (kardex != null)
                {
                    //Detalle
                    //this.dgvDetalle.DataSource = null;
                    //this.dgvDetalle.DataSource = kardex;

                    this.dgvDetalle.DataSource = null;
                    this.fuenteDatosKardex     = new BindingSource();
                    var dt = UtilLocal.newTable <pauKardex_Result>("Kardex", kardex);
                    this.fuenteDatosKardex.DataSource = dt;
                    this.dgvDetalle.DataSource        = this.fuenteDatosKardex;

                    UtilLocal.ColumnasToHeaderText(this.dgvDetalle);
                    UtilLocal.FormatoDecimalColumnas(this.dgvDetalle, new string[] { "Unitario", "Cantidad", "ExistenciaNueva" });

                    //Operaciones
                    var x       = kardex.ToList();
                    var summary = from p in x
                                  group p by p.Operacion into g
                                  select new { Operacion = g.Key, Cantidad = g.Sum(z => z.Cantidad), Importe = g.Sum(z => z.Unitario) };

                    this.dgvOperaciones.DataSource = null;
                    this.dgvOperaciones.DataSource = summary.ToList();
                    UtilLocal.FormatoDecimalColumnas(this.dgvOperaciones, new string[] { "Cantidad", "Importe" });

                    //Existencia Nueva
                    var existencia  = 0M;
                    var existencias = new List <ParteExistencia>();
                    if (seleccionSucursal == 0)
                    {
                        existencias = Datos.GetListOf <ParteExistencia>(p => p.ParteID == parteId).ToList();
                        foreach (var exist in existencias)
                        {
                            existencia += Util.Decimal(exist.ExistenciaInicial);
                        }

                        this.txtExistenciaInicial.Text = existencia.ToString();
                    }
                    else
                    {
                        var sucursalId = Util.Entero(sucursal);
                        var exist      = Datos.GetEntity <ParteExistencia>(p => p.ParteID == parteId && p.SucursalID == sucursalId);
                        existencia = Util.Decimal(exist.ExistenciaInicial);
                        this.txtExistenciaInicial.Text = existencia.ToString();
                    }

                    if (existencia != null)
                    {
                        var cantidad = 0M;
                        foreach (DataGridViewRow row in this.dgvDetalle.Rows)
                        {
                            cantidad = Util.Decimal(row.Cells["Cantidad"].Value);
                            if (Util.Cadena(row.Cells["Tipo"].Value) == "S")
                            {
                                existencia = existencia - cantidad;
                            }
                            else
                            {
                                existencia = existencia + cantidad;
                            }
                            row.Cells["ExistenciaNueva"].Value = existencia;
                        }
                    }

                    this.fuenteDatosKardex.Filter = String.Format("Fecha >= '{0:yyyy-MM-dd}' AND Fecha < '{1:yyyy-MM-dd}'", dtpFechaDesde.Value, dtpFechaHasta.Value.AddDays(1));
                    Cursor.Current = Cursors.Default;
                }
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }