//Autorizar public string Autorizar(ref string strFormatos) { ArrayList arrSql = new ArrayList(); string estado = (autorizar == "N")?"F":"A"; double valorTransSinIva = 0; idGarantia = ""; arrSql.Add("INSERT INTO MGARANTIAAUTORIZACION VALUES(" + "DEFAULT,'" + prefOrden + "'," + numOrden + ",'" + fechaProceso.ToString("yyyy-MM-dd") + "','" + nitConcesionario + "','" + personaSolicita + "','" + vendedor + "','" + autorizar + "','" + VIN + "','" + observacionG + "','" + observacionR + "');"); arrSql.Add("UPDATE MORDENPOSTVENTA SET MGAR_NUMERO=IDENTITY_VAL_LOCAL() " + "WHERE PDOC_CODIGO='" + prefOrden + "' AND MORD_NUMEORDE=" + numOrden + ";"); if (autorizar == "N") { arrSql.Add("UPDATE MORDEN SET TEST_ESTADO='F' " + "WHERE PDOC_CODIGO='" + prefOrden + "' AND MORD_NUMEORDE=" + numOrden + ";"); } string estadoA = ""; double valA = 0, valM = 0; for (int i = 0; i < dtOperaciones.Rows.Count; i++) { if (Convert.ToInt16(dtOperaciones.Rows[i]["usar"]) == 1) { estadoA = "C"; } else { estadoA = "X"; } if (autorizar == "N") { estadoA = "X"; } arrSql.Add("UPDATE dordenoperacion SET TEST_ESTADO='" + estadoA + "' " + "WHERE PDOC_CODIGO='" + dtOperaciones.Rows[i]["PDOC_CODIGO"].ToString() + "' AND MORD_NUMEORDE=" + dtOperaciones.Rows[i]["MORD_NUMEORDE"].ToString() + " AND PTEM_OPERACION='" + dtOperaciones.Rows[i]["PTEM_OPERACION"].ToString() + "';"); } for (int i = 0; i < dtRepuestos.Rows.Count; i++) { valM = Convert.ToDouble(dtRepuestos.Rows[i]["precio"]) * Convert.ToDouble(dtRepuestos.Rows[i]["cantidad"]); valA = Convert.ToDouble(dtRepuestos.Rows[i]["valaprueba"]); if (autorizar == "N") { valA = 0; } if (valA == 0) { estadoA = "X"; } else { if (valA == valM) { estadoA = "C"; valorTransSinIva += valM; } else { estadoA = "P"; } } arrSql.Add("UPDATE dordenitemspostventa SET TEST_ESTADO='" + estadoA + "', MITE_VALAPROB = " + valA + " " + "WHERE PDOC_CODIGO='" + dtRepuestos.Rows[i]["PDOC_CODIGO"].ToString() + "' AND MORD_NUMEORDE=" + dtRepuestos.Rows[i]["MORD_NUMEORDE"].ToString() + " AND MITE_CODIGO='" + dtRepuestos.Rows[i]["MITE_CODIGO"].ToString() + "';"); } if (autorizar != "N" && valorTransSinIva > 0) { DataSet dsPostventa = new DataSet(); DBFunctions.Request(dsPostventa, IncludeSchema.NO, "SELECT * FROM CPOSTVENTA;"); DataRow drPostventa = dsPostventa.Tables[0].Rows[0]; DateTime fechaEntrada = Convert.ToDateTime(DBFunctions.SingleData("SELECT mord_entrada from morden where PDOC_CODIGO='" + prefOrden + "' and MORD_NUMEORDE=" + numOrden + ";")); uint numeroPedido = Convert.ToUInt32(DBFunctions.SingleData("SELECT pped_ultipedi + 1 FROM ppedido WHERE pped_codigo='" + drPostventa["PPED_CODIGO"].ToString() + "'")); while (DBFunctions.RecordExist("SELECT * FROM mpedidoitem WHERE pped_codigo='" + drPostventa["PPED_CODIGO"].ToString() + "' AND mped_numepedi=" + numeroPedido + "")) { numeroPedido += 1; } uint numeroDocumentoTransferencia = Convert.ToUInt32(DBFunctions.SingleData("SELECT pdoc_ultidocu+1 FROM pdocumento WHERE pdoc_codigo='" + drPostventa["PDOC_CODITRANS"].ToString() + "'")); while (DBFunctions.RecordExist("SELECT * FROM mfacturacliente WHERE pdoc_codigo='" + drPostventa["PDOC_CODITRANS"].ToString() + "' AND mfac_numedocu=" + numeroDocumentoTransferencia + "")) { numeroDocumentoTransferencia += 1; } PedidoFactura miPedido = new PedidoFactura("T", drPostventa["PPED_CODIGO"].ToString(), drPostventa["MNIT_NITTRANS"].ToString(), drPostventa["PALM_ALMACENTRANS"].ToString(), numeroPedido, prefOrden, numOrden, "C", fechaEntrada, observacionR, 0, new String[0], vendedor, drPostventa["PDOC_CODITRANS"].ToString(), numeroDocumentoTransferencia, "G", 0, 0, valorTransSinIva, valorTransSinIva); for (int i = 0; i < dtRepuestos.Rows.Count; i++) { valM = Convert.ToDouble(dtRepuestos.Rows[i]["precio"]) * Convert.ToDouble(dtRepuestos.Rows[i]["cantidad"]); valA = Convert.ToDouble(dtRepuestos.Rows[i]["valaprueba"]); if (valA > 0 && valA == valM) { miPedido.InsertaFila(dtRepuestos.Rows[i]["mite_codigo"].ToString(), Convert.ToDouble(dtRepuestos.Rows[i]["cantidad"]), Convert.ToDouble(dtRepuestos.Rows[i]["precio"]), 0, 0, Convert.ToDouble(dtRepuestos.Rows[i]["cantidad"]), "", ""); } } miPedido.RealizarPedFac(false); for (int j = 0; j < miPedido.SqlStrings.Count; j++) { arrSql.Add(miPedido.SqlStrings[j].ToString()); } strFormatos += "&tipoPED=" + drPostventa["PPED_CODIGO"].ToString() + "&numPED=" + numeroPedido; strFormatos += "&prefTRA=" + drPostventa["PDOC_CODITRANS"].ToString() + "&numTRA=" + numeroDocumentoTransferencia; } if (DBFunctions.Transaction(arrSql)) { idGarantia = DBFunctions.SingleData("SELECT MAX(MGAR_NUMERO) FROM MGARANTIAAUTORIZACION;"); return(""); } else { return(DBFunctions.exceptions); } }