Example #1
0
 public void AsignarSolicitudesLineas(IList<AjusteLinea> solineas, Ajuste solTrans)
 {
     foreach (AjusteLinea linea in solineas)
     {
         linea.NroIncidencia = solTrans;
         Grabar(linea);
     }
 }
Example #2
0
        public void SaveOrUpdate(Ajuste instance)
        {
            ISession hisession = null;
            try
            {
                hisession = NHibernateHelper.GetCurrentSession();
                hisession.BeginTransaction();
                if (instance.Id == 0)
                {
                    hisession.Save(instance);
                }
                else
                {
                    hisession.Merge(instance);
                }
                hisession.Transaction.Commit();
                hisession.Close();
            }
            catch (Exception ex)
            {
                if (hisession != null)
                {
                    if (hisession.IsOpen)
                    {
                        hisession.Close();

                    }
                }

            }
        }
Example #3
0
 public void Grabar(Ajuste solicitud)
 {
     new AjusteDA().SaveOrUpdate(solicitud);
 }
Example #4
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            int nLineas = articulos.Count;
            bool ok = true;
            string msjError = "";

            //LIMPIRAR CELDAS
            for (int i = 0; i < nLineas; i++)
            {
                dgvIncidencias.Rows[i].DefaultCellStyle.BackColor = Color.White;
            }

            //CANTIDADES LLENAS
            for (int i = 0; i < nLineas; i++)
            {
                //verificar todo lleno
                string sCantAceptada = dgvIncidencias.Rows[i].Cells[4].FormattedValue.ToString();
                if (String.IsNullOrEmpty(sCantAceptada))
                {
                    dgvIncidencias.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                    ok = false;
                    msjError = "No especificó ninguna cantidad asociada.\n";
                }
                else
                {
                    int cantidadAceptada;
                    //verificar numero valido
                    if ((!int.TryParse(sCantAceptada, out cantidadAceptada)))
                        if (cantidadAceptada < 0)
                        {
                            ok = false;
                            dgvIncidencias.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                            msjError = "No especificó un número de cantidad válido.\n";
                        }
                        else
                            //verificar cantidaad menor a la permitida
                            if (cantidadAceptada <= Convert.ToInt32(dgvIncidencias.Rows[i].Cells[4].Value))
                            {
                                ok = false;
                                dgvIncidencias.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                                msjError = "Cantidad Mayor a la permitida.\n";
                            }
                            else
                            {
                                articulos[i].Cantidad = cantidadAceptada;
                            }
                }

                //NO ARTICULOS
                if (nLineas <= 0)
                {
                    ok = false;
                    msjError += "No especificó ningun artículo involucrado.\n";
                }
            }
            if (ok)
            {
                //crear objeto movimiento
                Movimiento mov = new Movimiento();
                mov.Local = (Local)cmbLocal.SelectedItem;
                mov.Fecha = dtpFecha.Value.Date;

                //Crear objeto ajuste
                Ajuste ajuste = new Ajuste();
                ajuste.FechaAjuste = DateTime.Today;
                ajuste.Local = (Local)cmbLocal.SelectedItem;
                ajuste.NroMovimiento = mov;

                //creacion de objetos ajustelinea
                List<AjusteLinea> lineas = new List<AjusteLinea>();
                foreach (ArticuloXLocal art in articulos)
                {
                    new ArticuloXLocalBL().Actualizar(art);
                    AjusteLinea linea = new AjusteLinea();
                    linea.ArticuloXLocal = art;
                    linea.Cantidad = art.Cantidad;
                    lineas.Add(linea);

                }
                //GRABAR MOVIMIENTO E INCIDENCIA
                new MovimientoBL().Grabar(mov);
                new AjusteBL().Grabar(ajuste);
                new AjusteLineaBL().AsignarSolicitudesLineas(lineas, ajuste);
                Utils.Utils.OK(IND_MENSAJE);
                this.Dispose();
            }
            else
                Utils.Utils.Error(this, msjError);
        }