Пример #1
0
        public DataTable reporterecibo(DatosRemito objremito)
        {
            DataTable     DtResultado = new DataTable("remito");
            SqlConnection cn          = new SqlConnection(Conexion.conexion);

            try
            {
                cn.Open();

                SqlCommand sqlcmd = ProcAlmacenado.CrearProc(cn, "REPORTE_REMITO");
                //Modo 4 Mostrar
                SqlParameter parNremito = ProcAlmacenado.asignarParametros("@nremito", SqlDbType.Int, objremito.Nremito);
                sqlcmd.Parameters.Add(parNremito);

                SqlDataAdapter sqldat = new SqlDataAdapter(sqlcmd);
                sqldat.Fill(DtResultado);
            }
            catch (Exception ex)
            {
                DtResultado = null;
                throw ex;
            }
            return(DtResultado);
        }
        public string Insertarymodificar(DatosRetirodeMercaderia Ordenpedido, List <DatodetalleRetirodeMercaderia> Detalle, string agregaromodificar = "agregarorden", bool solomodificarestado = true)
        {
            string        rpta   = "";
            SqlConnection sqlcon = new SqlConnection();

            //DatosOrdenpedido objventa = new global::DatosOrdenpedido ();

            try
            {
                sqlcon.ConnectionString = Conexion.conexion;
                sqlcon.Open();

                SqlTransaction sqltra = sqlcon.BeginTransaction();


                SqlCommand sqlcmd = ProcAlmacenado.CrearProc(sqlcon, "SP_RETIRODEMERCADERIA", sqltra);

                SqlParameter parcodsucursal = ProcAlmacenado.asignarParametros("@codsucursal", SqlDbType.Int, 1);
                sqlcmd.Parameters.Add(parcodsucursal);


                if (agregaromodificar == "agregarorden")
                {
                    SqlParameter parorden = ProcAlmacenado.asignarParametros("@nroorden", SqlDbType.Int);
                    sqlcmd.Parameters.Add(parorden);

                    SqlParameter parfecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.DateTime, Ordenpedido.fecha);
                    sqlcmd.Parameters.Add(parfecha);
                }
                if (agregaromodificar == "modificarestado")
                {
                    SqlParameter parfecha = ProcAlmacenado.asignarParametros("@nroorden", SqlDbType.Int, Ordenpedido.norden);
                    sqlcmd.Parameters.Add(parfecha);
                }



                SqlParameter parcodcliente = ProcAlmacenado.asignarParametros("@codcliente", SqlDbType.Int, Ordenpedido.codcliente);
                sqlcmd.Parameters.Add(parcodcliente);

                SqlParameter parcodbeneficiario = ProcAlmacenado.asignarParametros("@codbeneficiario", SqlDbType.Int, Ordenpedido.codbeneficiado);
                sqlcmd.Parameters.Add(parcodbeneficiario);


                SqlParameter paridusuario = ProcAlmacenado.asignarParametros("@idusuario", SqlDbType.Decimal, Ordenpedido.idusuario);
                sqlcmd.Parameters.Add(paridusuario);

                SqlParameter partipoorden = ProcAlmacenado.asignarParametros("@tipoorden", SqlDbType.NVarChar, Ordenpedido.tipoorden);
                sqlcmd.Parameters.Add(partipoorden);

                SqlParameter parestado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.NVarChar, Ordenpedido.estado);
                sqlcmd.Parameters.Add(parestado);

                SqlParameter parobs = ProcAlmacenado.asignarParametros("@observacion", SqlDbType.NVarChar, Ordenpedido.observacion);
                sqlcmd.Parameters.Add(parobs);

                SqlParameter parcodventa = ProcAlmacenado.asignarParametros("@codventa", SqlDbType.Int, Ordenpedido.codventa);
                sqlcmd.Parameters.Add(parcodventa);

                SqlParameter partiporetiro = ProcAlmacenado.asignarParametros("@TipoRetiro", SqlDbType.Int, Ordenpedido.tiporetiro);
                sqlcmd.Parameters.Add(partiporetiro);

                SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.NVarChar, agregaromodificar);
                sqlcmd.Parameters.Add(parModo);



                rpta = sqlcmd.ExecuteNonQuery() >= 1 ? "OK" : "No se ingreso el registro";
                string mododetalleorden = "";
                if (agregaromodificar == "modificarestado")
                {
                    //elimina el detalle para volverlo a cargar
                    mododetalleorden = "eliminar";
                }


                if ((rpta.Equals("OK")) && (solomodificarestado == false || agregaromodificar == "agregarorden"))
                {
                    Ordenpedido.norden = Convert.ToInt32(sqlcmd.Parameters["@nroorden"].Value);

                    List <DatosDetalleRemito> Detalleremito = new List <DatosDetalleRemito>();
                    foreach (DatodetalleRetirodeMercaderia det in Detalle)
                    {
                        det.Norden = Ordenpedido.norden;
                        rpta       = det.insertaromodificar(det, ref sqlcon, ref sqltra, mododetalleorden == "eliminar" ? "modificar" : "agregar");
                        if (mododetalleorden == "eliminar")
                        {
                            mododetalleorden = "agregar";
                        }
                        if (!rpta.Equals("OK"))
                        {
                            break;
                        }
                        if (det.Cantidadactual > 0)
                        {
                            DatosDetalleRemito remitodet = new Capa_Datos.DatosDetalleRemito();
                            remitodet.Idproducto = det.Idproducto;
                            remitodet.Detalle    = det.Detalle;
                            remitodet.Cantidad   = det.Cantidadactual;

                            Detalleremito.Add(remitodet);
                        }
                    }
                    if (agregaromodificar == "modificarestado")
                    {
                        DatosRemito objremito = new DatosRemito(1, DateTime.Now, Ordenpedido.codcliente, Ordenpedido.norden, "", true, Ordenpedido.tipoorden, "0001", Ordenpedido.codempresa);
                        rpta      = objremito.insertarremito(objremito, Detalleremito, ref sqlcon, ref sqltra, true);
                        nroremito = objremito.Nremito;
                    }
                }
                //ver
                if (rpta.Equals("ok") || rpta.Equals("OK"))
                {
                    if (sqlcon.State == ConnectionState.Open)
                    {
                        sqltra.Commit();
                    }
                }
                else
                {
                    if (sqlcon.State == ConnectionState.Open)
                    {
                        sqltra.Rollback();
                    }
                }
            }
            catch (Exception e)
            {
                rpta = e.Message;
            }
            finally
            {
                if (sqlcon.State == ConnectionState.Open)
                {
                    sqlcon.Close();
                }
            }
            return(rpta);
        }
Пример #3
0
        public string insertarremito(DatosRemito remito, List <DatosDetalleRemito> Detalle, ref SqlConnection sqlcon, ref SqlTransaction sqltra, bool distock = true)
        {
            string rpta = "";
            //disminuir stock
            DatosMovStock objstock = new Capa_Datos.DatosMovStock();


            try
            {
                if (sqlcon.State != ConnectionState.Open)
                {
                    sqlcon.ConnectionString = Conexion.conexion;
                    sqlcon.Open();
                }



                SqlCommand sqlcmd = ProcAlmacenado.CrearProc(sqlcon, "SP_REMITO", sqltra);

                SqlParameter parnremito = ProcAlmacenado.asignarParametros("@nremito", SqlDbType.NVarChar);
                sqlcmd.Parameters.Add(parnremito);
                parnremito.Size = 100;

                SqlParameter parsucursal = ProcAlmacenado.asignarParametros("@codsucursal", SqlDbType.Int, 1);
                sqlcmd.Parameters.Add(parsucursal);

                SqlParameter parfecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.NVarChar, remito.fecha);
                sqlcmd.Parameters.Add(parfecha);

                SqlParameter parcodcliente = ProcAlmacenado.asignarParametros("@codcliente", SqlDbType.Int, remito.codcliente);
                sqlcmd.Parameters.Add(parcodcliente);

                SqlParameter parnroregistro = ProcAlmacenado.asignarParametros("@nroregistro", SqlDbType.Int, remito.nroregistro);
                sqlcmd.Parameters.Add(parnroregistro);

                SqlParameter partransportista = ProcAlmacenado.asignarParametros("@transportista", SqlDbType.NVarChar, remito.transportista);
                sqlcmd.Parameters.Add(partransportista);

                SqlParameter parentregado = ProcAlmacenado.asignarParametros("@entregado", SqlDbType.Bit, remito.entregado);
                sqlcmd.Parameters.Add(parentregado);

                SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.NVarChar, "agregarremito");
                sqlcmd.Parameters.Add(parModo);

                SqlParameter parestado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.NVarChar, remito.estado);
                sqlcmd.Parameters.Add(parestado);

                SqlParameter parserie = ProcAlmacenado.asignarParametros("@serie", SqlDbType.NVarChar, remito.serie);
                sqlcmd.Parameters.Add(parserie);

                SqlParameter parcodmpresa = ProcAlmacenado.asignarParametros("@codempresa", SqlDbType.Int, remito.codempresa);
                sqlcmd.Parameters.Add(parcodmpresa);

                rpta = sqlcmd.ExecuteNonQuery() >= 1 ? "OK" : "No se ingreso el registro";



                if (rpta.Equals("OK"))
                {
                    Nremito = sqlcmd.Parameters["@nremito"].Value.ToString();



                    foreach (DatosDetalleRemito det in Detalle)
                    {
                        rpta = det.insertardetalleremito(det, ref sqlcon, ref sqltra, Nremito);
                        if (!rpta.Equals("OK"))
                        {
                            break;
                        }
                        else
                        {
                            //actualizamos el stock
                            if (distock == true && det.Idproducto != 0)
                            {
                                rpta = objstock.Modificarstock(det.Idproducto, det.Cantidad, ref sqlcon, ref sqltra, "EGRESO");
                            }
                            if (!rpta.Equals("ok"))
                            {
                                break;
                            }
                        }
                    }
                }

                if (rpta.Equals("ok"))
                {
                    sqltra.Commit();
                }
                else
                {
                    sqltra.Rollback();
                }
            }
            catch (Exception e)
            {
                sqltra.Rollback();
                rpta = e.Message;
            }
            finally
            {
                if (sqlcon.State == ConnectionState.Open)
                {
                    sqlcon.Close();
                }
            }
            return(rpta);
        }