예제 #1
0
        public static CENPreventaRegistro registrarPreventa(CENPreventa preventa)
        {
            CADPreventa         cadPreventa = new CADPreventa();
            CENPreventaRegistro obj         = null;

            try
            {
                obj = cadPreventa.registrarpreventa(preventa);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(obj);
        }
        public CENPreventaRegistro registrarpreventa(CENPreventa Preventa)
        {
            SqlConnection con    = null;
            SqlCommand    cmd    = null;
            SqlDataReader dr     = null;
            DateTime      fecha2 = DateTime.Now;
            TimeSpan      hora   = new TimeSpan();

            CENPreventaRegistro obj = null;
            //List<CENPreventaProductoAlmacen> lista = new List<CENPreventaProductoAlmacen>();
            CADConexion CadCx               = new CADConexion();
            string      xmlListDetalle      = ObjectToXMLGeneric <List <CEN_Detalle_Preventa> >(Preventa.listDetPreventa);     //XML de lista de detalles
            string      xmlListPreventaProm = ObjectToXMLGeneric <List <CEN_Preventa_Promocion> >(Preventa.listPrevPromocion); //XML de lista de preventa promocion
            string      xmlListPreventaDesc = ObjectToXMLGeneric <List <CEN_Preventa_Descuento> >(Preventa.listPrevDescuento); //XML de lista de preventa descuento

            try
            {
                con             = new SqlConnection(CadCx.CxSQL());
                cmd             = new SqlCommand("pa_registrar_modificar_preventa", con);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@p_proceso", SqlDbType.TinyInt).Value            = Preventa.proceso;
                cmd.Parameters.Add("@p_ntraPreventa", SqlDbType.Int).Value           = Preventa.ntraPreventa;
                cmd.Parameters.Add("@p_codCliente", SqlDbType.Int).Value             = Preventa.codCliente;
                cmd.Parameters.Add("@p_codUsuario", SqlDbType.Int).Value             = Preventa.codUsuario;
                cmd.Parameters.Add("@p_codPuntoEntrega", SqlDbType.Int).Value        = Preventa.codPuntoEntrega;
                cmd.Parameters.Add("@p_tipoMoneda", SqlDbType.TinyInt).Value         = Preventa.tipoMoneda;
                cmd.Parameters.Add("@p_tipoVenta", SqlDbType.TinyInt).Value          = Preventa.tipoVenta;
                cmd.Parameters.Add("@p_tipoDocumentoVenta", SqlDbType.TinyInt).Value = Preventa.tipoDocumentoVenta;

                if (Preventa.fecha == null)
                {
                    cmd.Parameters.Add("@p_fecha", SqlDbType.VarChar, 15).Value = "";
                }
                else
                {
                    fecha2 = ConvertFechaStringToDate(Preventa.fecha);
                    cmd.Parameters.Add("@p_fecha", SqlDbType.Date).Value = fecha2;
                }


                if (Preventa.fechaEntrega == null)
                {
                    cmd.Parameters.Add("@p_fechaEntrega", SqlDbType.VarChar, 15).Value = "";
                }
                else
                {
                    fecha2 = ConvertFechaStringToDate(Preventa.fechaEntrega);
                    cmd.Parameters.Add("@p_fechaEntrega", SqlDbType.Date).Value = fecha2;
                }

                if (Preventa.fechaPago == null)
                {
                    cmd.Parameters.Add("@p_fechaPago", SqlDbType.VarChar, 15).Value = "";
                }
                else
                {
                    cmd.Parameters.Add("@p_fechaPago", SqlDbType.Date).Value = Preventa.fechaPago;
                }

                cmd.Parameters.Add("@p_flagRecargo", SqlDbType.TinyInt).Value        = Preventa.flagRecargo;
                cmd.Parameters.Add("@p_recargo", SqlDbType.Money).Value              = Preventa.recargo;
                cmd.Parameters.Add("@p_igv", SqlDbType.Money).Value                  = Preventa.igv;
                cmd.Parameters.Add("@p_isc", SqlDbType.Money).Value                  = Preventa.isc;
                cmd.Parameters.Add("@p_total", SqlDbType.Money).Value                = Preventa.total;
                cmd.Parameters.Add("@p_estado", SqlDbType.TinyInt).Value             = Preventa.estado;
                cmd.Parameters.Add("@p_origenVenta", SqlDbType.TinyInt).Value        = Preventa.origenVenta;
                cmd.Parameters.Add("@p_listaDetalles", SqlDbType.Xml).Value          = xmlListDetalle;
                cmd.Parameters.Add("@p_listaPreventaPromocion", SqlDbType.Xml).Value = xmlListPreventaProm;
                cmd.Parameters.Add("@p_listaPreventaDescuento", SqlDbType.Xml).Value = xmlListPreventaDesc;

                if (Preventa.usuario == null)
                {
                    cmd.Parameters.Add("@p_usuario", SqlDbType.VarChar, 20).Value = "";
                }
                else
                {
                    cmd.Parameters.Add("@p_usuario", SqlDbType.VarChar, 20).Value = Preventa.usuario.Trim();
                }

                if (Preventa.ip == null)
                {
                    cmd.Parameters.Add("@p_ip", SqlDbType.VarChar, 20).Value = "";
                }
                else
                {
                    cmd.Parameters.Add("@p_ip", SqlDbType.VarChar, 20).Value = Preventa.ip.Trim();
                }

                if (Preventa.mac == null)
                {
                    cmd.Parameters.Add("@p_mac", SqlDbType.VarChar, 20).Value = "";
                }
                else
                {
                    cmd.Parameters.Add("@p_mac", SqlDbType.VarChar, 20).Value = Preventa.mac.Trim();
                }

                if (Preventa.horaEntrega == null)
                {
                    cmd.Parameters.Add("@p_horaEntrega", SqlDbType.VarChar, 10).Value = "";
                }
                else
                {
                    hora = TimeSpan.Parse(Preventa.horaEntrega);
                    cmd.Parameters.Add("@p_horaEntrega", SqlDbType.Time).Value = hora;
                }

                cmd.Parameters.Add("@p_codSucursal", SqlDbType.Int).Value = Preventa.codSucursal;

                con.Open();
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    obj = new CENPreventaRegistro();
                    obj.ntraPreventa = int.Parse(dr["ntraPreventa"].ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                con.Close();
            }
            return(obj);
        }