protected void grdOrdenVenta_DeleteCommand(object sender, GridCommandEventArgs e) { PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); OrdenVentaWCFClient objOrdenVenta = new OrdenVentaWCFClient(); GridDataItem dataitem = (GridDataItem)e.Item; try { int Op = Convert.ToInt32(((GridDataItem)e.Item).GetDataKeyValue("Op")); string IdAgenda = dataitem["ID_Agenda"].Text; int IdPedido = int.Parse(dataitem["ID"].Text); decimal ValorVenta = decimal.Parse(dataitem["Total"].Text); string idSectorista = cbSectorista.SelectedValue; string Perfil = ((Usuario_LoginResult)Session["Usuario"]).nombrePerfil; string usuario = ((Usuario_LoginResult)Session["Usuario"]).nombres; //string idSectorista = cbSectorista.SelectedValue; string comentario = "Desaprobado por " + Perfil + " (" + usuario + ")."; objPedidoWCF.Pedido_DesAprobar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, IdPedido, Op, idSectorista, false); objOrdenVenta.OrdenVenta_Deasaprobar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, Op, comentario); OrdenVenta_Listar(null, dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, null, cbSectorista.SelectedValue, int.Parse(cboEstado.SelectedValue), int.Parse(cboTipoPago.SelectedValue)); lblMensaje.Text = "Se desaprobo el pedido " + ((GridDataItem)e.Item).GetDataKeyValue("Op") + " con éxito."; lblMensaje.CssClass = "mensajeExito"; } catch (Exception ex) { lblMensaje.Text = ex.Message; lblMensaje.CssClass = "mensajeError"; } }
protected void grdPedido_ItemCommand(object sender, GridCommandEventArgs e) { try { if (e.CommandName == "Eliminar") { PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); objPedidoWCF.Pedido_Eliminar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, int.Parse(e.CommandArgument.ToString()), ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, ((Usuario_LoginResult)Session["Usuario"]).password); Pedido_Listar(acbCliente.Text.Split('-')[0], dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, int.Parse(cboTipoDocumento.SelectedValue), acbVendedor.Text.Split('-')[0], int.Parse(cboFormaPago.SelectedValue), int.Parse(cboEstado.SelectedValue)); lblMensaje.Text = "Se eliminó el pedido " + e.CommandArgument.ToString() + " con éxito."; lblMensaje.CssClass = "mensajeExito"; } if (e.CommandName == "VerGuia") { ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "DocumentsViewer(" + e.CommandArgument.ToString() + ");", true); } } catch (Exception ex) { lblMensaje.Text = ex.Message; lblMensaje.CssClass = "mensajeError"; } }
protected void btnAprobar_Click(object sender, EventArgs e) { lblMensaje.Text = ""; if (Session["Usuario"] == null) { Response.Redirect("~/Security/frmCerrar.aspx"); } PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); try { foreach (GridItem rowitem in grdOrdenVenta.MasterTableView.Items) { GridDataItem dataitem = (GridDataItem)rowitem; TableCell cell = dataitem["CheckColumn"]; CheckBox checkBox = (CheckBox)cell.Controls[0].FindControl("Check"); if (checkBox.Checked == true && checkBox.Enabled == true) { int Op = Convert.ToInt32(dataitem.GetDataKeyValue("Op").ToString()); string IdAgenda = dataitem["ID_Agenda"].Text; int IdPedido = int.Parse(dataitem["ID"].Text); decimal ValorVenta = decimal.Parse(dataitem["Total"].Text); string Perfil = ((Usuario_LoginResult)Session["Usuario"]).nombrePerfil; string usuario = ((Usuario_LoginResult)Session["Usuario"]).nombres; int Id_moneda = int.Parse(dataitem["Id_moneda"].Text); //string idSectorista = cbSectorista.SelectedValue; string comentario = "Aprobado por " + Perfil + " (" + usuario + ")."; var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa; var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario; var opDocVenta = objPedidoWCF.VerificarExisteDocVenta(idEmpresa, idUsuario, IdAgenda).OpDocVenta; //rwmOrdenVenta.RadConfirm("¿Esta seguro que desea Aprobar el pedido " + Op + "?", null, 400, 200,null, "Aprobar Pedido"); if (opDocVenta != 0) { Registrar_Aprobacion(IdAgenda, IdPedido, Op, null, comentario, ValorVenta, Id_moneda); } else { rwmOrdenVenta.RadAlert("Existe otro pedido que ha sido aprobado y aun no se ha generado su documento de venta.", 400, 200, "Alerta Verificar Pedido", ""); } } } OrdenVenta_Listar(null, dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, null, null, int.Parse(cboEstado.SelectedValue), int.Parse(cboFormaPago.SelectedValue)); } catch (Exception ex) { lblMensaje.Text = ex.Message; lblMensaje.CssClass = "mensajeError"; } }
private void Pedido_Listar(string idAgenda, DateTime fechaInicial, DateTime fechaFinal, int?idDocumento, string idVendedor, int?idFormaPago, decimal?idEstadoAprobacion) { PedidoWCFClient objPedidoWCF; bool superUsuario = false; try { objPedidoWCF = new PedidoWCFClient(); grdPedido.DataSource = objPedidoWCF.Pedido_Listar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, idAgenda, fechaInicial, fechaFinal, idDocumento, idVendedor, idFormaPago, idEstadoAprobacion, ref superUsuario); grdPedido.DataBind(); if (!superUsuario) { lblVendedor.Visible = false; acbVendedor.Visible = false; } } catch (Exception ex) { throw ex; } }
// Plan Letras private void PedidosFechas_Buscar(int OpOV, int OpDoc) { try { List <gsPedidos_FechasLetrasSelectResult> lstFechas = new List <gsPedidos_FechasLetrasSelectResult>(); PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); if (OpOV > 0 || OpDoc > 0) { lstFechas = objPedidoWCF.PedidoLetras_Detalle(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, OpOV, OpDoc, "Tabla").ToList(); Session["lstFechas"] = lstFechas; } else { Session["lstFechas"] = lstFechas; } PedidosFechas_Letras(lstFechas); } catch (Exception ex) { throw ex; } }
protected void Registrar_Aprobacion(string idAgenda, int IdPedido, int Op, string idSectorista, string comentario, decimal ValorVenta, int id_moneda, string Aprobacion, int Guia) { PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); gsAgendaCliente_BuscarLimiteCreditoResult objLimite = new gsAgendaCliente_BuscarLimiteCreditoResult(); decimal porcentaje = 0; decimal ValorPedido = 0; decimal LineaMaximo = 0; decimal LineaCredito = 0; decimal Deuda = 0; decimal DeudaIncluida = 0; decimal TC = 0; var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa; var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario; try { if (((Usuario_LoginResult)Session["Usuario"]).aprobarPedido == true) { ValorPedido = ValorVenta; porcentaje = (decimal.Parse(((Usuario_LoginResult)Session["Usuario"]).aprobarPorcentaje.ToString()) / 100); objLimite = ListarClientesResumen(idAgenda); if (!string.IsNullOrEmpty(objLimite.ID_Agenda)) { TC = (decimal)objLimite.TC; LineaCredito = decimal.Parse(objLimite.LineaCredito.ToString()); if (id_moneda == 1) { LineaCredito = LineaCredito * TC; } LineaMaximo = LineaCredito + (LineaCredito * porcentaje); Deuda = decimal.Parse(objLimite.TotalRiesgo.ToString()); if (id_moneda == 1) { Deuda = Deuda * TC; } if (Guia == 1 || Guia == 2) { DeudaIncluida = Deuda; } else { if (Aprobacion == "True") { DeudaIncluida = Deuda; } else { DeudaIncluida = Deuda + ValorPedido; } } if (DeudaIncluida <= LineaMaximo) { objPedidoWCF.Pedido_Aprobar(idEmpresa, idUsuario, IdPedido, Op, idSectorista, true, comentario); objPedidoWCF.gsDocVentaAprobacion_Registrar(idEmpresa, IdPedido, Op, idAgenda, idUsuario); } else { rwmOrdenVenta.RadAlert("El porcentaje de sobregiro asignado no es suficiente. Solicitar la aprobación de su Superior. ", 400, null, "Mensaje de error", null); } } else { rwmOrdenVenta.RadAlert("El cliente no tiene linea de crédito, solicitar a C&C. ", 400, null, "Mensaje de error", null); } } else { rwmOrdenVenta.RadAlert("No tiene autorización para aprobar pedidos. ", 400, null, "Mensaje de error", null); } } catch (Exception ex) { lblMensaje.Text = ex.Message; lblMensaje.CssClass = "mensajeError"; } }
protected void btnAprobar_Click(object sender, EventArgs e) { lblMensaje.Text = ""; if (Session["Usuario"] == null) { Response.Redirect("~/Security/frmCerrar.aspx"); } PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); CreditoWCFClient objCreditoWCF = new CreditoWCFClient(); try { foreach (GridItem rowitem in grdOrdenVenta.MasterTableView.Items) { GridDataItem dataitem = (GridDataItem)rowitem; TableCell cell = dataitem["CheckColumn"]; CheckBox checkBox = (CheckBox)cell.Controls[0].FindControl("Check"); if (checkBox.Checked == true && checkBox.Enabled == true) { int Op = Convert.ToInt32(dataitem.GetDataKeyValue("Op").ToString()); string IdAgenda = dataitem["ID_Agenda"].Text; int IdPedido = int.Parse(dataitem["ID"].Text); int Id_moneda = int.Parse(dataitem["Id_moneda"].Text); //-------------------------------------- string Aprobacion = dataitem["Aprobacion"].Text; int Guia = int.Parse(dataitem["Guia"].Text); //-------------------------------------- decimal ValorVenta = decimal.Parse(dataitem["Total"].Text); string Perfil = ((Usuario_LoginResult)Session["Usuario"]).nombrePerfil; string usuario = ((Usuario_LoginResult)Session["Usuario"]).nombres; //string idSectorista = cbSectorista.SelectedValue; string comentario = "Aprobado por " + Perfil + " (" + usuario + ")."; string idSectorista = cbSectorista.SelectedValue; var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa; var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario; var opDocVenta = objPedidoWCF.VerificarExisteDocVenta(idEmpresa, idUsuario, IdAgenda).OpDocVenta; //rwmOrdenVenta.RadConfirm("¿Esta seguro que desea Aprobar el pedido " + Op + "?", null, 400, 200,null, "Aprobar Pedido"); if (opDocVenta != 0) { USP_SEL_Verificacion_DeudaVencidaResult[] lstDv = null; USP_SEL_Verificacion_LetrasxAceptarResult[] lstlet = null; objCreditoWCF.ObtenerVerificacionAprobacion2(idEmpresa, idUsuario, IdAgenda, ref lstDv, ref lstlet); if (lstDv.Any() || lstlet.Any()) { double totalDeudaVencida = Convert.ToDouble(lstDv.Sum(x => x.DeudaVencida)); double totalletras = Convert.ToDouble(lstlet.Sum(x => x.Deuda_mayor30Dias)); //string NombreCliente = dataitem["Agenda"].Text; Session["NombreClienteAprobacion"] = dataitem["Agenda"].Text; ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "ShowInsertForm('" + IdAgenda + "'," + IdPedido.ToString() + "," + Op.ToString() + ",'" + idSectorista + "','" + comentario + "'," + ValorVenta.ToString() + "," + Id_moneda.ToString() + ",'" + Aprobacion + "'," + Guia + "," + totalDeudaVencida + "," + totalletras + ");", true); //rwmOrdenVenta.RadAlert("El cliente tiene deuda vencida con mas de 10 días", 450, 150, "Mantenimiento de Productos", null, "../../Images/Icons/sign-error-32.png"); break; } else { Registrar_Aprobacion(IdAgenda, IdPedido, Op, idSectorista, comentario, ValorVenta, Id_moneda, Aprobacion, Guia); } } else { rwmOrdenVenta.RadAlert("Existe otro pedido que ha sido aprobado y aun no se ha generado su documento de venta.", 400, 200, "Alerta Verificar Pedido", ""); } } } OrdenVenta_Listar(null, dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, null, cbSectorista.SelectedValue, int.Parse(cboEstado.SelectedValue), int.Parse(cboTipoPago.SelectedValue)); } catch (Exception ex) { lblMensaje.Text = ex.Message; lblMensaje.CssClass = "mensajeError"; } }
//private void CargarData() //{ // txtTotalDeudaVen.Text = totalDeudaVencida.ToString("#,##0.00"); // txtTotalLetras.Text = totalletras.ToString("#,##0.00"); //} private void Registrar_Aprobacion()//string idAgenda, int IdPedido, int Op, string idSectorista, string comentario, decimal ValorVenta, int id_moneda, string Aprobacion, int Guia) { PedidoWCFClient objPedidoWCF = new PedidoWCFClient(); gsAgendaCliente_BuscarLimiteCreditoResult objLimite = new gsAgendaCliente_BuscarLimiteCreditoResult(); decimal porcentaje = 0; decimal ValorPedido = 0; decimal LineaMaximo = 0; decimal LineaCredito = 0; decimal Deuda = 0; decimal DeudaIncluida = 0; decimal TC = 0; var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa; var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario; IdAgenda = ((Request.QueryString["Id_Cliente"])); idSectorista = ((Request.QueryString["idSectorista"])); comentario = ((Request.QueryString["comentario"])); Aprobacion = ((Request.QueryString["Aprobacion"])); IdPedido = Int32.Parse((Request.QueryString["IdPedido"])); Op = Int32.Parse((Request.QueryString["Op"])); ValorVenta = decimal.Parse((Request.QueryString["ValorVenta"])); Id_moneda = Int32.Parse((Request.QueryString["Id_moneda"])); Guia = Int32.Parse((Request.QueryString["Guia"])); totalDeudaVencida = decimal.Parse((Request.QueryString["totalDeudaVencida"])); totalletras = decimal.Parse((Request.QueryString["totalletras"])); try { if (((Usuario_LoginResult)Session["Usuario"]).aprobarPedido == true) { ValorPedido = ValorVenta; porcentaje = (decimal.Parse(((Usuario_LoginResult)Session["Usuario"]).aprobarPorcentaje.ToString()) / 100); objLimite = ListarClientesResumen(IdAgenda); if (!string.IsNullOrEmpty(objLimite.ID_Agenda)) { TC = (decimal)objLimite.TC; LineaCredito = decimal.Parse(objLimite.LineaCredito.ToString()); if (Id_moneda == 1) { LineaCredito = LineaCredito * TC; } LineaMaximo = LineaCredito + (LineaCredito * porcentaje); Deuda = decimal.Parse(objLimite.TotalRiesgo.ToString()); if (Id_moneda == 1) { Deuda = Deuda * TC; } if (Guia == 1 || Guia == 2) { DeudaIncluida = Deuda; } else { if (Aprobacion == "True") { DeudaIncluida = Deuda; } else { DeudaIncluida = Deuda + ValorPedido; } } if (DeudaIncluida <= LineaMaximo) { objPedidoWCF.Pedido_Aprobar(idEmpresa, idUsuario, IdPedido, Op, idSectorista, true, comentario); objPedidoWCF.gsDocVentaAprobacion_Registrar(idEmpresa, IdPedido, Op, IdAgenda, idUsuario); rwmOrdenVenta.RadAlert("Se aprobó el pedido correctamente. ", 200, 150, "Aprobación de Pedidos", null); objCreditoWCF = new CreditoWCFClient(); objCreditoWCF.Enviar_Notificacion_Aprobacion2(idEmpresa, idUsuario, IdAgenda, txtCliente.Text, Op.ToString(), Convert.ToDecimal(txtTotalLetrasS.Text.Trim() == string.Empty ? "0" : txtTotalLetrasS.Text.Trim()), Convert.ToDecimal(txtTotalDeudaVenS.Text.Trim() == string.Empty ? "0" : txtTotalDeudaVenS.Text.Trim()), Convert.ToDecimal(txtTotalLetrasN.Text.Trim() == string.Empty ? "0" : txtTotalLetrasN.Text.Trim()), Convert.ToDecimal(txtTotalDeudaVenN.Text.Trim() == string.Empty ? "0" : txtTotalDeudaVenN.Text.Trim()), Convert.ToDecimal(txtTotalLetrasI.Text.Trim() == string.Empty ? "0" : txtTotalLetrasI.Text.Trim()), Convert.ToDecimal(txtTotalDeudaVenI.Text.Trim() == string.Empty ? "0" : txtTotalDeudaVenI.Text.Trim()), ((Usuario_LoginResult)Session["Usuario"]).nombres, txtcomentarios.Text); objCreditoWCF.RegistrarLog_AprobacionDeudaVencida(idEmpresa, idUsuario, IdAgenda, txtCliente.Text, Op.ToString(), Convert.ToDecimal(txtTotalLetrasS.Text == string.Empty ? "0" : txtTotalLetrasS.Text), Convert.ToDecimal(txtTotalDeudaVenS.Text == string.Empty ? "0" : txtTotalDeudaVenS.Text), Convert.ToDecimal(txtTotalLetrasN.Text == string.Empty ? "0" : txtTotalLetrasN.Text), Convert.ToDecimal(txtTotalDeudaVenN.Text == string.Empty ? "0" : txtTotalDeudaVenN.Text), Convert.ToDecimal(txtTotalLetrasI.Text == string.Empty ? "0" : txtTotalLetrasI.Text), Convert.ToDecimal(txtTotalDeudaVenI.Text == string.Empty ? "0" : txtTotalDeudaVenI.Text), txtcomentarios.Text); ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CloseAndRebind(" + Op.ToString() + ");", true); } else { rwmOrdenVenta.RadAlert("El porcentaje de sobregiro asignado no es suficiente. Solicitar la aprobación de su Superior. ", 400, null, "Mensaje de error", null); } } else { rwmOrdenVenta.RadAlert("El cliente no tiene linea de crédito, solicitar a C&C. ", 400, null, "Mensaje de error", null); } } else { rwmOrdenVenta.RadAlert("No tiene autorización para aprobar pedidos. ", 400, null, "Mensaje de error", null); } } catch (Exception ex) { lblMensaje.Text = ex.Message; lblMensaje.CssClass = "mensajeError"; } }