public List <eOrdenProducto> Orden_Producto_HistorialPedidos(string codigo_orden) { SqlCommand cmd = new SqlCommand("usp_tb_orden_Producto_HistorialPedidos"); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CodigoOrden", SqlDbType.VarChar, 100).Value = codigo_orden; SqlDataReader reader = ExecuteReader(cmd); List <eOrdenProducto> lista = new List <eOrdenProducto>(); while (reader.Read()) { eOrdenProducto oOrdenProducto = new eOrdenProducto(); eProducto oProducto = new eProducto(); oProducto.ImagenChica = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : ""); oProducto.ModeloProducto = ((!reader[1].Equals(DBNull.Value)) ? reader.GetString(1) : ""); oProducto.PrecioProducto = ((!reader[2].Equals(DBNull.Value)) ? reader.GetDecimal(2) : Convert.ToDecimal(0)); oOrdenProducto.CantidadOrdenProducto = ((!reader[3].Equals(DBNull.Value)) ? reader.GetInt32(3) : Convert.ToInt32(0)); oProducto.CodigoProducto = ((!reader[4].Equals(DBNull.Value)) ? reader.GetString(4) : ""); oProducto.SOSProducto = ((!reader[5].Equals(DBNull.Value)) ? reader.GetString(5) : ""); oProducto.IDProducto = ((!reader[6].Equals(DBNull.Value)) ? reader.GetInt32(6) : 0); oOrdenProducto.eProducto = oProducto; oOrdenProducto.TipoCambioOrden = ((!reader[7].Equals(DBNull.Value)) ? Convert.ToString(reader.GetDecimal(7)) : "1.00"); lista.Add(oOrdenProducto); } reader.Close(); return(lista); }
public eOrden GetListProducto(string CodigoOrden) { SqlCommand cmd = new SqlCommand("usp_tbordenSelectProducto"); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CodigoOrden", SqlDbType.VarChar).Value = CodigoOrden; SqlDataReader reader = ExecuteReader(cmd); List <eOrdenProducto> listaOrdenProducto = new List <eOrdenProducto>(); List <eProducto> listaProducto = new List <eProducto>(); eOrden sOrden = new eOrden(); while (reader.Read()) { eOrdenProducto oOrdenProducto = new eOrdenProducto(); eProducto oProducto = new eProducto(); oProducto.ModeloProducto = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : ""); oProducto.PrecioProducto = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDecimal(1) : Convert.ToDecimal(0)); oOrdenProducto.CantidadOrdenProducto = ((!reader[2].Equals(DBNull.Value)) ? reader.GetInt32(2) : Convert.ToInt32(0)); sOrden.FechaOrden = ((!reader[3].Equals(DBNull.Value)) ? reader.GetDateTime(3) : DateTime.Today); oProducto.IDProducto = ((!reader[4].Equals(DBNull.Value)) ? reader.GetInt32(4) : 0); listaOrdenProducto.Add(oOrdenProducto); listaProducto.Add(oProducto); } eOrden oOrden = new eOrden(); oOrden.lOrdenProducto = listaOrdenProducto; oOrden.lProducto = listaProducto; oOrden.FechaOrden = sOrden.FechaOrden; reader.Close(); return(oOrden); }
public int OrdenProducto_Add(eOrdenProducto oOrdenProducto) { int addNew = 0; IdException = cOrdenProducto.Insert(oOrdenProducto); if (IdException == 0) { addNew = cOrdenProducto.getLastID; } return(addNew); }
public int Insert(eOrdenProducto oOrdenProducto) { SqlCommand cmd = new SqlCommand("usp_tb_orden_productoInsert"); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@codigo_orden", SqlDbType.VarChar, 100).Value = oOrdenProducto.CodigoOrden; cmd.Parameters.Add("@id_producto", SqlDbType.Int).Value = oOrdenProducto.IdProducto; cmd.Parameters.Add("@cantidad_orden_producto", SqlDbType.Int).Value = oOrdenProducto.CantidadOrdenProducto; cmd.Parameters.Add("@tipo_orden_producto", SqlDbType.Int).Value = oOrdenProducto.TipoOrdenProducto; cmd.Parameters.Add("@precio_orden_producto", SqlDbType.Decimal).Value = oOrdenProducto.eProducto.PrecioProducto; return(InsertCommand(cmd, true)); }
public eOrden OrdenUltima(Int64 id_usuario) { SqlCommand cmd = new SqlCommand("usp_tb_orden_SelectUltima"); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = id_usuario; SqlDataReader reader = ExecuteReader(cmd); eOrden sOrden = new eOrden(); while (reader.Read()) { eOrdenProducto oOrdenProducto = new eOrdenProducto(); sOrden.CodigoOrden = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : ""); sOrden.FechaOrden = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DateTime.Today); } reader.Close(); return(sOrden); }
private void BindControl() { decimal monto_total = 0; rblMoneda.Items.Add(new ListItem("Soles", "1")); rblMoneda.Items.Add(new ListItem("Dólares", "2")); rblMoneda.Items[1].Selected = true; #region validarProductos //validar producto lCarritoSave = cCMS.Carrito_itemEmail(oUsuarioWeb.id_usuario); foreach (var item in lCarritoSave) { eProducto oProducto = new eProducto(); oProducto.IDProducto = item.IdProducto; oProducto.ImagenChica = item.ImagenCarrito; oProducto.ModeloProducto = item.NombreProductoCarrito; eProducto oProductoss = new eProducto(); oProductoss = cCMS.Producto_item(item.IdProducto); string stockMinimo = cCMS.ParametroAlias(5); int stockMin = Convert.ToInt32(stockMinimo); int IgvInt = Convert.ToInt32(cCMS.ParametroAlias(4).Replace("%", "")); string IgvString = "1." + IgvInt.ToString(); decimal igv = Convert.ToDecimal(IgvString); oProducto.PrecioProducto = (oProductoss.StockProducto <= stockMin) ? 0 : decimal.Round((oProductoss.PrecioProducto * igv != item.PrecioProducto) ? oProductoss.PrecioProducto * igv : item.PrecioProducto, 2); oProducto.CantidadProducto = (oProductoss.StockProducto <= stockMin) ? 0 : item.CantidadProducto; //oProducto.CantidadProducto = item.CantidadProducto; //oProducto.PrecioProducto = item.PrecioProducto; oProducto.DescripcionProducto = item.DescripcionProducto; eProducto oProductoActivo = new eProducto(); oProductoActivo = cCMS.Producto_item(oProducto.IDProducto); oProducto.Activo = oProductoActivo.Activo; oProducto.IdProductoCategoria = oProductoActivo.IdProductoCategoria; lProducto.Add(oProducto); } for (int i = 0; i < lProducto.Count; i++) { /***********************************************/ //validar si los padres no están inactivos eArticulo oArticulos = cCMS.Articulo_item(lProducto[i].IdProductoCategoria); eArticulo oArticuloPadre = cCMS.Articulo_item(oArticulos.IdArticuloPadre); if (lProducto[i].CantidadProducto != 0 && lProducto[i].Activo && oArticulos.Activo & oArticuloPadre.Activo) { decimal subtotal = lProducto[i].PrecioProducto * lProducto[i].CantidadProducto; string precioDecimal = Convert.ToDouble(lProducto[i].PrecioProducto).ToString("N", CultureInfo.InvariantCulture); string subtotalDecimal = Convert.ToDouble(subtotal).ToString("N", CultureInfo.InvariantCulture); monto_total += subtotal; litProductos.Text += " <li>"+ " <div class=\"producto_entrega\">" + " <figure><img src=\"" + url_root + Directorio.Pagina_Imagen + lProducto[i].ImagenChica + "\"></figure>" + " <blockquote>" + " <h2>"+ lProducto[i].ModeloProducto + "</h2>" + " <p>"+ lProducto[i].DescripcionProducto + "</p>" + " </blockquote>" + " </div>" + " <div class=\"precios\">" + " <span>US$." + precioDecimal.ToString() + "</span>" + " </div>" + " <div class=\"cantidades\">" + " <span>" + lProducto[i].CantidadProducto + "</span>" + " </div>" + " <div class=\"subtotales\">" + " <span>US$." + subtotalDecimal + "</span>" + " </div>" + "</li> "; } } //valida si se actualizó el stock y no hay nada if (monto_total == 0) { Response.Redirect(url_root + "producto_compras"); } oOrden.FechaOrden = DateTime.Now; oOrden.EmailUsuarioOrden = oUsuarioWeb.email_usuario; oOrden.IdUsuario = oUsuarioWeb.id_usuario; eOrden oOrdenUltima = cCMS.OrdenUltima(oUsuarioWeb.id_usuario); if (oOrdenUltima.CodigoOrden != null) { oOrden.CodigoOrden = oOrdenUltima.CodigoOrden; cCMS.Orden_Limpiar(oOrden.CodigoOrden, oOrden.FechaOrden); } else { oOrden.CodigoOrden = cCMS.Orden_add(oOrden); RegistrarLogsCms(oUsuarioWeb.id_usuario, "Se agregó un registro a la tabla tb_orden con código de orden : " + codigoOrden); } if (oOrden.CodigoOrden.Equals("")) { Session["codigoOrden"] = null; Response.Redirect(url_root + "producto_compras?error=no_genero_codigo"); return; } string costoEnvio = cCMS.ParametroAlias(1); // (cCMS.ParametroAlias(1) != null) ? cCMS.ParametroAlias(1) : ""; decimal tipCambio = cCMS.ObtenerTipoCambioUltimo(); //(cCMS.ObtenerTipoCambioUltimo() != null) ? cCMS.ObtenerTipoCambioUltimo() : 0; bool es_trabajador = cCMS.ValidarTrabajador(oUsuarioWeb.descripcion_documento_identidad_usuario); decimal monto_descuento = OrdenDescuento.AplicarDescuentos(oOrden.CodigoOrden, es_trabajador, monto_total); decimal total_descuento = monto_total - monto_descuento; decimal totalSoles = total_descuento == 0 ? monto_total * tipCambio : (total_descuento * tipCambio); decimal totalDolares = total_descuento == 0 ? monto_total : total_descuento; totalSoles = decimal.Round(totalSoles, 2); totalDolares = decimal.Round(totalDolares, 2); codigoOrden = oOrden.CodigoOrden; if (monto_descuento > 0) { litDescuento.Text = Convert.ToDouble(monto_descuento).ToString("N", CultureInfo.InvariantCulture).ToString(); //decimal.Round(dscto_total, 2).ToString(); litDescuentoDescripcion.Text = " (" + OrdenDescuento.DescuentosAplicadosDescripcion() + ")"; trDescuento.Visible = true; } if (es_trabajador) { rblElementos.Items.Add(new ListItem("Boleta", "1")); rblElementos.Items[0].Selected = true; } else { rblElementos.Items.Add(new ListItem("Boleta", "1")); rblElementos.Items.Add(new ListItem("Factura", "2")); rblElementos.Items[0].Selected = true; if (oUsuarioWeb.estado_trabajador == 1) { Response.Redirect(url_root + "registro?action=Edit"); } } decimal gastoenvio = 0; if (cCMS.Orden_UpdateMontoCostoTotal(codigoOrden, monto_total, gastoenvio, totalDolares, monto_descuento, tipCambio)) { RegistrarLogsCms(oUsuarioWeb.id_usuario, "Se agregó a la orden : " + codigoOrden + " los campos subtotal, gasto envio y total"); } litTotal.Text = Convert.ToDouble(totalSoles).ToString("N", CultureInfo.InvariantCulture).ToString(); litTotalDolares.Text = Convert.ToDouble(totalDolares).ToString("N", CultureInfo.InvariantCulture).ToString(); litTipoCambio.Text = tipCambio.ToString(); #endregion //registrar en tb_orden_producto foreach (var item in lProducto) { /***********************************************/ //validar si los padres no están inactivos eProducto oProductoActive = new eProducto(); oProductoActive = cCMS.Producto_item(item.IDProducto); eArticulo oArticulos = cCMS.Articulo_item(oProductoActive.IdProductoCategoria); eArticulo oArticuloPadre = cCMS.Articulo_item(oArticulos.IdArticuloPadre); if (oProductoActive.Activo && oArticulos.Activo && oArticuloPadre.Activo) { eOrdenProducto oOrdenProducto = new eOrdenProducto(); eProducto oProd = new eProducto(); oOrdenProducto.CodigoOrden = oOrden.CodigoOrden; oOrdenProducto.IdProducto = item.IDProducto; oOrdenProducto.CantidadOrdenProducto = item.CantidadProducto; oOrdenProducto.TipoOrdenProducto = 1; // boleta oProd.PrecioProducto = item.PrecioProducto; oOrdenProducto.eProducto = oProd; int agregarOrdenProducto = cCMS.OrdenProducto_Add(oOrdenProducto); RegistrarLogsCms(oUsuarioWeb.id_usuario, "Se agregó un registro a la tabla tb_orden_productos con código de orden : " + oOrden.CodigoOrden + " y id de producto: " + item.IDProducto); } } //validar direccion de despacho string despacho = (Request["despacho"] != null) ? Request["despacho"] : ""; string recojo = (Request["recojo"] != null) ? Request["recojo"] : ""; if (despacho == "" && recojo == "") { if (DirDespacho.Text == "" && DirRecojo.Text == "") { Response.Redirect("" + url_root + "direccion"); } else { despacho = DirDespacho.Text; recojo = DirRecojo.Text; } } if (despacho == "") { tipoDireccion = 1; //en caso sea una direccion de recojo string codigo_recojo = recojo; //hplPagar.Attributes.Add("rel",url_root + "confirmacion_visanet?recojo=" + codigo_recojo); oDireccionEntrega = cCMS.Entrega_Listar(codigo_recojo); //valida que el codigo exista if (oDireccionEntrega == null) { Response.Redirect("" + url_root + "despacho"); } litNombreEntrega.Text = oDireccionEntrega.NombreEntrega; litDireccionEntrega.Text = oDireccionEntrega.DireccionEntrega; //falta distrito provincia departamento y pais; litTelefonoEntrega.Text = oDireccionEntrega.Telefono01 + " / " + oDireccionEntrega.Telefono02 + " / " + oDireccionEntrega.Telefono03 + " / " + oDireccionEntrega.Telefono04; //agregar a tb_orden_direccion eOrdenDireccion oOrdenDireccionValidar = new eOrdenDireccion(); oOrdenDireccionValidar = cCMS.Orden_Direccion_itemCodigoOrden(codigoOrden); if (oOrdenDireccionValidar == null) { eOrdenDireccion oOrdenDireccion = new eOrdenDireccion(); oOrdenDireccion.CodigoDireccion = oDireccionEntrega.CodigoEntrega; oOrdenDireccion.TipoDireccion = "tb_direccion_entrega"; oOrdenDireccion.NombreDireccion = oDireccionEntrega.NombreEntrega; oOrdenDireccion.IdPaisDireccion = oDireccionEntrega.IdPaisEntrega; oOrdenDireccion.IdDepartamentoDireccion = oDireccionEntrega.IdDepartamentoEntrega; oOrdenDireccion.IdProvinciaDireccion = oDireccionEntrega.IdProvinciaEntrega; oOrdenDireccion.IdDistritoDireccion = oDireccionEntrega.IdDistritoEntrega; oOrdenDireccion.DireccionDireccion = oDireccionEntrega.DireccionEntrega; oOrdenDireccion.Telefono01Direccion = oDireccionEntrega.Telefono01; oOrdenDireccion.Telefono02Direccion = oDireccionEntrega.Telefono02; oOrdenDireccion.Telefono03Direccion = oDireccionEntrega.Telefono03; oOrdenDireccion.Telefono04Direccion = oDireccionEntrega.Telefono04; oOrdenDireccion.EmailUsuarioDireccion = oUsuarioWeb.email_usuario; oOrdenDireccion.ReferenciaDireccion = oDireccionEntrega.ReferenciaEntrega; oOrdenDireccion.CodigoOrden = codigoOrden; int agregarOrdenDireccion = cCMS.Orden_Direccion_add(oOrdenDireccion); RegistrarLogsCms(oUsuarioWeb.id_usuario, "Seleccionó como direccion de entrega: " + oOrdenDireccion.NombreDireccion + " con código " + oOrdenDireccion.CodigoDireccion + " para la orden " + codigoOrden); } else { } //RegistrarLogsCms(oUsuarioWeb.email_usuario, "Seleccionó como direccion de entrega: " + despacho); } if (recojo == "") { tipoDireccion = 2; string codigo_despacho = despacho; // hplPagar.Attributes.Add("rel",url_root + "confirmacion_visanet?despacho="+codigo_despacho); oDireccionDespacho = cCMS.DireccionDespacho_Listar(oUsuarioWeb.id_usuario, codigo_despacho); //valida que no sea otro código que no corresponda if (oDireccionDespacho == null) { Response.Redirect("" + url_root + "despacho"); } //agregar a tb_orden_direccion eOrdenDireccion oOrdenDireccionValidar = new eOrdenDireccion(); oOrdenDireccionValidar = cCMS.Orden_Direccion_itemCodigoOrden(codigoOrden); if (oOrdenDireccionValidar == null) { eOrdenDireccion oOrdenDireccion = new eOrdenDireccion(); oOrdenDireccion.CodigoDireccion = oDireccionDespacho.CodigoDespacho; oOrdenDireccion.TipoDireccion = "tb_direccion_despacho"; oOrdenDireccion.TipoDocumentoDireccion = oDireccionDespacho.TipoDocumentoDespacho; oOrdenDireccion.DescripcionDocumentoDireccion = oDireccionDespacho.DescripcionDocumentoDespacho; oOrdenDireccion.NombreDireccion = oDireccionDespacho.NombreDespacho; oOrdenDireccion.ApellidoDireccion = oDireccionDespacho.ApellidoDespacho; oOrdenDireccion.TipoTelefonoDireccion = oDireccionDespacho.TipoTelefonoDespacho; oOrdenDireccion.Telefono01Direccion = oDireccionDespacho.DescripcionTelefonoDespacho; oOrdenDireccion.IdPaisDireccion = oDireccionDespacho.IdPaisDespacho; oOrdenDireccion.IdDepartamentoDireccion = oDireccionDespacho.IdDepartamentoDespacho; oOrdenDireccion.IdProvinciaDireccion = oDireccionDespacho.IdProvinciaDespacho; oOrdenDireccion.IdDistritoDireccion = oDireccionDespacho.IdDistritoDespacho; oOrdenDireccion.DireccionDireccion = oDireccionDespacho.DireccionDespacho; oOrdenDireccion.ReferenciaDireccion = oDireccionDespacho.ReferenciaDespacho; oOrdenDireccion.CiudadDireccion = oDireccionDespacho.CiudadDespacho; oOrdenDireccion.CodigoPostalDireccion = oDireccionDespacho.CodigoPostalDespacho; oOrdenDireccion.EmailUsuarioDireccion = oDireccionDespacho.Emailusuario; oOrdenDireccion.CodigoOrden = codigoOrden; int agregarOrdenDireccion = cCMS.Orden_Direccion_add(oOrdenDireccion); RegistrarLogsCms(oUsuarioWeb.id_usuario, "Seleccionó como direccion de despacho: " + oOrdenDireccion.NombreDireccion + " con código " + oOrdenDireccion.CodigoDireccion + " para la orden " + codigoOrden); } else { } litNombreEntrega.Text = oDireccionDespacho.NombreDespacho + " " + oDireccionDespacho.ApellidoDespacho; litDireccionEntrega.Text = oDireccionDespacho.DireccionDespacho; //falta distrito provincia departamento y pais; litTelefonoEntrega.Text = oDireccionDespacho.DescripcionTelefonoDespacho; //RegistrarLogsCms(oUsuarioWeb.email_usuario, "Seleccionó como direccion de recojo: " + recojo); } //hplPagar.Attributes.Add("rel", url_root + "confirmacion_visanet?codigoOrden=" + codigoOrden); hplPagar.Attributes.Add("rel", url_root + "Content/VisanetPaymentForm.aspx"); hplPagar.Attributes.Add("relfalse", url_root + "producto_compras"); DateTime fechaEntrega = new DateTime(); fechaEntrega = DateTime.Now.AddDays(5); //DateTime.Now.AddDays(2); litFechaEntrega.Text = fechaEntrega.ToShortDateString(); //agregar la direccion //tipoDireccion 1 entrega 2 despacho eOrdenEntrega oOrdenEntrega = new eOrdenEntrega(); eOrdenDespacho oOrdenDespacho = new eOrdenDespacho(); switch (tipoDireccion) { case 1: //agregar a tb_orden_entrega oOrdenEntrega.CodigoOrdenEntrega = recojo; oOrdenEntrega.CodigoOrden = oOrden.CodigoOrden; oOrdenEntrega.EstadoOrdenEntrega = "No procesada"; oOrdenEntrega.FechaEstimadaRecojo = fechaEntrega; oOrdenEntrega.TipoComprobanteOrdenEntrega = "No seleccionado"; int agregaOrdenEntrega = cCMS.OrdenEntrega_Add(oOrdenEntrega); break; case 2: //agregar a tb_orden_despacho oOrdenDespacho.CodigoOrden = oOrden.CodigoOrden; oOrdenDespacho.CodigoOrdenDespacho = despacho; oOrdenDespacho.EstadoOrdenDespacho = "No procesada"; oOrdenDespacho.FechaEstimadaRecojo = fechaEntrega; oOrdenDespacho.TipoComprobanteOrdenDespacho = "No seleccionado"; int agregaOrdenDespacho = cCMS.OrdenDespacho_Add(oOrdenDespacho); break; } //Parametros para generar el eTicket ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "orden_cliente", "var codigoOrden='" + codigoOrden + "'; totalSoles='" + totalSoles + "'; var totalDolares='" + totalDolares + "';", true); }