public bool Actualizar(BE_LOG_COMPRAS entCabecera, List <BE_LOG_COMPRASDET> lstDetalle, List <BE_LOG_COMPRASDOC> lstDocumentos) { bool b_result = false; MySqlTransaction trans; int n_Fila = 0; trans = mysConec.BeginTransaction(); try { if (entCabecera.n_idtipdoc == 8) { DataTable dtresult = new DataTable(); CD_log_compras o_compras = new CD_log_compras(); double n_valorinc = 0; double n_salfac = 0; // TRAEMOS LOS DATOS DE LA NOTA DE CREDITO QUE SE ESTA ACTUALIZADO o_compras.mysConec = mysConec; o_compras.TraerRegistro(Convert.ToInt32(entCabecera.n_id)); dtresult = o_compras.dtRegistro; n_valorinc = Convert.ToDouble(dtresult.Rows[0]["n_imptotcom"]); // EL IMPORTE ORIGINAL DE LA NOTA DE CREDITO // TRAEMOS EL DOCUMENTO QUE SE NODIFICA int n_iddocventa = Convert.ToInt32(dtresult.Rows[0]["n_iddocmod"]); // OBTENEMOS EL ID DEL DOCUMENTO QUE SE MODIFICA o_compras.TraerRegistro(n_iddocventa); dtresult = o_compras.dtRegistro; n_salfac = Convert.ToDouble(dtresult.Rows[0]["n_impsal"]); n_salfac = n_salfac + n_valorinc; string[,] arrParam1 = new string[3, 3] { { "n_idreg", "System.INT32", n_iddocventa.ToString() }, { "n_importe", "System.DOUBLE", n_salfac.ToString() }, { "n_tipo", "System.DOUBLE", "1" } }; if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo", arrParam1, mysConec) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } // ACTUALIZAMOS EL ESTADO DE LOS DOCUMENTOS ASIGNADOS A NO PROCESADO CD_alm_movimientos objMov = new CD_alm_movimientos(); objMov.mysConec = mysConec; if (TraerRegistro(entCabecera.n_id) == true) { if (dtListaDoc.Rows.Count != 0) { for (n_Fila = 0; n_Fila <= dtListaDoc.Rows.Count - 1; n_Fila++) { if (objMov.ActualizarDocCompra(Convert.ToInt32(dtListaDoc.Rows[n_Fila]["n_iddoc"]), 0, 0) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } } } if (xMiFuncion.StoreEjecutar("log_compras_actualizar", entCabecera, mysConec, null) == true) { // ACTUALIZAMOS EL SALDO DE LA FACTURA QUE SE MODIFICA if (entCabecera.n_idtipdoc == 8) { //BE_LOG_COMPRAS e_compras = new BE_LOG_COMPRAS(); DataTable dtres = new DataTable(); CD_log_compras o_compras = new CD_log_compras(); double n_salfac = 0; o_compras.mysConec = mysConec; // TRAEMOS EL DOCUMENTO QUE SE NODIFICA int n_iddocventa = entCabecera.n_iddocmod; // OBTENEMOS EL ID DEL DOCUMENTO QUE SE MODIFICA o_compras.TraerRegistro(n_iddocventa); dtres = o_compras.dtRegistro; n_salfac = Convert.ToDouble(dtres.Rows[0]["n_impsal"]); n_salfac = n_salfac - entCabecera.n_imptotcom; string[,] arrParam1 = new string[3, 3] { { "n_idreg", "System.INT32", n_iddocventa.ToString() }, { "n_importe", "System.DOUBLE", n_salfac.ToString() }, { "n_tipo", "System.INT32", "2" } }; if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo", arrParam1, mysConec) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } // ELIMINAMOS LOS ITEMS PREVIOS string[,] arrParametros = new string[1, 3] { { "n_idcom", "System.INT64", entCabecera.n_id.ToString() } }; // ADICIONAMOS EL DETALLE DE LA COMPRA if (xMiFuncion.StoreEjecutar("log_comprasdet_delete", arrParametros, mysConec) == true) { // SI LOS ITEMS SE ELIMINARON CON EXITO INSERTAMOS LOS NUEVOS ITEMS for (n_Fila = 0; n_Fila <= lstDetalle.Count - 1; n_Fila++) { lstDetalle[n_Fila].n_idcom = Convert.ToInt32(entCabecera.n_id); if (xMiFuncion.StoreEjecutar("log_comprasdet_insertar", lstDetalle[n_Fila], mysConec, null) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } } else { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } // ADICIONAMOS LOS DOCUMENTOS DE LA COMPRA if (xMiFuncion.StoreEjecutar("log_comprasdoc_delete", arrParametros, mysConec) == true) { // SI LOS DOCUMENTOS DE LA COMPRA for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++) { lstDocumentos[n_Fila].n_idcom = Convert.ToInt32(entCabecera.n_id); if (xMiFuncion.StoreEjecutar("log_comprasdoc_insertar", lstDocumentos[n_Fila], mysConec, null) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } } else { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } // ACTUALIZAMOS LOS DOCUMENTOS ASIGNADOS A LA COMPRA if (lstDocumentos.Count != 0) { objMov.mysConec = mysConec; for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++) { if (objMov.ActualizarDocCompra(lstDocumentos[n_Fila].n_iddoc, entCabecera.n_id, 1) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } } if (entCabecera.n_idtipdoc == 8) // SI ES NOTA DE CREDITO { } } else { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } b_result = true; trans.Commit(); return(b_result); } catch (Exception exc) { // SI SUCEDE UN ERROR DEVOLVEMOS FALSO b_ocurrioError = true; c_ErrorMensaje = exc.Message.ToString(); n_ErrorNumber = exc.HResult; trans.Rollback(); return(b_result); } }
public bool Insertar(BE_LOG_COMPRAS entCabecera, List <BE_LOG_COMPRASDET> lstDetalle, List <BE_LOG_COMPRASDOC> lstDocumentos) { bool b_result = false; MySqlTransaction trans; int n_Fila = 0; trans = mysConec.BeginTransaction(); try { if (xMiFuncion.StoreEjecutar("log_compras_insertar", entCabecera, mysConec, 0) == true) { // ACTUALIZAMOS EL SALDO DE LA FACTURA QUE SE MODIFICA if (entCabecera.n_idtipdoc == 8) { //BE_LOG_COMPRAS e_compras = new BE_LOG_COMPRAS(); DataTable dtres = new DataTable(); CD_log_compras o_compras = new CD_log_compras(); double n_salfac = 0; o_compras.mysConec = mysConec; // TRAEMOS EL DOCUMENTO QUE SE NODIFICA int n_iddocventa = entCabecera.n_iddocmod; // OBTENEMOS EL ID DEL DOCUMENTO QUE SE MODIFICA o_compras.TraerRegistro(n_iddocventa); dtres = o_compras.dtRegistro; n_salfac = Convert.ToDouble(dtres.Rows[0]["n_impsal"]); n_salfac = n_salfac - entCabecera.n_imptotcom; string[,] arrParam1 = new string[3, 3] { { "n_idreg", "System.INT32", n_iddocventa.ToString() }, { "n_importe", "System.DOUBLE", n_salfac.ToString() }, { "n_tipo", "System.INT32", "2" } }; if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo", arrParam1, mysConec) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } entCabecera.n_id = Convert.ToInt32(xMiFuncion.intIdGenerado); // GRABAMOS EL DETALLE DE LA COMPRA for (n_Fila = 0; n_Fila <= lstDetalle.Count - 1; n_Fila++) { lstDetalle[n_Fila].n_idcom = Convert.ToInt32(xMiFuncion.intIdGenerado); if (xMiFuncion.StoreEjecutar("log_comprasdet_insertar", lstDetalle[n_Fila], mysConec, null) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } // GRABAMOS LOS DOUMENTOS ASIGNADOS A LA COMPRA for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++) { lstDocumentos[n_Fila].n_idcom = Convert.ToInt32(xMiFuncion.intIdGenerado); if (xMiFuncion.StoreEjecutar("log_comprasdoc_insertar", lstDocumentos[n_Fila], mysConec, null) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } // ACTUALIZAMOS LOS DOCUMENTOS ASIGNADOS A LA COMPRA CD_alm_movimientos objMov = new CD_alm_movimientos(); objMov.mysConec = mysConec; for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++) { if (objMov.ActualizarDocCompra(lstDocumentos[n_Fila].n_iddoc, entCabecera.n_id, 1) == false) { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } } } else { b_ocurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(b_result); } n_IdGenerado = entCabecera.n_id; b_result = true; trans.Commit(); return(b_result); } catch (Exception exc) { // SI SUCEDE UN ERROR DEVOLVEMOS FALSO b_ocurrioError = true; c_ErrorMensaje = exc.Message.ToString(); n_ErrorNumber = exc.HResult; trans.Rollback(); return(b_result); } }