/// <summary> /// Método encargado de Configurar los Controles de Kilometrajes de Pago y Cobro /// </summary> private void configuraKilometrajesPC() { //Instanciando Kilometraje using (SAT_CL.Global.Kilometraje kms = new SAT_CL.Global.Kilometraje(this._id_kilometraje)) { //Validando que Existe un Kilometraje if (this._id_kilometraje > 0) { //Validando que el Kilometraje de Pago y Cobro sea distinto al Real if (!txtKms.Text.Equals(txtKmsPago.Text) || !txtKms.Text.Equals(txtKmsCobro.Text)) { //Desmarcando Indicador chkKmsPC.Checked = false; //Habilitando Controles txtKmsPago.Enabled = txtKmsCobro.Enabled = true; } else { //Desmarcando Indicador chkKmsPC.Checked = true; //Habilitando Controles txtKmsPago.Enabled = txtKmsCobro.Enabled = false; //Asignando Valores txtKmsPago.Text = txtKmsCobro.Text = txtKms.Text; } } else { //Validando Kilometraje Real if (chkKmsPC.Checked) { //Asignando Valores txtKmsPago.Text = txtKmsCobro.Text = txtKms.Text; //Deshabilitando Controles txtKmsPago.Enabled = txtKmsCobro.Enabled = false; } else { //Habilitando Controles txtKmsPago.Enabled = txtKmsCobro.Enabled = true; } } } }
/// <summary> /// Método encargado de Configurar los Controles de Kilometrajes de Pago y Cobro (Inverso) /// </summary> private void configuraKilometrajesInvPC() { //Instanciando Kilometraje Inverso using (SAT_CL.Global.Kilometraje kms = SAT_CL.Global.Kilometraje.ObtieneKilometrajeInverso(this._id_kilometraje)) { //Validando que Existe un Kilometraje if (this._id_kilometraje > 0) { //Validando que el Kilometraje de Pago y Cobro sea distinto al Real if (!kms.kms_reales.ToString().Equals(txtKmsInvPago.Text) || !kms.kms_reales.ToString().Equals(txtKmsInvCobro.Text)) { //Desmarcando Indicador chkKmsInvPC.Checked = false; //Habilitando Controles txtKmsInvPago.Enabled = txtKmsInvCobro.Enabled = true; } else { //Desmarcando Indicador chkKmsInvPC.Checked = true; //Habilitando Controles txtKmsInvPago.Enabled = txtKmsInvCobro.Enabled = false; //Asignando Valores txtKmsInvPago.Text = txtKmsInvCobro.Text = kms.kms_reales.ToString(); } } else { //Validando Kilometraje Real if (chkKmsInvPC.Checked) { //Asignando Valores txtKmsInvPago.Text = txtKmsInvCobro.Text = txtKmsInv.Text; //Deshabilitando Controles txtKmsInvPago.Enabled = txtKmsInvCobro.Enabled = false; } else { //Habilitando Controles txtKmsInvPago.Enabled = txtKmsInvCobro.Enabled = true; } } } }
/// <summary> /// Método encargado de Guardar el Kilometraje /// </summary> /// <returns></returns> public RetornoOperacion GuardaKilometraje() { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando el Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Declarando Variable Auxiliar int idKilometraje = 0; //Validando que Existe el Kilometraje if (this._id_kilometraje > 0) { //Instanciando Kilometraje using (SAT_CL.Global.Kilometraje km = new SAT_CL.Global.Kilometraje(this._id_kilometraje)) { //Validando que exista el Kilometraje if (km.id_kilometraje > 0) { //Editando Kilometraje result = km.EditaKilometraje(Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtUbicacionOrigen.Text, "ID:", 1)), Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtUbicacionDestino.Text, "ID:", 1)), km.geo_ubicacion_origen, km.geo_ubicacion_destino, Convert.ToDecimal(txtKms.Text), km.kms_maps, Convert.ToDecimal(txtTiempo.Text), km.tiempo_maps, Convert.ToInt32(ddlRuta.SelectedValue), Convert.ToDecimal(txtKmsPago.Text), Convert.ToDecimal(txtKmsCobro.Text), this._id_compania, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Obteniendo Registro idKilometraje = result.IdRegistro; //Instanciando Kilometraje Inverso using (SAT_CL.Global.Kilometraje kmsInv = SAT_CL.Global.Kilometraje.ObtieneKilometrajeInverso(result.IdRegistro)) { //Validando que Exista el Kilometraje if (kmsInv.id_kilometraje > 0) { //Editando Kilometraje result = kmsInv.EditaKilometraje(kmsInv.id_ubicacion_origen, kmsInv.id_ubicacion_destino, km.geo_ubicacion_origen, km.geo_ubicacion_destino, chkIndicador.Checked ? Convert.ToDecimal(txtKms.Text) : Convert.ToDecimal(txtKmsInv.Text), km.kms_maps, chkIndicador.Checked ? Convert.ToDecimal(txtTiempo.Text) : Convert.ToDecimal(txtTiempoInv.Text), km.tiempo_maps, Convert.ToInt32(ddlRuta.SelectedValue), Convert.ToDecimal(txtKmsInvPago.Text), Convert.ToDecimal(txtKmsInvCobro.Text), this._id_compania, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Instanciando 1er Kilometraje result = new RetornoOperacion(idKilometraje); //Completando Transacción trans.Complete(); } } } } } else { //Instanciando Excepción result = new RetornoOperacion("No se puede Acceder al Kilometraje"); } } } else { //Insertando Kilometraje result = SAT_CL.Global.Kilometraje.InsertaKilometraje(Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtUbicacionOrigen.Text, "ID:", 1)), Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtUbicacionDestino.Text, "ID:", 1)), SqlGeography.Null, SqlGeography.Null, Convert.ToDecimal(txtKms.Text), 0.00M, Convert.ToDecimal(txtTiempo.Text), 0.00M, Convert.ToInt32(ddlRuta.SelectedValue), Convert.ToDecimal(chkKmsPC.Checked ? txtKms.Text : txtKmsPago.Text), Convert.ToDecimal(chkKmsPC.Checked ? txtKms.Text : txtKmsCobro.Text), this._id_compania, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Insertando Kilometraje if (result.OperacionExitosa) { //Guardando 1er kilometraje idKilometraje = result.IdRegistro; //Insertando 2do Kilometraje result = SAT_CL.Global.Kilometraje.InsertaKilometraje(Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtUbicacionDestino.Text, "ID:", 1)), Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtUbicacionOrigen.Text, "ID:", 1)), SqlGeography.Null, SqlGeography.Null, chkIndicador.Checked ? Convert.ToDecimal(txtKms.Text) : Convert.ToDecimal(txtKmsInv.Text), 0.00M, chkIndicador.Checked ? Convert.ToDecimal(txtTiempo.Text) : Convert.ToDecimal(txtTiempoInv.Text), 0.00M, Convert.ToInt32(ddlRuta.SelectedValue), Convert.ToDecimal(chkKmsInvPC.Checked ? chkIndicador.Checked ? txtKms.Text : txtKmsInv.Text : txtKmsInvPago.Text), Convert.ToDecimal(chkKmsInvPC.Checked ? chkIndicador.Checked ? txtKms.Text : txtKmsInv.Text : txtKmsInvCobro.Text), this._id_compania, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Instanciando 1er Kilometraje result = new RetornoOperacion(idKilometraje); //Completando Transacción trans.Complete(); } } } } //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Obteniendo Kilometraje this._id_kilometraje = result.IdRegistro; //Inicializando Control de Usuario inicializaControlUsuario(this._id_kilometraje, this._id_compania, this._id_ubicacion_origen, this._id_ubicacion_destino); } //Mostrando Mensaje de la Operación lblError.Text = result.Mensaje; //Devolviendo Objeto de Retorno return(result); }
/// <summary> /// Método encargado de Inicializar el Control /// </summary> /// <param name="id_kilometraje">Kilometraje</param> /// <param name="id_compania">Compania Emisora</param> /// <param name="id_ubicacion_ori">Ubicación de Origen</param> /// <param name="id_ubicacion_dest">Ubicación de Destino</param> private void inicializaControlUsuario(int id_kilometraje, int id_compania, int id_ubicacion_ori, int id_ubicacion_dest) { //Invocando Carga de Catalogos cargaCatalogos(); //Asignando Atributos this._id_kilometraje = id_kilometraje; this._id_compania = id_compania; //Limpiando Control lblError.Text = ""; //Validando que Exista el Kilometraje if (this._id_kilometraje > 0) { //Instanciando Kilometraje using (SAT_CL.Global.Kilometraje km = new SAT_CL.Global.Kilometraje(id_kilometraje)) { //Validando que Exista el Kilometraje if (km.id_kilometraje > 0) { //Asignando Valores txtUbicacionOrigen.Text = obtieneDescripcionUbicacion(km.id_ubicacion_origen); txtUbicacionDestino.Text = obtieneDescripcionUbicacion(km.id_ubicacion_destino); txtKms.Text = km.kms_reales.ToString(); txtTiempo.Text = km.tiempo_real.ToString(); txtKmsMaps.Text = km.kms_maps.ToString(); txtTiempoMaps.Text = km.tiempo_maps.ToString(); //Kilometraje de Pago y Cobro txtKmsPago.Text = km.kms_pago.ToString(); txtKmsCobro.Text = km.kms_cobro.ToString(); //Asignando Ubicaciones OyD this._id_ubicacion_origen = km.id_ubicacion_origen; this._id_ubicacion_destino = km.id_ubicacion_destino; //Instanciando Kilometraje Inverso using (SAT_CL.Global.Kilometraje kmsInv = new SAT_CL.Global.Kilometraje(km.id_ubicacion_destino, km.id_ubicacion_origen, km.id_ruta, km.id_compania_emisor)) { //Validando que exista el Kilometraje if (kmsInv.id_kilometraje > 0) { //Kilometraje y Tiempo Real Inverso txtKmsInv.Text = kmsInv.kms_reales.ToString(); txtTiempoInv.Text = kmsInv.tiempo_real.ToString(); //Kilometraje de Pago y Cobro del Kms Inverso txtKmsInvPago.Text = kmsInv.kms_pago.ToString(); txtKmsInvCobro.Text = kmsInv.kms_cobro.ToString(); } else { //Kilometraje y Tiempo Real Inverso txtKmsInv.Text = txtTiempoInv.Text = //Kilometraje de Pago y Cobro del Kms Inverso txtKmsInvPago.Text = txtKmsInvCobro.Text = "0.00"; } } } } } else { //Invocando Método de Limpieza limpiaControles(); //Asignando Valores txtUbicacionOrigen.Text = obtieneDescripcionUbicacion(id_ubicacion_ori); txtUbicacionDestino.Text = obtieneDescripcionUbicacion(id_ubicacion_dest); //Validando que Exista una Ubicación if (txtUbicacionOrigen.Text != "") { //Asignando Ubicación Origen this._id_ubicacion_origen = id_ubicacion_ori; } else { //Quitando Ubicación Origen this._id_ubicacion_origen = 0; } //Validando que Exista una Ubicación if (txtUbicacionDestino.Text != "") { //Asignando Ubicación Destino this._id_ubicacion_destino = id_ubicacion_dest; } else { //Quitando Ubicación Origen this._id_ubicacion_destino = 0; } } //Configurando Controles chkIndicador.Checked = chkKmsPC.Checked = chkKmsInvPC.Checked = true; //Invocando Métodos de Configuración configuraControlesIndicador(true); configuraKilometrajesPC(); configuraKilometrajesInvPC(); }