public int GuardarDesgloseCA(SolicitarFactFileNM solicitarFactFile) { UnidadNegocioKeys?unidadNegocio = UnidadNegocioKeys.AppWebs; OracleTransaction objTx = null; OracleConnection objConn = null; try { ExecuteConexionBegin(unidadNegocio.ToConnectionKey(), ref objTx, ref objConn); var result = GuardarDatosFacturacion(solicitarFactFile, objTx, objConn); if (solicitarFactFile.existeIdDatosFacturacion) { EliminarDetalleTarifa(solicitarFactFile, objTx, objConn); EliminarDetalleNoRecibos(solicitarFactFile, objTx, objConn); } GuardarDetalleTarifa(solicitarFactFile, objTx, objConn); GuardarDetalleNoRecibo(solicitarFactFile, objTx, objConn); objTx.Commit(); return(result); } catch (Exception ex) { objTx.Rollback(); throw ex; } }
public void GuardarArchivo(SolicitarFactFileNM solicitarFactFile, int idDatosFacturacion, int idUsuario) { // Protección if (solicitarFactFile.ArchivoList == null || solicitarFactFile.ArchivoList.Count == 0) { return; } // Invocación var spName = "APPWEBS.PKG_Desglose_CA.SP_INSERTAR_ARCHIVOS"; foreach (var archivo in solicitarFactFile.ArchivoList) { if (!archivo.IsValid) { continue; } AddParameter("pRutaArchivo", OracleDbType.NVarchar2, archivo.RutaArchivo); AddParameter("pNombreArchivo", OracleDbType.NVarchar2, archivo.NomArchivo); AddParameter("pExtensionArchivo", OracleDbType.NVarchar2, archivo.ExtArchivo); // (!) Item.ExtensionArchivo AddParameter("pIdDatosFacturacion", OracleDbType.Int32, idDatosFacturacion); AddParameter("pIdUsuWebCrea", OracleDbType.Int32, idUsuario); AddParameter("pUrlArchivo", OracleDbType.NVarchar2, archivo.UrlArchivo); ExecuteStoredProcedure(spName); } }
private void GuardarDetalleTarifa(SolicitarFactFileNM solicitarFactFile, OracleTransaction objTx, OracleConnection objConn) { // Protección if (solicitarFactFile.TarifaDetalleList == null || solicitarFactFile.TarifaDetalleList.Count == 0) { return; } // Invocación foreach (var tarifaDetalle in solicitarFactFile.TarifaDetalleList) { var spName = "APPWEBS.PKG_DESGLOSE_CA.SP_INSERTAR_TARIFA"; AddParameter("pCantidadADT", OracleDbType.Int32, tarifaDetalle.CantidadADT); AddParameter("pTarifaPorADT", OracleDbType.Decimal, tarifaDetalle.TarifaPorADT); AddParameter("pCatindadCHD", OracleDbType.Int32, tarifaDetalle.CantidadCHD); AddParameter("pTarifaPorCHD", OracleDbType.Decimal, tarifaDetalle.TarifaPorCHD); AddParameter("pCantidadINF", OracleDbType.Int32, tarifaDetalle.CantidadCHD); AddParameter("pTarifaPorINF", OracleDbType.Decimal, tarifaDetalle.TarifaINF); AddParameter("pIdDatosFacturacion", OracleDbType.Int32, tarifaDetalle.IdDatosFacturacion); AddParameter("pIdGrupoServicio", OracleDbType.Int32, tarifaDetalle.IdGrupoServicio); AddParameter("pMontoPorADT", OracleDbType.Decimal, tarifaDetalle.MontoPorADT); AddParameter("pMontoPorCHD", OracleDbType.Decimal, tarifaDetalle.MontoPorCHD); AddParameter("pMontoPorINF", OracleDbType.Decimal, tarifaDetalle.MontoPorINF); AddParameter("pGrupoServicio", OracleDbType.NVarchar2, tarifaDetalle.GrupoServicio); ExecuteStorePBeginCommit(spName, objTx, objConn); } }
private void EliminarDetalleNoRecibos(SolicitarFactFileNM solicitarFactFile, OracleTransaction objTx, OracleConnection objConn) { var spName = "APPWEBS.PKG_DESGLOSE_CA.SP_ELIMINAR_DETALLENORECIBOS"; AddParameter("pIdDatosFacturacion", OracleDbType.Int32, solicitarFactFile.iddatosfacturacion); ExecuteStorePBeginCommit(spName, objTx, objConn); }
private int GuardarDatosFacturacion(SolicitarFactFileNM solicitarFactFile, OracleTransaction objTx, OracleConnection objConn) { var spName = solicitarFactFile.existeIdDatosFacturacion ? "APPWEBS.PKG_DESGLOSE_CA.SP_ACTUALIZAR_DATOSFACTURACION" : "APPWEBS.PKG_DESGLOSE_CA.SP_INSERTAR_DATOSFACTURACION"; if (solicitarFactFile.existeIdDatosFacturacion) { AddParameter("pIdDatosFacturacion", OracleDbType.Int32, solicitarFactFile.iddatosfacturacion); } AddParameter("pEstado", OracleDbType.Int32, solicitarFactFile.estado); AddParameter("pDK", OracleDbType.NVarchar2, solicitarFactFile.dk); AddParameter("pSubCodigo", OracleDbType.NVarchar2, solicitarFactFile.subcodigo); AddParameter("pEjecutiva", OracleDbType.NVarchar2, solicitarFactFile.comisionista); // (!) Orig., model.Ejecutiva AddParameter("pNumfileNM", OracleDbType.NVarchar2, solicitarFactFile.numfilenm); AddParameter("pNumfileDM", OracleDbType.NVarchar2, solicitarFactFile.numfiledm); AddParameter("pCCB", OracleDbType.NVarchar2, solicitarFactFile.ccb); AddParameter("pRUC", OracleDbType.NVarchar2, string.Empty); // (!) Orig., model.RUC AddParameter("pRAZON", OracleDbType.NVarchar2, solicitarFactFile.razonsocial); AddParameter("pTipoDocumento", OracleDbType.NVarchar2, solicitarFactFile.tipodocidentidad); AddParameter("PDoc_Cid", OracleDbType.NVarchar2, string.Empty); AddParameter("pDOCUMENTO", OracleDbType.NVarchar2, solicitarFactFile.numdocidentidad); // (!) Orig., model.Documento AddParameter("pNombre", OracleDbType.NVarchar2, solicitarFactFile.nombre); AddParameter("pApellidoP", OracleDbType.NVarchar2, solicitarFactFile.apepaterno); AddParameter("pApellidoM", OracleDbType.NVarchar2, solicitarFactFile.apemateno); AddParameter("pOARippley", OracleDbType.NVarchar2, solicitarFactFile.oaripley); AddParameter("pMontoOA", OracleDbType.Decimal, solicitarFactFile.oamonto); AddParameter("pIdUsuario", OracleDbType.Int32, solicitarFactFile.idusuario); AddParameter("pCot_Id", OracleDbType.Int32, solicitarFactFile.cotid); AddParameter("pCampania", OracleDbType.NVarchar2, solicitarFactFile.campania); AddParameter("pCorreo", OracleDbType.NVarchar2, solicitarFactFile.correo); AddParameter("pBanco", OracleDbType.NVarchar2, solicitarFactFile.banco); AddParameter("pCantidadMillas", OracleDbType.NVarchar2, solicitarFactFile.cantidadmillas); AddParameter("pMontoMillas", OracleDbType.Decimal, solicitarFactFile.montomillas); AddParameter("pObservacion", OracleDbType.Clob, solicitarFactFile.observaciones); var idDatosFactura = string.Empty; if (solicitarFactFile.existeIdDatosFacturacion) { ExecuteStorePBeginCommit(spName, objTx, objConn); idDatosFactura = solicitarFactFile.iddatosfacturacion; } else { AddParameter("pNumId_out", OracleDbType.Int32, DBNull.Value, ParameterDirection.Output); ExecuteStorePBeginCommit(spName, objTx, objConn); idDatosFactura = GetOutParameter("pNumId_out").ToString(); } return(int.Parse(idDatosFactura)); }
private void GuardarDetalleNoRecibo(SolicitarFactFileNM solicitarFactFile, OracleTransaction objTx, OracleConnection objConn) { // Protección if (solicitarFactFile.ReciboDetalleList == null || solicitarFactFile.ReciboDetalleList.Count == 0) { return; } // Invocación foreach (var reciboDetalle in solicitarFactFile.ReciboDetalleList) { var spName = "APPWEBS.PKG_DESGLOSE_CA.SP_INSERTAR_NORECIBO"; AddParameter("pNoRecibo", OracleDbType.NVarchar2, reciboDetalle.NoRecibo); AddParameter("pMontoRecibo", OracleDbType.Decimal, reciboDetalle.MontoRecibo); AddParameter("pEstado", OracleDbType.Int32, 1); AddParameter("pIdSucursal", OracleDbType.Int32, reciboDetalle.IdSucursal); AddParameter("pIdDatosFacturacion", OracleDbType.Int32, reciboDetalle.IdDatosFacturacion); AddParameter("pSucursal", OracleDbType.NVarchar2, reciboDetalle.Sucursal); ExecuteStorePBeginCommit(spName, objTx, objConn); } }
public IHttpActionResult Read(SolicitarFactFileNM solicitarFactFileNM) { var codMessage = string.Empty; var exMessage = string.Empty; try { var usuarioLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(solicitarFactFileNM.idusuariosrv_SF); if (usuarioLogin != null && usuarioLogin.IdUsuario != solicitarFactFileNM.idusuariosrv_SF) { solicitarFactFileNM.idusuariosrv_SF = usuarioLogin.IdUsuario; } var result = _solicitarFactFileNMRepository.GuardarDesgloseCA(solicitarFactFileNM); if (solicitarFactFileNM.existeArchivoList) { _solicitarFactFileNMRepository.GuardarArchivo(solicitarFactFileNM, result, int.Parse(solicitarFactFileNM.idusuario)); } if (solicitarFactFileNM.existeIdDatosFacturacion) { var archivoList = _solicitarFactFileNMRepository.ObtenerArchivos(solicitarFactFileNM.iddatosfacturacion); } var textoPost = TemplateHtml(solicitarFactFileNM); if (solicitarFactFileNM.enviarCA) { var objOficina = _datosOficina.ObtieneOficinaXId(usuarioLogin.IdOfi); if (_solicitarFactFileNMRepository.EsAreaCounterPresencial(usuarioLogin.IdOfi, usuarioLogin.IdDep, objOficina.bolEsRipley)) { _cotizSrvRepository._Liberar_UsuWeb_CA(solicitarFactFileNM.intCotId); } _cotizSrvRepository.Inserta_Post_Cot( solicitarFactFileNM.intCotId, "1", textoPost, "127.0.0.0", usuarioLogin.LoginUsuario, usuarioLogin.IdUsuario, usuarioLogin.IdDep, usuarioLogin.IdOfi, null, null, Constantes_SRV.INT_ID_ESTADO_COT_DERIVADO_A_CA, true, null, false, null, false, usuarioLogin.IdUsuario, usuarioLogin.IdOfi, usuarioLogin.IdDep, null, null, null, null, null ); } codMessage = "OK"; exMessage = "El proceso se realizó con éxito"; return(Ok(new { Codigo = codMessage, Mensaje = exMessage })); } catch (Exception ex) { codMessage = "ER"; exMessage = ex.Message; return(Ok(new { Codigo = codMessage, Mensaje = exMessage })); } finally { (new { Request = solicitarFactFileNM, Response = new { Codigo = codMessage, Mensaje = exMessage } }).TryWriteLogObject(_logFileManager, _clientFeatures); } }
private string TemplateHtml(SolicitarFactFileNM solicitarFactFileNM) { try { var str = GenerarHtmlByRender(@"~/App_Data/TemplateDesglose.html"); str = str.Replace("[DK]", solicitarFactFileNM.dk); str = str.Replace("[campania]", solicitarFactFileNM.campania); str = str.Replace("[SubCodigo]", solicitarFactFileNM.subcodigo); //.Replace("[Ejecutiva]", solicitarFactFileNM.ejecutiva) str = str.Replace("[NumFileNM]", solicitarFactFileNM.numfilenm); str = str.Replace("[NumFileDM]", solicitarFactFileNM.numfiledm); str = str.Replace("[CCB]", solicitarFactFileNM.ccb); //.Replace("[Ruc]", solicitarFactFileNM.ruc); str = str.Replace("[Razon]", solicitarFactFileNM.razonsocial); str = str.Replace("[Correo]", solicitarFactFileNM.correo); str = str.Replace("[TipoDocum]", solicitarFactFileNM.tipodocidentidad); //.Replace("[Descripcion_Doc_Cid]", solicitarFactFileNM.Descripcion_Doc_Cid); str = str.Replace("[Documento]", solicitarFactFileNM.numdocidentidad); str = str.Replace("[Nombre]", solicitarFactFileNM.nombre); str = str.Replace("[ApellidoP]", solicitarFactFileNM.apepaterno); str = str.Replace("[ApellidoM]", solicitarFactFileNM.apemateno); str = str.Replace("[OaRipley]", solicitarFactFileNM.oaripley); str = str.Replace("[MontoOA]", solicitarFactFileNM.oamonto); str = str.Replace("[Banco]", solicitarFactFileNM.banco); str = str.Replace("[CantidadMillas]", solicitarFactFileNM.cantidadmillas); str = str.Replace("[MontoMillas]", solicitarFactFileNM.montomillas); // Template Detalles de N° Recibo StringBuilder sbPostsRC = new StringBuilder(); if (!(solicitarFactFileNM.ReciboDetalleList == null || solicitarFactFileNM.ReciboDetalleList.Count == 0)) { foreach (var reciboDetalle in solicitarFactFileNM.ReciboDetalleList) { sbPostsRC.Append( "<tr>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + reciboDetalle.Sucursal + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + reciboDetalle.NoRecibo + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", reciboDetalle.MontoRecibo) + "</td>" + "</tr>"); } } str = str.Replace("[trContentRC]", sbPostsRC.ToString()); var sbPostsDTF = new StringBuilder(); var montoTotalADT = new double(); var montoTotalCHD = new double(); var montoTotalINF = new double(); if (!(solicitarFactFileNM.TarifaDetalleList == null || solicitarFactFileNM.TarifaDetalleList.Count == 0)) { foreach (var tarifaDetalle in solicitarFactFileNM.TarifaDetalleList) { sbPostsDTF.Append( "<tr>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + tarifaDetalle.GrupoServicio + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + tarifaDetalle.CantidadADT + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", tarifaDetalle.MontoPorADT) + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + tarifaDetalle.CantidadCHD + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", tarifaDetalle.MontoPorCHD) + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + tarifaDetalle.CantidadINF + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", tarifaDetalle.MontoPorINF) + "</td>" + "</tr>"); montoTotalADT += tarifaDetalle.MontoPorADT; montoTotalCHD += tarifaDetalle.MontoPorCHD; montoTotalINF += tarifaDetalle.MontoPorINF; } } sbPostsDTF.Append( "<tr>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'><strong>Total</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210);'><strong>" + string.Format("{0:0.00}", montoTotalADT) + "</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210);'><strong>" + string.Format("{0:0.00}", montoTotalCHD) + "</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210);'><strong>" + string.Format("{0:0.00}", montoTotalINF) + "</strong></td>" + "</tr>"); string strMontoaCobrar = string.Format("{0:0.00}", (montoTotalADT + montoTotalCHD + montoTotalINF)); sbPostsDTF.Append( "<tr>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; color:#BC0606;'><strong>Total a Cobrar</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong>" + "$" + strMontoaCobrar + "</strong></td>" + "</tr>"); str = str.Replace("[trContentDTF]", sbPostsDTF.ToString()); /// Template Archivos var sbPostsArchivos = new StringBuilder(); var archivoList = solicitarFactFileNM.ArchivoList; if (!(archivoList == null || archivoList.Count == 0)) { foreach (var objArchivos in archivoList) { sbPostsArchivos.Append( "<tr>" + "<td>" + "<span style='font-size: 8pt; font-family: Arial; width:130px;'>" + "<p>" + "<div style='width:130px;'>" + "<a class='dowloandarchivo' data-rutaarchivo='" + objArchivos.RutaArchivo + "' data-nombrearchivo='" + objArchivos.NomArchivo + "' href='" + objArchivos.UrlArchivo + "'>" + objArchivos.NomArchivo + "</a>" + "</div>" + "</p>" + "</span>" + "</td>" + "</tr>"); } str = str.Replace("[Archivos]", sbPostsArchivos.ToString()); } else { str = str.Replace("[Archivos]", string.Empty); } return(str); } catch (Exception ex) { throw ex; } }