static List <gsAgendaCliente_BuscarLimiteCreditoResult> ListarClientesResumen(int idEmpresa, int idUsuario, List <gsReporte_DocumentosPendientesResult> lst) { EstadoCuentaWCFClient objEstadoCuentaWCF = new EstadoCuentaWCFClient(); List <gsAgendaCliente_BuscarLimiteCreditoResult> lstLimiteCreditoAgenda; try { lstLimiteCreditoAgenda = new List <gsAgendaCliente_BuscarLimiteCreditoResult>(); var queryAllAgenda = from DocumentosPendientes in lst select DocumentosPendientes.ID_Agenda; var queryAgenda = from AgendaPendiente in queryAllAgenda.Distinct() orderby AgendaPendiente ascending select AgendaPendiente; foreach (var agenda in queryAgenda) { List <gsAgendaCliente_BuscarLimiteCreditoResult> LimiteCreditoAgenda = objEstadoCuentaWCF.EstadoCuenta_LimiteCreditoxCliente(idEmpresa, idUsuario, agenda.ToString()).ToList(); gsAgendaCliente_BuscarLimiteCreditoResult Limite = LimiteCreditoAgenda[0]; lstLimiteCreditoAgenda.Add(Limite); } //ViewState["lstResumenCliente"] = JsonHelper.JsonSerializer(lstLimiteCreditoAgenda); ////grdResumenCliente.DataSource = lstLimiteCreditoAgenda; ////grdResumenCliente.DataBind(); //lblDate.Text = "1"; return(lstLimiteCreditoAgenda); } catch (Exception ex) { throw ex; } }
private void ListarClientesResumen(List <GS_ReporteEstadoCuentaMngResult> lst) { EstadoCuentaWCFClient objEstadoCuentaWCF = new EstadoCuentaWCFClient(); List <gsAgendaCliente_BuscarLimiteCreditoResult> lstLimiteCreditoAgenda; try { lstLimiteCreditoAgenda = new List <gsAgendaCliente_BuscarLimiteCreditoResult>(); var queryAllAgenda = from DocumentosPendientes in lst select DocumentosPendientes.ID_Agenda; var queryAgenda = from AgendaPendiente in queryAllAgenda.Distinct() orderby AgendaPendiente ascending select AgendaPendiente; foreach (var agenda in queryAgenda) { List <gsAgendaCliente_BuscarLimiteCreditoResult> LimiteCreditoAgenda = objEstadoCuentaWCF.EstadoCuenta_LimiteCreditoxCliente(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, agenda.ToString(), 0).ToList(); gsAgendaCliente_BuscarLimiteCreditoResult Limite = LimiteCreditoAgenda[0]; lstLimiteCreditoAgenda.Add(Limite); } ViewState["lstResumenCliente"] = JsonHelper.JsonSerializer(lstLimiteCreditoAgenda); //grdResumenCliente.DataSource = lstLimiteCreditoAgenda; //grdResumenCliente.DataBind(); lblDate.Text = "1"; } catch (Exception ex) { throw ex; } }
private gsAgendaCliente_BuscarLimiteCreditoResult ListarClientesResumen(string IdAgenda) { EstadoCuentaWCFClient objEstadoCuentaWCF = new EstadoCuentaWCFClient(); gsAgendaCliente_BuscarLimiteCreditoResult Limite = new gsAgendaCliente_BuscarLimiteCreditoResult(); try { List <gsAgendaCliente_BuscarLimiteCreditoResult> LimiteCreditoAgenda = objEstadoCuentaWCF.EstadoCuenta_LimiteCreditoxCliente(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, IdAgenda, 0).ToList(); Limite = LimiteCreditoAgenda[0]; } catch (Exception ex) { throw ex; } return(Limite); }
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"; } }
static void ListarClientesResumenVencidos(List <gsAgendaCliente_BuscarLimiteCreditoResult> listaResumen, List <gsReporte_DocumentosPendientesResult> ListaDetalle) { List <gsAgendaCliente_BuscarLimiteCreditoResult> lstClienteResumen; List <gsAgendaCliente_BuscarLimiteCreditoResult> lstClienteResumenFinal = new List <gsAgendaCliente_BuscarLimiteCreditoResult>(); gsAgendaCliente_BuscarLimiteCreditoResult ClienteResumenFinal; List <gsReporte_DocumentosPendientesResult> lstClienteDetalle; lstClienteResumen = ClienteResumen(listaResumen); lstClienteDetalle = ClienteDetalle(ListaDetalle); //DataTable dtTablaresumen = TablaLimiteCredito(); try { foreach (gsAgendaCliente_BuscarLimiteCreditoResult ClienteResumen in lstClienteResumen) { ClienteResumenFinal = new gsAgendaCliente_BuscarLimiteCreditoResult(); var query_Detalle = from c in lstClienteDetalle where c.ID_Agenda == ClienteResumen.ID_Agenda orderby c.ClienteNombre, c.FechaVencimiento select new { c.TC, c.ID_Moneda, c.ID_Agenda, Pendiente = c.ID_Moneda == 0 ? c.ImportePendiente : c.ID_Moneda == 1 ? c.ImportePendiente / c.TC : c.ImportePendiente, Pendiente_PorVencer30 = c.ID_Moneda == 0 ? c.ImportePendiente_PorVencer30 : c.ID_Moneda == 1 ? c.ImportePendiente_PorVencer30 / c.TC : c.ImportePendiente_PorVencer30, Pendiente_NoVencido = c.ID_Moneda == 0 ? c.ImportePendiente_NoVencido : c.ID_Moneda == 1 ? c.ImportePendiente_NoVencido / c.TC : c.ImportePendiente_NoVencido, Pendiente_VenceHoy = c.ID_Moneda == 0 ? c.ImportePendiente_VenceHoy : c.ID_Moneda == 1 ? c.ImportePendiente_VenceHoy / c.TC : c.ImportePendiente_VenceHoy, Pendiente_01a30 = c.ID_Moneda == 0 ? c.ImportePendiente_01a30 : c.ID_Moneda == 1 ? c.ImportePendiente_01a30 / c.TC : c.ImportePendiente_01a30, Pendiente_31a60 = c.ID_Moneda == 0 ? c.ImportePendiente_31a60 : c.ID_Moneda == 1 ? c.ImportePendiente_31a60 / c.TC : c.ImportePendiente_31a60, Pendiente_61a120 = c.ID_Moneda == 0 ? c.ImportePendiente_61a120 : c.ID_Moneda == 1 ? c.ImportePendiente_61a120 / c.TC : c.ImportePendiente_61a120, Pendiente_121a360 = c.ID_Moneda == 0 ? c.ImportePendiente_121a360 : c.ID_Moneda == 1 ? c.ImportePendiente_121a360 / c.TC : c.ImportePendiente_121a360, Pendiente_361aMas = c.ID_Moneda == 0 ? c.ImportePendiente_361aMas : c.ID_Moneda == 1 ? c.ImportePendiente_361aMas / c.TC : c.ImportePendiente_361aMas }; var sumImportePendiente = query_Detalle.ToList().Select(c => c.Pendiente).Sum(); var sumImportePendiente_NoVencido = query_Detalle.ToList().Select(c => c.Pendiente_NoVencido).Sum(); var sumImportePendiente_VenceHoy = query_Detalle.ToList().Select(c => c.Pendiente_VenceHoy).Sum(); var sumImporte_PorVencer30 = query_Detalle.ToList().Select(c => c.Pendiente_PorVencer30).Sum(); var sumImportePendiente_01a30 = query_Detalle.ToList().Select(c => c.Pendiente_01a30).Sum(); var sumImportePendiente_31a60 = query_Detalle.ToList().Select(c => c.Pendiente_31a60).Sum(); var sumImportePendiente_61a120 = query_Detalle.ToList().Select(c => c.Pendiente_61a120).Sum(); var sumImportePendiente_121a360 = query_Detalle.ToList().Select(c => c.Pendiente_121a360).Sum(); var sumImportePendiente_361aMas = query_Detalle.ToList().Select(c => c.Pendiente_361aMas).Sum(); decimal NoVencido; decimal DeudaVencida; decimal CreditoDisponible; NoVencido = Convert.ToDecimal(sumImportePendiente_NoVencido) + Convert.ToDecimal(sumImportePendiente_VenceHoy); DeudaVencida = Convert.ToDecimal(sumImportePendiente_01a30) + Convert.ToDecimal(sumImportePendiente_31a60) + Convert.ToDecimal(sumImportePendiente_61a120) + Convert.ToDecimal(sumImportePendiente_121a360) + Convert.ToDecimal(sumImportePendiente_361aMas); CreditoDisponible = Convert.ToDecimal(ClienteResumen.LineaCredito) - Convert.ToDecimal(sumImportePendiente); string strsumNoVencido = string.Format("{0:#,##0.00}", NoVencido); string strsumImporte_PorVencer30 = string.Format("{0:#,##0.00}", sumImporte_PorVencer30); string strsumImportePendiente_01a30 = string.Format("{0:#,##0.00}", sumImportePendiente_01a30); string strsumImportePendiente_31a60 = string.Format("{0:#,##0.00}", sumImportePendiente_31a60); string strsumImportePendiente_61a120 = string.Format("{0:#,##0.00}", sumImportePendiente_61a120); string strsumImportePendiente_121a360 = string.Format("{0:#,##0.00}", sumImportePendiente_121a360); string strsumImportePendiente_361aMas = string.Format("{0:#,##0.00}", sumImportePendiente_361aMas); string strsumImportePendiente = string.Format("{0:#,##0.00}", sumImportePendiente); string strsumDeudaVencida = string.Format("{0:#,##0.00}", DeudaVencida); string strLineaCredito = string.Format("{0:#,##0.00}", ClienteResumen.LineaCredito); //string strTotalCredito = string.Format("{0:$ #,##0.00}", ClienteResumen.TotalCredito); string strCreditoDisponible = string.Format("{0:#,##0.00}", CreditoDisponible); ClienteResumenFinal.ID_Agenda = ClienteResumen.ID_Agenda; ClienteResumenFinal.AgendaNombre = ClienteResumen.AgendaNombre; ClienteResumenFinal.Aprobacion = ClienteResumen.Aprobacion; ClienteResumenFinal.AprobadoDes = ClienteResumen.AprobadoDes; ClienteResumenFinal.DiasCredito = ClienteResumen.DiasCredito; ClienteResumenFinal.BloqueoLineaCredito = ClienteResumen.BloqueoLineaCredito; ClienteResumenFinal.Estado = ClienteResumen.Estado; ClienteResumenFinal.EstadoDes = ClienteResumen.EstadoDes; ClienteResumenFinal.FechaVCMTLinea = ClienteResumen.FechaVCMTLinea; ClienteResumenFinal.NoVencido = Convert.ToDecimal(strsumNoVencido); ClienteResumenFinal.PorVencer30 = Convert.ToDecimal(strsumImporte_PorVencer30); ClienteResumenFinal.Vencido01a30 = Convert.ToDecimal(strsumImportePendiente_01a30); ClienteResumenFinal.Vencido31a60 = Convert.ToDecimal(strsumImportePendiente_31a60); ClienteResumenFinal.Vencido61a120 = Convert.ToDecimal(strsumImportePendiente_61a120); ClienteResumenFinal.Vencido121a360 = Convert.ToDecimal(strsumImportePendiente_121a360); ClienteResumenFinal.Vencido361amas = Convert.ToDecimal(strsumImportePendiente_361aMas); ClienteResumenFinal.DeudaVencida = Convert.ToDecimal(strsumDeudaVencida); ClienteResumenFinal.DeudaTotal = Convert.ToDecimal(strsumImportePendiente); ClienteResumenFinal.LineaCredito = Convert.ToDecimal(strLineaCredito); ClienteResumenFinal.CreditoDisponible = Convert.ToDecimal(strCreditoDisponible); lstClienteResumenFinal.Add(ClienteResumenFinal); } //ViewState["lstResumenCliente"] = JsonHelper.JsonSerializer(lstClienteResumenFinal); //grdResumenCliente.DataSource = lstClienteResumenFinal; //grdResumenCliente.DataBind(); //lblDate.Text = "1"; } catch (Exception ex) { throw ex; } }
//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"; } }