示例#1
0
 public void Save(GuiaRemision guiaRemision)
 {
     ISession hisession = null;
     try
     {
         hisession = NHibernateHelper.GetCurrentSession();
         hisession.BeginTransaction();
         if (guiaRemision.Id == 0)
         {
             hisession.Save(guiaRemision);
         }
         else
         {
             hisession.Merge(guiaRemision);
         }
         hisession.Transaction.Commit();
         hisession.Close();
     }
     catch (Exception ex)
     {
         if (hisession != null)
         {
             if (hisession.IsOpen)
             {
                 hisession.Close();
             }
         }
         if (log.IsErrorEnabled)
         {
             log.Error("No se pudo registrar o modificar : " + ex.Message);
         }
     }
 }
示例#2
0
 public void Grabar(GuiaRemision guiaRemision)
 {
     try
     {
         if (guiaRemision.Id == 0)
             new GuiaRemisionDA().Save(guiaRemision);
         else
             new GuiaRemisionDA().Update(guiaRemision);
     }
     catch (Exception ex)
     {
         //log.Error("No se pudo registrar: " + ex.Message);
         //log.Error(ex.StackTrace);
     }
 }
示例#3
0
 public void Update(GuiaRemision guiaRemision)
 {
     ISession hisession = null;
     try
     {
         hisession = NHibernateHelper.GetCurrentSession();
         hisession.BeginTransaction();
         hisession.Merge(guiaRemision);
         hisession.Transaction.Commit();
         hisession.Close();
     }
     catch (Exception ex)
     {
         if (hisession != null)
         {
             if (hisession.IsOpen)
             {
                 hisession.Close();
             }
         }
     }
 }
示例#4
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow fila in dgvDocumentos.Rows)
            {
            /*creo movimiento*/
                BE.Movimiento movSalida = new BE.Movimiento();
                movSalida.Local = this.local;
                movSalida.Fecha = System.DateTime.Now;
                movSalida.TipoMovimiento = "Salida";
                new MovimientoBL().Grabar(movSalida);

            /* creo nota de salida */
                NotaIngresoSalida notaSalida = new NotaIngresoSalida();
                notaSalida.NroMovimiento = movSalida;
                notaSalida.Local = this.local;
                notaSalida.Fecha = System.DateTime.Now;
                new NotaIngresoSalidaBL().Grabar(notaSalida);

            /* creo guia de remisión */
                GuiaRemision guiaRemision = new GuiaRemision();
                guiaRemision.Fecha = System.DateTime.Now;
                guiaRemision.NroMovimiento = movSalida;
                guiaRemision.TipoGuia = "Salida";
                guiaRemision.Estado = "Emitida";
                new GuiaRemisionBL().Grabar(guiaRemision);

                if (fila.Cells["TipoMovimiento"].Value.ToString().Equals("Transferencia"))
                {
                    List<NotaIngresoSalidaLinea> notaSalidaLineas = new List<NotaIngresoSalidaLinea>();
                    List<GuiaRemisionLinea> guiaRemisionLineas = new List<GuiaRemisionLinea>();
                    int nroDocumento = int.Parse(fila.Cells["NroDocumento"].Value.ToString());
                    Transferencia t = new TransferenciaBL().cargarTransferencia(nroDocumento);
                    foreach (TransferenciaLinea tl in t.TransferenciaTransferenciaLineafk)
                    {
                        NotaIngresoSalidaLinea auxL = new NotaIngresoSalidaLinea();
                        auxL.ArticuloXLocal = tl.ArticuloXLocal;
                        auxL.Cantidad = tl.CantidadArticulosAprob;
                        auxL.CodNota = notaSalida;
                        notaSalidaLineas.Add(auxL);
                        GuiaRemisionLinea auxGuiaRemLinea = new GuiaRemisionLinea();
                        auxGuiaRemLinea.Articulo = tl.ArticuloXLocal.Articulo;
                        auxGuiaRemLinea.Cantidad = tl.CantidadArticulosAprob;
                        auxGuiaRemLinea.NroGuia = guiaRemision;
                        guiaRemisionLineas.Add(auxGuiaRemLinea);
                        ArticuloXLocal axl = auxL.ArticuloXLocal;
                        axl.Cantidad = axl.Cantidad - auxL.Cantidad;
                        new ArticuloXLocalBL().Actualizar(axl);
                    }
                    new NotaIngresoSalidaLineaBL().Grabar(notaSalidaLineas);
                    new GuiaRemisionBL().Grabar(guiaRemisionLineas);
                    Utils.Utils.Mensaje("Usted ha registrado satisfactoriamente la salida de productos. "
                                        + "\nNota de Salida asociada: " + notaSalida.Id.ToString()
                                        + "\nGuia de Remisión asociada: " + guiaRemision.Id,
                                        MessageBoxButtons.OK, Utils.Utils.REGISTRO_OK);
                    this.Dispose();
                }
                else
                {//Devolucion al proveedor
                    List<NotaIngresoSalidaLinea> notaSalidaLineas = new List<NotaIngresoSalidaLinea>();
                    int nroDocumento = int.Parse(fila.Cells["nroDocumento"].ToString());
                    Incidencia devolucion = new IncidenciaBL().cargarIncidencia(nroDocumento);
                    List<GuiaRemisionLinea> guiaRemisionLineas = new List<GuiaRemisionLinea>();
                    List<object[]> listaDatosDevolucion = new IncidenciaBL().GetListaDatosDevolucion(devolucion, local);
                    /* es una lista de duplas: cantidadArticulo - articuloXLocal */

                    foreach (object[] dupla in listaDatosDevolucion)
                    {
                        NotaIngresoSalidaLinea auxL = new NotaIngresoSalidaLinea();
                        auxL.ArticuloXLocal = (ArticuloXLocal)dupla[1];
                        auxL.Cantidad = (int)dupla[0];
                        auxL.CodNota = notaSalida;
                        notaSalidaLineas.Add(auxL);
                        GuiaRemisionLinea auxGuiaRemLinea = new GuiaRemisionLinea();
                        auxGuiaRemLinea.Articulo = ((ArticuloXLocal)dupla[1]).Articulo;
                        auxGuiaRemLinea.Cantidad = (int)dupla[0];
                        auxGuiaRemLinea.NroGuia = guiaRemision;
                        guiaRemisionLineas.Add(auxGuiaRemLinea);
                        ArticuloXLocal axl = auxL.ArticuloXLocal;
                        axl.Cantidad = axl.Cantidad - auxL.Cantidad;
                        new ArticuloXLocalBL().Actualizar(axl);
                    }
                    new NotaIngresoSalidaLineaBL().Grabar(notaSalidaLineas);
                    new GuiaRemisionBL().Grabar(guiaRemisionLineas);
                    Utils.Utils.Mensaje("Usted ha registrado satisfactoriamente la salida de productos. "
                                        + "\nNota de Salida asociada: " + notaSalida.Id.ToString()
                                        + "\nGuia de Remisión asociada: " + guiaRemision.Id,
                                        MessageBoxButtons.OK, Utils.Utils.REGISTRO_OK);
                    this.Dispose();
                }
            }
        }