protected void Page_Load(object sender, EventArgs e) { using (CobranzasDataContext db = new CobranzasDataContext()) { int idAviso = Convert.ToInt32(Request["idAviso"]); Page.Title = idAviso.ToString(); Entidades.Avisos Aviso = db.Avisos.Single(x => x.idAviso == idAviso); try { Aviso.VecesMostrada = Aviso.VecesMostrada + 1; db.SubmitChanges(); } catch (Exception Ex) { Ex.Registrar(); } lblAviso.Text = Aviso.Aviso; if (Aviso.Personas == null) { btnCuenta.Text = "«Sin Persona Asignada»"; idPersona.Value = ""; } else { btnCuenta.Text = Aviso.Personas.Nombre; idPersona.Value = Aviso.idPersona.ToString(); } lblHora.Text = Aviso.FechaAviso.AFechaHora(); lblCreacion.Text = Aviso.FechaCrea.AFechaHora(); lblOriginal.Text = Aviso.FechaOriginal.AFechaHora(); lblUsuario.Text = Aviso.Operadores1.Nombre; //var b=(new wsCobranzas()).Avisos_lst(0); } }
protected void btnRechazarPago_Click(object sender, EventArgs e) { using (CobranzasDataContext db = new CobranzasDataContext()) { Entidades.Pagos Pago; try { Pago = db.Pagos.Single(x => x.idPago == Convert.ToInt32(this.idPago.Value)); Pago.idStatusPago = 7;//Rechazado Procesamiento Pago.Resultado = txtRechazo.Text; Pago.FechaResultado = DateTime.Now; Pago.Confirmado = false; Pago.Aprobado = false; Entidades.Avisos Aviso = new Entidades.Avisos(); Aviso.Aviso = "El Pago del cliente(" + Pago.Personas.idPais + "): " + Pago.Personas.Codigo + ", Referencia: " + Pago.Referencia + ", Ha sido rechazado por el SCI por el siguiente motivo: " + txtRechazo.Text; Aviso.FechaAviso = DateTime.Now.AddMinutes(5); Aviso.FechaCancelado = null; Aviso.FechaOriginal = DateTime.Now.AddMinutes(5); Aviso.FechaCrea = DateTime.Now; Aviso.idOperador = Pago.idOperadorCrea ?? Pago.idOperador ?? 1; Aviso.idOperadorCrea = 1; Aviso.idPersona = Pago.idPersona; Aviso.VecesMostrada = 0; db.Avisos.InsertOnSubmit(Aviso); db.SubmitChanges(); } catch (Exception Ex) { Response.Write("Error Rechazando el Pago"); return; } } }
protected void btnPosponer_Click(object sender, EventArgs e) { using (CobranzasDataContext db = new CobranzasDataContext()) { int idAviso = Convert.ToInt32(Request["idAviso"]); Entidades.Avisos Aviso = db.Avisos.Single(x => x.idAviso == idAviso); Aviso.FechaAviso = DateTime.Now.AddMinutes(10); try { db.SubmitChanges(); ScriptManager.RegisterStartupScript(Page, typeof(Page), "ini", "window.parent.CerrarAviso();window.parent.Avisos_Actualizar();", true); } catch (Exception Ex) { UI.Mensaje("Avisos", Ex.Message, "", Page); } } }
protected void btnCancelar_Click(object sender, EventArgs e) { if (txtComentario.Text.Trim() == "") { UI.Mensaje("Avisos", "Debe especificar un comentario para cancelar el Aviso.", "", Page); return; } using (CobranzasDataContext db = new CobranzasDataContext()) { int idAviso = Convert.ToInt32(Request["idAviso"]); Entidades.Avisos Aviso = db.Avisos.Single(x => x.idAviso == idAviso); Aviso.FechaCancelado = DateTime.Now; Aviso.Comentario = txtComentario.Text; try { db.SubmitChanges(); ScriptManager.RegisterStartupScript(Page, typeof(Page), "ini", "window.parent.CerrarAviso();window.parent.Avisos_Actualizar();", true); } catch (Exception Ex) { UI.Mensaje("Avisos", Ex.Message, "", Page); } } }
protected void btnLlevarPago_Click(object sender, EventArgs e) { using (CobranzasDataContext db = new CobranzasDataContext()) { Entidades.Pagos Pago; try { Pago = db.Pagos.Single(x => x.idPago == Convert.ToInt32(this.idPago.Value)); } catch (Exception Ex) { Response.Write("Error Llevando el Pago a SCI"); return; } int?idOrigen = Pago.Pagos_Cuentas.First().Cuentas.idOrigen; Entidades.Origenes Origen = db.Origenes.Single(x => x.idOrigen == idOrigen); //OleDbConnection Conn = new OleDbConnection("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=mberroteran;Password=mberroteran;Initial Catalog=SCI;Data Source=VECCSVS020"); OleDbConnection Conn = new OleDbConnection(Origen.ConnectionString);//"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=mberroteran;Password=mberroteran;Initial Catalog=milleniumv2;Data Source=VECCSVS020"); Conn.Open(); OleDbCommand Comm = Conn.CreateCommand(); Comm.CommandTimeout = 10 * 60; Comm.CommandType = CommandType.StoredProcedure; Comm.CommandText = "transact_Cobros"; Comm.Parameters.Add("transactId", OleDbType.Integer); Comm.Parameters.Add("cobroPaisId", OleDbType.Integer).Direction = ParameterDirection.Output; Comm.Parameters.Add("fechaCobro", OleDbType.Date).Direction = ParameterDirection.Output; Comm.Parameters.Add("empresaPaisId", OleDbType.Integer); Comm.Parameters.Add("descripcion", OleDbType.VarChar); Comm.Parameters.Add("ptocreacion", OleDbType.VarChar); Comm.Parameters.Add("moneda", OleDbType.Boolean); Comm.Parameters.Add("cobradorPaisId", OleDbType.Integer); Comm.Parameters.Add("clientePaisId", OleDbType.Integer); OleDbCommand Comm2 = Conn.CreateCommand(); Comm2.CommandTimeout = 10 * 60; Comm2.CommandType = CommandType.StoredProcedure; Comm2.CommandText = "transact_entradasbanco"; Comm2.Parameters.Add("transactId", OleDbType.Integer); Comm2.Parameters.Add("entradaID", OleDbType.Integer).Direction = ParameterDirection.Output; Comm2.Parameters.Add("empresaPaisId", OleDbType.Integer); Comm2.Parameters.Add("cuentaID", OleDbType.Integer); Comm2.Parameters.Add("fecharecepcion", OleDbType.Date); Comm2.Parameters.Add("transferencia", OleDbType.Boolean); Comm2.Parameters.Add("numdeposito", OleDbType.Integer); Comm2.Parameters.Add("cobroPaisId", OleDbType.Integer); Comm2.Parameters.Add("montoefectivo", OleDbType.Decimal); OleDbCommand Comm3 = Conn.CreateCommand(); Comm3.CommandTimeout = 10 * 60; Comm3.CommandType = CommandType.StoredProcedure; Comm3.CommandText = "transact_cheques"; Comm3.Parameters.Add("transactId", OleDbType.Integer); Comm3.Parameters.Add("IDcheque", OleDbType.Integer).Direction = ParameterDirection.Output; Comm3.Parameters.Add("entradaID", OleDbType.Integer); Comm3.Parameters.Add("chequeId", OleDbType.VarChar); Comm3.Parameters.Add("chequebco", OleDbType.VarChar); Comm3.Parameters.Add("montocheque", OleDbType.Decimal); //Comm3.Parameters.Add("IDcheque", OleDbType.Numeric).Direction = ParameterDirection.Output; //Comm3.Parameters.Add("entradaID", OleDbType.Numeric); //Comm3.Parameters.Add("chequeid", OleDbType.Char); //Comm3.Parameters.Add("chequebco", OleDbType.Char); //Comm3.Parameters.Add("montocheque", OleDbType.Numeric); //Comm3.Parameters.Add("cobroid", OleDbType.Numeric); //Comm3.Parameters.Add("bancoid", OleDbType.Char); //Comm3.Parameters.Add("numdeposito", OleDbType.Char); //Comm3.Parameters.Add("chequefecha", OleDbType.Char); //Comm3.Parameters.Add("bolivar", OleDbType.Boolean); OleDbCommand Comm4 = Conn.CreateCommand(); Comm4.CommandTimeout = 10 * 60; Comm4.CommandType = CommandType.StoredProcedure; Comm4.CommandText = "Cobranzas.Insertar_Pagos_Cuentas"; Comm4.Parameters.Add("CodigoPago", OleDbType.VarChar); Comm4.Parameters.Add("CodigoCuenta", OleDbType.VarChar); Comm4.Parameters.Add("Monto", OleDbType.Decimal); Comm4.Parameters.Add("Retencion1", OleDbType.Decimal); Comm4.Parameters.Add("Retencion2", OleDbType.Decimal); Comm4.Parameters.Add("Pais", OleDbType.Char, 3); OleDbCommand Comm5 = Conn.CreateCommand(); Comm5.CommandTimeout = 10 * 60; Comm5.CommandType = CommandType.Text; Comm5.CommandText = "SELECT Empresapaisid FROM OEmpresapais as ep inner join opais as p on ep.pais=p.pais where p.iso3='" + Pago.Personas.idPais + "'"; Int32 EmpresaPaisId = Convert.ToInt32(Comm5.ExecuteScalar()); Comm5.CommandText = "select cuentaid from tbancocuenta as bc inner join tbanco as b on bc.bancoid=b.bancoid where b.bancopaisid='" + Pago.BancosPropios.Bancos.Codigo + "' and b.empresapaisid=" + EmpresaPaisId.ToString() + " and bc.numcuenta='" + Pago.BancosPropios.NroCuenta + "'"; Int32 CuentaId = Convert.ToInt32(Comm5.ExecuteScalar()); Comm5.CommandText = "SELECT Top 1 OS.puertoid FROM dstEstacion AS ES INNER JOIN SubRedSerie AS SS ON SS.subrID=ES.subrID INNER JOIN oOficSerie AS OS ON OS.serie=SS.serieDMDG AND OS.empresaPaisID=SS.empresaPaisID INNER JOIN oEmpresapais as EP on SS.Empresapaisid=Ep.empresapaisid INNER JOIN oPais as P on Ep.pais=p.pais WHERE ES.usuario=SUSER_NAME()and p.iso3='" + Pago.Personas.idPais + "'"; String PuertoCreacion = Convert.ToString(Comm5.ExecuteScalar()); OleDbTransaction Trans = Conn.BeginTransaction(); Boolean PagoListo = false; try { Comm.Transaction = Trans; Comm2.Transaction = Trans; Comm3.Transaction = Trans; Comm4.Transaction = Trans; // String PuertoCreacion = Pago.Pagos_Cuentas.First().Cuentas.Datos.Descendants("Dato").Where(x => x.Attribute("Clave").Value == "Port").First().Value; Comm.Parameters["transactId"].Value = 1; Comm.Parameters["empresaPaisId"].Value = EmpresaPaisId; Comm.Parameters["descripcion"].Value = Pago.Descripcion; Comm.Parameters["ptocreacion"].Value = PuertoCreacion; Comm.Parameters["moneda"].Value = Pago.idMoneda == "USD" ? 0 : 1; Comm.Parameters["cobradorPaisId"].Value = db.Operadores_Asignaciones.Single(x => x.idOperador == Pago.idOperador && x.idPais == Pago.Personas.idPais).Codigo; Comm.Parameters["clientePaisId"].Value = Pago.Personas.Codigo; Comm.ExecuteNonQuery(); Pago.Codigo = Comm.Parameters["cobroPaisId"].Value.ToString(); //Comm.Parameters["fechaCobro", OleDbType.Date).Direction = ParameterDirection.Output; Comm2.Parameters["transactId"].Value = 1; Comm2.Parameters["empresaPaisId"].Value = EmpresaPaisId; Comm2.Parameters["cuentaID"].Value = CuentaId; Comm2.Parameters["fecharecepcion"].Value = Pago.Fecha; Comm2.Parameters["transferencia"].Value = Pago.TipoPago == 2; Comm2.Parameters["numdeposito"].Value = Pago.Referencia; Comm2.Parameters["cobroPaisId"].Value = Pago.Codigo; Comm2.Parameters["montoefectivo"].Value = Pago.MontoEfectivo; Comm2.ExecuteNonQuery(); Int32 Entrada = Convert.ToInt32(Comm2.Parameters["entradaID"].Value); foreach (Entidades.Pagos_Cuentas PC in Pago.Pagos_Cuentas) { Comm4.Parameters["CodigoPago"].Value = Pago.Codigo; Comm4.Parameters["CodigoCuenta"].Value = PC.Cuentas.Codigo; Comm4.Parameters["Monto"].Value = PC.Monto; Comm4.Parameters["Retencion1"].Value = PC.Retencion1; Comm4.Parameters["Retencion2"].Value = PC.Retencion2; Comm4.Parameters["Pais"].Value = Pago.Personas.idPais; Comm4.ExecuteNonQuery(); } foreach (Entidades.PagosDet Cheque in Pago.PagosDet) { Comm3.Parameters["transactId"].Value = 1; Comm3.Parameters["entradaID"].Value = Entrada; Comm3.Parameters["chequeId"].Value = Cheque.NroCheque; Comm3.Parameters["chequebco"].Value = Cheque.Bancos.Codigo; Comm3.Parameters["montocheque"].Value = Cheque.Monto; Comm3.ExecuteNonQuery(); Cheque.Codigo = Comm3.Parameters["IDcheque"].Value.ToString(); } Trans.Commit(); PagoListo = true; Pago.idStatusPago = 6;//Aprobado Procesamiento ClientScript.RegisterStartupScript(typeof(Page), "Aviso", "alert('El código del Pago Generado es:" + Pago.Codigo + "')"); db.SubmitChanges(); try//Crear Gestión { Int32 Status = Convert.ToInt32(db.Parametros.Single(x => x.Clave == "_STPago" + Pago.Personas.idPais).Valor); Entidades.Gestiones Gestion = new Entidades.Gestiones(); Gestion.Descripcion = Pago.Descripcion; db.Gestiones.InsertOnSubmit(Gestion); Gestion.Fecha = DateTime.Now; Gestion.idOperador = Pago.idOperadorCrea.Value; Gestion.idPersona = Pago.idPersona; Gestion.idStatus = Status; foreach (Int32 idCuenta in Pago.Pagos_Cuentas.Select(x => x.idCuenta)) { Entidades.Cuentas_Gestiones CG = new Entidades.Cuentas_Gestiones(); CG.idCuenta = idCuenta; Gestion.Cuentas_Gestiones.Add(CG); } db.SubmitChanges(); } catch (Exception Ex) { } } catch (Exception Ex) { if (!PagoListo) { Response.Write("Error Llevando Pago " + Pago.idPago + "Mensaje: " + Ex.Message); Trans.Rollback(); db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, Pago); Pago.Codigo = null; Pago.Resultado = Ex.Message; Pago.FechaResultado = DateTime.Now; Pago.Confirmado = false; Pago.Aprobado = false; Pago.idStatusPago = 2; db.SubmitChanges(); Entidades.Avisos Aviso = new Entidades.Avisos(); Aviso.Aviso = "El Pago del cliente(" + Pago.Personas.idPais + "): " + Pago.Personas.Codigo + ", Referencia: " + Pago.Referencia + ", Ha sido rechazado por el SCI por el siguiente motivo: " + Ex.Message; Aviso.FechaAviso = DateTime.Now.AddMinutes(5); Aviso.FechaCancelado = null; Aviso.FechaOriginal = DateTime.Now.AddMinutes(5); Aviso.FechaCrea = DateTime.Now; Aviso.idOperador = Pago.idOperadorCrea ?? Pago.idOperador ?? 1; Aviso.idOperadorCrea = 1; Aviso.idPersona = Pago.idPersona; Aviso.VecesMostrada = 0; db.Avisos.InsertOnSubmit(Aviso); db.SubmitChanges(); } } } }