//private FormatosDocumentos formatoFactura=new FormatosDocumentos(); public ProcesoPostventa(ProcesosPostventa tProceso, string kitO, string vVIN, string vplaca, DataTable dtOpers, DataTable dtReps, string prefijoF, UInt32 numeroF, string prefijoOA, UInt32 numeroOA, string fechaF, string fechaP, string nitDist, string nitProp, string nomProp, string telProp, string dirProp, string celProp, string ciuProp, string obsCliente, string obsTaller, UInt32 kmtrj, bool pagaF) { tipoProceso = tProceso; kit = kitO; VIN = vVIN; placa = vplaca; prefijoFactura = prefijoF; numeroFactura = numeroF; dtOperaciones = dtOpers; dtRepuestos = dtReps; fechaFactura = fechaF; fechaProceso = fechaP; prefijoOrdenAsociada = prefijoOA; numeroOrdenAsociada = numeroOA; nitDistribuidor = nitDist; observCliente = obsCliente; observTaller = obsTaller; kilometraje = kmtrj; pagaFabrica = pagaF; nitPropietario = nitProp; nombrePropietario = nomProp; direccionPropietario = dirProp; telefonoPropietario = telProp; ciudadPropietario = ciuProp; celularPropietario = celProp; }
//Guardar proceso protected void Aceptar(object sender, EventArgs e) { string proceso = ViewState["PROCESO"].ToString(); string concesionario = ViewState["CONCESIONARIO"].ToString(); string nitDistribuidor = ViewState["DISTRIBUIDOR"].ToString(); string nitPropietario = txtNITPropietario.Text; string prefOrdenA; ArrayList sqlA = new ArrayList(); DataTable dtOperaciones = (DataTable)ViewState["OPERACIONES"]; DataTable dtRepuestos = (DataTable)ViewState["REPUESTOS"]; UInt32 numfactura, kilom, numOrdenA; bool pagaFabrica = false; string errores = ""; #region Validaciones //Distribuidor if (concesionario == "P") { nitDistribuidor = txtNitDistribuidor.Text; } errores = SeleccionarOperaciones(dgrKitsMantenimientoOperaciones, dtOperaciones) + SeleccionarRepuestos(dgrKitsMantenimientoRepuestos, dtRepuestos); if (errores.Length > 0) { Utils.MostrarAlerta(Response, "" + errores + ""); return; } //Validaciones if (nitPropietario.Length == 0) { Utils.MostrarAlerta(Response, "Debe ingresar el propietario."); return; } if (nitDistribuidor.Length == 0) { Utils.MostrarAlerta(Response, "Debe seleccionar el distribuidor."); return; } if (proceso != "G" && ddlMantenimiento.SelectedValue.Length == 0) { Utils.MostrarAlerta(Response, "Debe seleccionar el mantenimiento programado."); return; } try{ Convert.ToDateTime(txtFechaProceso.Text); } catch { Utils.MostrarAlerta(Response, "Debe ingresar la fecha del proceso en el formato correcto."); return; } try { Convert.ToDateTime(txtFechaFact.Text); } catch { Utils.MostrarAlerta(Response, "Debe ingresar la fecha de facturación en el formato correcto."); return; } try { numfactura = Convert.ToUInt32(txtNumFactura.Text); } catch { Utils.MostrarAlerta(Response, "Número de factura no válido."); return; } if (proceso == "A") { prefOrdenA = txtPrefFactura.Text; numOrdenA = numfactura; } else { try { prefOrdenA = txtPrefOrdenProc.Text; numOrdenA = Convert.ToUInt32(txtNumOrdenProc.Text); } catch { Utils.MostrarAlerta(Response, "Número de factura de concesionario no válido."); return; } } try { kilom = Convert.ToUInt32(txtKilometraje.Text.Replace(",", "")); if (kilom < 1 && proceso != "A") { Utils.MostrarAlerta(Response, "El Kilometraje es Obligatorio."); return; } } catch { Utils.MostrarAlerta(Response, "Kilometraje no válido."); return; } if (txtPlaca.Text != txtPlaca.Text.ToUpper()) { Utils.MostrarAlerta(Response, "Debe ingresar la placa en letras mayúsculas."); return; } if (proceso == "R") { pagaFabrica = (DBFunctions.SingleData("SELECT PMAN_PAGAFABRICA FROM PMANTENIMIENTOPROGRAMADO WHERE PGRU_CODIGO='" + ViewState["GRUPO_CATALOGO"] + "' AND PKIT_CODIGO='" + ddlMantenimiento.SelectedValue + "';") == "S")?true:false; } else if (proceso == "A") { pagaFabrica = (DBFunctions.SingleData("SELECT CS.CTAL_PAGAALIST FROM CTALLER CS;") == "S")?true:false; } else { pagaFabrica = true; } ViewState["OPERACIONES"] = dtOperaciones; dgrKitsMantenimientoOperaciones.DataSource = dtOperaciones; dgrKitsMantenimientoOperaciones.DataBind(); ViewState["REPUESTOS"] = dtRepuestos; dgrKitsMantenimientoRepuestos.DataSource = dtRepuestos; dgrKitsMantenimientoRepuestos.DataBind(); if (dtOperaciones.Rows.Count == 0 || dtOperaciones.Select("USAR=1").Length == 0) { Utils.MostrarAlerta(Response, "No seleccionó ningúna operación de la lista de chequeo."); return; } #endregion Validaciones ProcesosPostventa procP = ProcesosPostventa.Ninguno; if (proceso == "A") { procP = ProcesosPostventa.Alistamiento; } else if (proceso == "R") { procP = ProcesosPostventa.Revision; } else if (proceso == "G") { procP = ProcesosPostventa.Garantia; } ProcesoPostventa als1 = new ProcesoPostventa(procP, ddlMantenimiento.SelectedValue, txtVINVehiculo.Text, txtPlaca.Text.Trim(), dtOperaciones, dtRepuestos, txtPrefFactura.Text, numfactura, prefOrdenA, numOrdenA, txtFechaFact.Text, txtFechaProceso.Text, nitDistribuidor, nitPropietario, txtNITPropietarioa.Text, txtNITPropietarioc.Text, txtNITPropietariob.Text, txtNITPropietariod.Text, txtNITPropietarioe.SelectedValue, txtObservacionesCliente.Text, txtObservacionesTaller.Text, kilom, pagaFabrica); string resultado = als1.Ejecutar(); if (resultado.Length == 0) { Response.Redirect(indexPage + "?process=Vehiculos.ProcesosPostventa&path=" + Request.QueryString["path"] + "&prc=" + proceso + "&pO=" + als1.prefijoOrden + "&nO=" + als1.numeroOrden + "&cnc=" + concesionario); } else { Utils.MostrarAlerta(Response, "Revise los errores reportados en la parte inferior."); lblError.Text = "Errores: <br>" + resultado; } }