public void Grabar(DadaDeBajaLinea solicitudlinea)
 {
     new DadaDeBajaLineaDA().SaveOrUpdate(solicitudlinea);
 }
Beispiel #2
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)) || (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
                BE.Movimiento mov = new BE.Movimiento();
                mov.Local = (Local)cmbLocal.SelectedItem;
                mov.Fecha = dtpFecha.Value.Date;
                new MovimientoBL().Grabar(mov);

                //Crear objeto DarDeBaja
                DadaDeBaja baja = new DadaDeBaja();
                baja.FechaBaja = DateTime.Today;
                baja.Local = (Local)cmbLocal.SelectedItem;
                baja.NroMovimiento = mov;
                new DadaDeBajaBL().Grabar(baja);

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

                //creacion de objetos ajustelinea
                List<DadaDeBajaLinea> lineasBaja = new List<DadaDeBajaLinea>();
                foreach (ArticuloXLocal art in articulos)
                {
                    new ArticuloXLocalBL().Actualizar(art);
                    DadaDeBajaLinea lineaBaja = new DadaDeBajaLinea();
                    lineaBaja.ArticuloXLocal = art;
                    lineaBaja.CantidadArticulos = art.Cantidad;
                    lineasBaja.Add(lineaBaja);
                }

                new DadaDeBajaLineaBL().AsignarSolicitudesLineas(lineasBaja, baja);

                foreach (Incidencia incidencia in incidencias)
                {
                    incidencia.Estado = "Revisada";
                    new IncidenciaBL().Grabar(incidencia);
                }

                Utils.Utils.OK(IND_MENSAJE);
                this.Dispose();
            }
            else
                Utils.Utils.Error(this, msjError);
        }
        public void SaveOrUpdate(DadaDeBajaLinea instance)
        {
            ISession hisession = null;
            try
            {
                hisession = NHibernateHelper.GetCurrentSession();
                hisession.BeginTransaction();
                if (instance.Id == 0)
                {
                    hisession.Save(instance);
                }
                else
                {
                    hisession.Update(instance);
                }
                hisession.Transaction.Commit();
                hisession.Close();
            }
            catch (Exception ex)
            {
                if (hisession != null)
                {
                    if (hisession.IsOpen)
                    {
                        hisession.Close();

                    }
                }

            }
        }