protected void crearCuenta_Click(object sender, EventArgs e) { try { string nombre = txtNombre.Text; string clave = txtPass.Text; string confirmarClave = txtConfPass.Text; if (clave.Equals(confirmarClave)) { EntitiesOnTour bd = new EntitiesOnTour(); USUARIO usuario = bd.USUARIO.FirstOrDefault(x => x.LOGIN_USR.Equals(nombre)); if (usuario == null) { byte[] bytes = { 0x35, 0x24, 0, 76, 0x12 }; MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = md5.ComputeHash(Encoding.ASCII.GetBytes(clave)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < result.Length; i++) { sb.Append(result[i].ToString("x2")); } String hashClave = sb.ToString(); bd.SP_INSERTAUSUARIO(nombre, hashClave, 3, "T"); bd.SaveChanges(); USUARIO ultimoUsuario = bd.USUARIO.OrderByDescending(x => x.ID_USR).First(); decimal idUsr = ultimoUsuario.ID_USR; int numeroRut = int.Parse(txtBuscarRut.Text); bd.SP_UPDATEUSERCLI(numeroRut, idUsr); bd.SaveChanges(); MostrarModal("Atención", "Las credenciales han sido generadas correctamente."); txtBuscarRut.Enabled = true; txtDvBuscar.Enabled = true; panelCrearCuenta.Visible = false; txtBuscarRut.Text = ""; txtConfPass.Text = ""; txtDvBuscar.Text = ""; txtNombre.Text = ""; txtPass.Text = ""; } else { MostrarModal("Atención", "El nombre de usuario ya existe."); } } else { MostrarModal("Atención", "Las contraseñas no coinciden."); } } catch (Exception ex) { MostrarModal("Error", "Ha ocurrido un error en la operación, inténtalo de nuevo. Si el problema persiste contáctate con el administrador."); } }
protected void btnModificar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); int nId = int.Parse(txtIdContrato.Text); DateTime nInicio = DateTime.Parse(txtInicio.Text); DateTime nFin = DateTime.Parse(txtFin.Text); int nMeta = 0; //int nMeta = int.Parse(txtMeta.Text); //int nMonto = int.Parse(txtMonto.Text); int nMonto = 0; String nEstado = DropDownListEstado.SelectedValue.ToString(); int nRutTit = int.Parse(DropDownListTitular.SelectedValue); int nRutEmp = int.Parse(DropDownListEmpleado.SelectedValue); bd.SP_UPDATECONTRATO(nId, nInicio, nFin, nMeta, nMonto, nEstado, nRutEmp, nRutTit); bd.SaveChanges(); MostrarModal("Operación realizada", "El contrato ha sido modificado correctamente."); GridViewContratos.DataBind(); } catch (Exception ex) { MostrarModal("Error", "Ha ocurrido un error en la operación, inténtalo de nuevo."); } }
protected void btnAgregar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); DateTime fecha = DateTime.Parse(txtFecha.Text.Trim()); int monto = int.Parse(txtMonto.Text.Trim()); int tipo = int.Parse(DropDownListTipo.SelectedValue); int cuenta = int.Parse(DropDownListCuenta.SelectedValue); CUENTA ctv = bd.CUENTA.FirstOrDefault(it => it.ID_CUENTA == cuenta); String varS = ctv.SALDO.ToString(); int varD = int.Parse(varS); int varE = varD + monto; TRANSACCION transaccion = new TRANSACCION() { FECHA_TRANSACCION = fecha, MONTO_TRANSACCION = monto, ID_CUENTA = cuenta, ID_TIPO_TRANSACCION = tipo, ACTIVO = "T" }; bd.TRANSACCION.Add(transaccion); bd.SP_UPDATESALDOCUENTA(cuenta, varE); bd.SaveChanges(); MostrarModal("Operación realizada", "Se ha registrado la transacción correctamente."); } catch (Exception ex) { MostrarModal("Error", "Ha ocurrido un error en la operación, inténtalo de nuevo. Si el problema persiste contáctate con el administrador."); } }
protected void btnAgregar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); int saldo = int.Parse(txtSaldo.Text.Trim()); int contrato = int.Parse(DropDownListContratoRela.SelectedValue); int rut = int.Parse(DropDownListRut.SelectedValue); string activo = DropDownListActivo.SelectedValue; CUENTA cuenta = new CUENTA() { SALDO = saldo, ID_CONTRATO = contrato, NUMRUT_CLI = rut, ACTIVO = activo }; bd.CUENTA.Add(cuenta); bd.SaveChanges(); MostrarModal("Atención", "La cuenta ha sido creada satisfactoriamente."); } catch (Exception ex) { MostrarModal("Atención", ex.Message); } }
protected void btnModificar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); int rut = int.Parse(txtRut.Text.Trim()); String nombreNuevo = txtNombreNuevo.Text.Trim(); String apellidoP = txtApellidoPNuevo.Text.Trim(); String apellidoM = txtApellidoMNuevo.Text.Trim(); String mail = txtMailNuevo.Text.Trim(); String activo = DropDownListActivoNuevo.SelectedValue; // AÚN NO IMPLEMENTADO EN SP String direccion = txtDireccionNuevo.Text.Trim(); DateTime fechaNacimiento = DateTime.Parse(txtFechaNuevo.Text); String telefono = txtTelefonoNuevo.Text; bd.SP_UPDATECLIENTE(rut, nombreNuevo, apellidoP, apellidoM, mail, activo, direccion, fechaNacimiento, telefono); bd.SaveChanges(); MostrarModal("Atención", "Cliente Modificado Exitosamente"); Page_Load(null, EventArgs.Empty); } catch (Exception ex) { MostrarModal("Atención", ex.Message); } }
protected void btnAgregar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); Librerias librerias = new Librerias(); string idContratoActual = Request.QueryString["id_contrato"]; decimal idContrato = int.Parse(idContratoActual); int rut = int.Parse(txtRut.Text.Trim()); String dv = txtDv.Text.Trim().ToUpper(); String rutCompleto = rut + dv; bool rutValido = librerias.validarRut(rutCompleto); //Validación de Rut if (!rutValido) { throw new Exception("Rut inválido"); } int totalRegistros = bd.CUENTA.Count(x => x.ID_CONTRATO == idContrato && x.NUMRUT_CLI == rut && x.ACTIVO == "T"); if (totalRegistros > 0) { throw new Exception("Ya existe este pasajero en el contrato"); } String nombre = txtNombre.Text.Trim(); String apellidoP = txtApellidoP.Text.Trim(); String apellidoM = txtApellidoM.Text.Trim(); String mail = txtMail.Text.Trim(); String direccion = txtDireccion.Text.Trim(); DateTime today = DateTime.Today; DateTime fechaNacimiento = DateTime.Parse(txtFecha.Text); if (fechaNacimiento > today) { throw new Exception("Fecha de nacimiento no puede ser mayor a la fecha actual"); } String telefono = txtTelefono.Text; String mensajeFinal = ""; String activo = "T"; //Un cliente es solo T o F int numrutCliente = int.Parse(txtRut.Text); if (txtNombre.Enabled) { bd.SP_INSERTCLIENTE(rut, dv, nombre, apellidoP, apellidoM, mail, activo, direccion, fechaNacimiento, telefono); } bd.SP_INSERTARCUENTA(0, idContrato, numrutCliente, activo); bd.SaveChanges(); Page.Response.Redirect(Page.Request.Url.ToString(), false); } catch (Exception ex) { MostrarModal("Atención", ex.Message); } }
protected void QuitarPasajero(object sender, EventArgs e) { string idContratoActual = Request.QueryString["id_contrato"]; decimal idContrato = int.Parse(idContratoActual); decimal clienteRut = decimal.Parse(datosPasajero.Text); EntitiesOnTour bd = new EntitiesOnTour(); var v_saldo = bd.CUENTA.FirstOrDefault(x => x.ID_CONTRATO == idContrato && x.NUMRUT_CLI == clienteRut && x.ACTIVO.Equals("T")); decimal saldo_pasajero = v_saldo.SALDO; v_saldo.ACTIVO = "F"; v_saldo.SALDO = 0; bd.SaveChanges(); var v_cantidad = bd.CUENTA.Count(x => x.ID_CONTRATO == idContrato && x.ACTIVO.Equals("T")); decimal saldo_prorrateado = saldo_pasajero / v_cantidad; var cuentas = bd.CUENTA.Where(x => x.ID_CONTRATO == idContrato && x.ACTIVO.Equals("T")).ToList(); foreach (var cuenta in cuentas) { cuenta.SALDO = cuenta.SALDO + saldo_prorrateado; } bd.SaveChanges(); Page.Response.Redirect(Page.Request.Url.ToString(), true); }
protected void btnAgregar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); int Tipo = int.Parse(DropDownListTipoActividad.SelectedValue); string descripcion = txtDescripcion.Text.Trim(); DateTime fecha = DateTime.Parse(txtFechaActividad.Text); int monto = int.Parse(txtMonto.Text.Trim()); string activo = DropDownListActivo.SelectedValue; int contrato = int.Parse(DropDownListContratoRela.SelectedValue); ACTIVIDAD actividad = new ACTIVIDAD() { DESC_ACTIVIDAD = descripcion, FECHA_REALIZACION_ACT = fecha, MONTO_RECAUDADO = monto, ACTIVO = activo, ID_TIPO_ACTIVIDAD = Tipo, ID_CONTRATO = contrato }; bd.ACTIVIDAD.Add(actividad); bd.SaveChanges(); MostrarModal("Atención", "La actividad ha sido registrada correctamente"); txtDescripcion.Text = ""; txtFechaActividad.Text = ""; txtMonto.Text = ""; DropDownListTipoActividad.SelectedIndex = 0; DropDownListContratoRela.SelectedIndex = 0; DropDownListActivo.SelectedIndex = 0; } catch (Exception ex) { MostrarModal("Atención", "Ha ocurrido un error en la operación, inténtalo de nuevo. Si el problema persiste contáctate con el administrador."); } }
protected void Notificar_Click(object sender, EventArgs e) { try { string file = System.IO.Path.GetFileName(comprobante.PostedFile.FileName); if (file == null || file.Equals("")) { pasoDos.Visible = true; txtMonto.Disabled = true; throw new Exception("Documento no adjuntado."); } EntitiesOnTour bd = new EntitiesOnTour(); DateTime fecha = DateTime.Now; int monto = int.Parse(txtMonto.Value); int tipo = int.Parse(DropDownListTipo.SelectedValue); string idContratoActual = Request.QueryString["id_contrato"]; decimal idContrato = int.Parse(idContratoActual); decimal idusuario = decimal.Parse(Session["UsuarioID"].ToString()); CLIENTE cliente = bd.CLIENTE.FirstOrDefault(x => x.ID_USR == idusuario); CUENTA cuentaEmisor = bd.CUENTA.FirstOrDefault(it => it.ID_CONTRATO == idContrato && it.NUMRUT_CLI == cliente.NUMRUT_CLI && it.ACTIVO.Equals("T")); if (tipo == 1) { cuentaEmisor.SALDO = cuentaEmisor.SALDO + monto; bd.SaveChanges(); } else { //grupal var v_cantidad = bd.CUENTA.Count(x => x.ID_CONTRATO == idContrato && x.ACTIVO.Equals("T")); decimal saldo_prorrateado = monto / v_cantidad; var cuentas = bd.CUENTA.Where(x => x.ID_CONTRATO == idContrato && x.ACTIVO.Equals("T")).ToList(); foreach (var cuenta in cuentas) { cuenta.SALDO = cuenta.SALDO + saldo_prorrateado; } bd.SaveChanges(); } TRANSACCION transaccion = new TRANSACCION() { FECHA_TRANSACCION = fecha, MONTO_TRANSACCION = monto, ID_CUENTA = cuentaEmisor.ID_CUENTA, ID_TIPO_TRANSACCION = tipo, ACTIVO = "F" }; bd.TRANSACCION.Add(transaccion); bd.SaveChanges(); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient() { Host = "smtp.gmail.com", Port = 587, UseDefaultCredentials = false, Credentials = new NetworkCredential("*****@*****.**", "jeanette0513"), EnableSsl = true }; mail.From = new MailAddress("*****@*****.**"); mail.To.Add("*****@*****.**"); mail.Subject = "Transferencia"; mail.Body = "Monto: " + monto + "\n" + "Fecha: " + fecha + "\n" + "Rut de autor: " + cliente.NUMRUT_CLI + "-" + cliente.DRUT_CLI + "\n" + "Nombre: " + cliente.NOMBRE_CLIE + " " + cliente.APELLIDO_PAT_CLI; string strFileName = System.IO.Path.GetFileName(comprobante.PostedFile.FileName); Attachment attachFile = new Attachment(comprobante.PostedFile.InputStream, strFileName); mail.Attachments.Add(attachFile); SmtpServer.Send(mail); Page.Response.Redirect(Page.Request.Url.ToString() + "&send=true", true); } catch (Exception ex) { MostrarModal("Atención", "No se ha podido conectar con el servidor de correo"); } }
protected void QuitarPaquete_Click(object sender, EventArgs e) { decimal idPaquete = decimal.Parse(idPaqueteTuristico.Value); EntitiesOnTour bd = new EntitiesOnTour(); var servciosPaquete = (from servicio in bd.SERVICIO join servicio_paquete in bd.SERVICIO_PAQUETE on servicio.ID_SERVICIO equals servicio_paquete.ID_SERVICIO where servicio_paquete.ID_PAQUETEVIAJE == idPaquete select new { Servicio = servicio }).ToList(); int restaTotal = 0; foreach (var item in servciosPaquete) { string jsonServicioWS; switch (item.Servicio.ID_TIPO_SERVICIO) { case 1: jsonServicioWS = getJSONVuelosConID(item.Servicio.ID_SERVICIO_WS); dynamic dynJsonVuelos = JsonConvert.DeserializeObject(jsonServicioWS); foreach (var servicioWS in dynJsonVuelos) { string valorstrWS = servicioWS.precio; int valorWS = int.Parse(valorstrWS); restaTotal += valorWS; } break; case 2: jsonServicioWS = getJSONBusesConID(item.Servicio.ID_SERVICIO_WS); dynamic dynJsonBuses = JsonConvert.DeserializeObject(jsonServicioWS); foreach (var servicioWS in dynJsonBuses) { string valorstrWS = servicioWS.precio; int valorWS = int.Parse(valorstrWS); restaTotal += valorWS; } break; case 3: jsonServicioWS = getJSONAlojamientoConID(item.Servicio.ID_SERVICIO_WS); dynamic dynJsonAlojamiento = JsonConvert.DeserializeObject(jsonServicioWS); foreach (var servicioWS in dynJsonAlojamiento) { string valorstrWS = servicioWS.h_precio; int valorWS = int.Parse(valorstrWS); restaTotal += valorWS; } break; case 4: jsonServicioWS = getJSONSegurosConId(item.Servicio.ID_SERVICIO_WS); dynamic dynJsonSeguro = JsonConvert.DeserializeObject(jsonServicioWS); foreach (var servicioWS in dynJsonSeguro) { string valorstrWS = servicioWS.se_precio; int valorWS = int.Parse(valorstrWS); restaTotal += valorWS; } break; } } string idContratoActual = Request.QueryString["id_contrato"]; decimal idContrato = int.Parse(idContratoActual); CONTRATO contrato = bd.CONTRATO.FirstOrDefault(x => x.ID_CONTRATO == idContrato); contrato.META -= restaTotal; bd.SP_ELIMINAPAQUETEVIAJECONTRATO(idPaquete); bd.SP_ELIMINAPAQUETEVIAJE(idPaquete); bd.SaveChanges(); Page.Response.Redirect(Page.Request.Url.ToString(), true); }
protected void btnRegistrar_Click(object sender, EventArgs e) { try { EntitiesOnTour bd = new EntitiesOnTour(); //Usado para guardar contrato con el empleado actual String usuario = Session["Usuario"].ToString(); USUARIO usuarioObj = bd.USUARIO.FirstOrDefault(it => it.LOGIN_USR == usuario); //User del empleado EMPLEADO empleadoObj = bd.EMPLEADO.FirstOrDefault(it => it.ID_USR == usuarioObj.ID_USR); String numrutEmpleadoTemp = empleadoObj.NUMRUT_EMP.ToString(); int numrutEmpleado = int.Parse(numrutEmpleadoTemp); Librerias librerias = new Librerias(); //Agregar Mandante int rutMandante = int.Parse(rutMandanteBuscar.Text.Trim()); String dv = rutMandanteBuscardv.Text.Trim().ToUpper(); String rutCompleto = rutMandante + dv; bool rutValido = librerias.validarRut(rutCompleto); //Validación de Rut if (!rutValido) { throw new Exception("El rut ingresado no es válido."); } if (bd.CLIENTE.Any(it => it.NUMRUT_CLI == rutMandante) && txtNombre.Enabled) { throw new Exception("El cliente ya existe en la base de datos."); } String nombre = txtNombre.Text.Trim(); String apellidoP = txtApellidoP.Text.Trim(); String apellidoM = txtApellidoM.Text.Trim(); DateTime fechaNacimiento = DateTime.Parse(txtFecha.Text); DateTime hoy = DateTime.Now; txtHoy.Text = hoy.ToShortDateString(); if (fechaNacimiento > hoy) { ValidadorFecNac.Text = "Fecha Invalida"; throw new Exception("La fecha de nacimiento ingresada no es válida."); } String mail = txtMail.Text.Trim(); String telefono = txtTelefono.Text; String direccion = txtDireccion.Text.Trim(); String activo = "T"; //Por defecto if (txtNombre.Enabled) { bd.SP_INSERTCLIENTE(rutMandante, dv, nombre, apellidoP, apellidoM, mail, activo, direccion, fechaNacimiento, telefono); } DateTime fechInicio = DateTime.Parse(txtInicio.Text); DateTime fechTermino = DateTime.Parse(txtFin.Text); int meta = 0; int montoReserva = 0; String estado = "T"; //Por defecto, T Será cuando se complete y F cuando se cancele //int numrutEmpleado = int.Parse(empleadoObj.NUMRUT_EMP.ToString()); // Sesión usuario bd.SP_INSERTCONTRATO(fechInicio, fechTermino, meta, montoReserva, estado, numrutEmpleado, rutMandante); bd.SaveChanges(); CONTRATO contrato = bd.CONTRATO.FirstOrDefault(t => t.FECHA_INICIO == fechInicio && t.NUMRUT_CLI_TITULAR == rutMandante); bd.SP_INSERTARCUENTA(0, contrato.ID_CONTRATO, rutMandante, estado); //Sigue el estandar P del contrato bd.SaveChanges(); Response.Redirect("ModificarContrato.aspx?ID_CONTRATO=" + contrato.ID_CONTRATO, false); } catch (Exception ex) { MostrarModal("Atención", ex.Message); } }
protected void ButtonRegistrar_Click(object sender, EventArgs e) { int id_tipo_servicio; int id_ws; EntitiesOnTour db = new EntitiesOnTour(); int idContrato = int.Parse(DropDownListContrato.SelectedValue); string descripcionPaquete = "Paquete nuevo"; int precioPaquete = int.Parse(txtPrecioTemp.Text); string activo = "T"; DateTime fechaCreacion = DateTime.Now; db.SP_V_INSERTAPAQUETE(descripcionPaquete, precioPaquete, activo, fechaCreacion); db.SaveChanges(); PAQUETEVIAJE paquete = db.PAQUETEVIAJE.OrderByDescending(x => x.ID_PAQUETEVIAJE).First(); CONTRATO contrato = db.CONTRATO.FirstOrDefault(x => x.ID_CONTRATO == idContrato); contrato.META += int.Parse(lblPrecio.Text.Substring(1)); db.SP_INSERTAPAQUETECONTRATO(idContrato, paquete.ID_PAQUETEVIAJE, activo); db.SaveChanges(); if (DDLHoraSalida.SelectedValue != null) { int tipoTransporte = int.Parse(DropDownListTipoTransporte.SelectedValue); if (tipoTransporte == 1) { id_tipo_servicio = 2;//bus } else { id_tipo_servicio = 1;//vuelo } int id_ws_viaje = int.Parse(DDLHoraSalida.SelectedValue); db.SP_V_INSERTASERVICIO(id_ws_viaje, activo, id_tipo_servicio); db.SaveChanges(); SERVICIO servicio = db.SERVICIO.OrderByDescending(x => x.ID_SERVICIO).First(); db.SP_INSERTASERVICIOPAQUETE(servicio.ID_SERVICIO, paquete.ID_PAQUETEVIAJE, activo); db.SaveChanges(); } if (DropDownListEstadia.SelectedValue != null) { id_tipo_servicio = 3; //Estadia id_ws = int.Parse(DropDownListEstadia.SelectedValue); db.SP_V_INSERTASERVICIO(id_ws, activo, id_tipo_servicio); db.SaveChanges(); SERVICIO servicio = db.SERVICIO.OrderByDescending(x => x.ID_SERVICIO).First(); db.SP_INSERTASERVICIOPAQUETE(servicio.ID_SERVICIO, paquete.ID_PAQUETEVIAJE, activo); db.SaveChanges(); } if (DropDownListSeguros.SelectedValue != null) { id_tipo_servicio = 4; //Seguros id_ws = int.Parse(DropDownListSeguros.SelectedValue); db.SP_V_INSERTASERVICIO(id_ws, activo, id_tipo_servicio); db.SaveChanges(); SERVICIO servicio = db.SERVICIO.OrderByDescending(x => x.ID_SERVICIO).First(); db.SP_INSERTASERVICIOPAQUETE(servicio.ID_SERVICIO, paquete.ID_PAQUETEVIAJE, activo); db.SaveChanges(); } MostrarModal("Atención", "Se ha agregado el paquete de viaje correctamente."); deshabilitarFormulario(); deshabilitarDropDowns(); Response.Redirect("ModificarContrato.aspx?ID_CONTRATO=" + contrato.ID_CONTRATO, false); }