private RequestApiBoleta ObtenerDataComprobante(CEN_DataVenta requestData, CENRespVenta respuesta, string tipoOperacion) { RequestApiBoleta data = new RequestApiBoleta(); CENApiNC obj = new CENApiNC(); CADNotaCredito cadNotaCredito = new CADNotaCredito(); try { obj = cadNotaCredito.obtenerDatosSunat(respuesta.venta, CENConstante.g_const_0, respuesta.venta); data.tipoOperacion = tipoOperacion; data.tipoDoc = obj.tipoDoc; data.serie = respuesta.serie; data.correlativo = respuesta.nroDocumento.ToString(); data.fechaEmision = obj.fechaEmision; data.tipoMoneda = obj.tipoMoneda; data.mtoOperGravadas = obj.mtoOperGravadas; data.mtoIGV = obj.mtoIGV; data.totalImpuestos = obj.totalImpuestos; data.mtoImpVenta = obj.mtoImpVenta; data.ublVersion = obj.ublVersion; data.valorVenta = data.mtoImpVenta / 1.18; data.valorVenta = Math.Round(data.valorVenta, CENConstante.g_const_2); //returns 1.99 //Cliente data.client = obj.client; /* * data.client.tipoDoc = "1"; * data.client.numDoc = "77388057"; * data.client.address.direccion = "DIRECCION"; */ //Empresa data.company = obj.company; /* * data.company.address.direccion = "DIRECCION EMPRESA"; * data.company.ruc = "10773880579"; * data.company.razonSocial = "RAZON SOCIAL EMPRESA"; */ //DATA DE DETALLE data.details = obj.details; //DATA DE LEGENDS data.legends = new List <CENLegends>(); CLNProcesosGenerales pg = new CLNProcesosGenerales(); CENLegends legend = new CENLegends(); legend.value = pg.convertirALetras(obj.mtoImpVenta.ToString()); legend.code = CENConstante.g_const_1000.ToString(); data.legends.Add(legend); } catch (Exception ex) { } return(data); }
public static CENRespVenta RegistrarVenta(int codPreventa, int codCliente, int codVendedor, string fechPag, int tipoVenta, int tipoMoneda, double recargo, double IGV, double total, int sucursal, int tipoDocumentoVenta, int codPuntoEntrega) { CLN_Venta clnVenta = new CLN_Venta(); CLNConcepto clnConcepto = new CLNConcepto(); CLNConsultas consulta = new CLNConsultas(); CENRespVenta respuesta = new CENRespVenta(); try { respuesta = clnVenta.RegistrarVenta(codPreventa, codCliente, codVendedor, fechPag, tipoVenta, tipoMoneda, recargo, IGV, total, sucursal, tipoDocumentoVenta, codPuntoEntrega); } catch (Exception ex) { //throw ex; respuesta.flag = -1; respuesta.venta = 0; respuesta.msje = clnConcepto.obtener_descripcion_concepto(CENConstante.g_const_100, CENConstante.g_const_1046); } return(respuesta); }
public CENRespVenta RegistrarVenta(int codPreventa, int codCliente, int codVendedor, string fechPag, int tipoVenta, int tipoMoneda, double recargo, double IGV, double total, int sucursal, int tipoDocumentoVenta, int codPuntoEntrega) { CENRespVenta respuesta = new CENRespVenta(); CADVenta cad_venta = new CADVenta(); CEN_DataVenta requestData = new CEN_DataVenta(); RequestApiBoleta dataApi = new RequestApiBoleta(); CLNConexionServicio conServicio = new CLNConexionServicio(); ResponseApi responseApi = new ResponseApi(); int estadoSUNAT = CENConstante.g_const_0; string tramaSUNAT = CENConstante.g_const_vacio; try { requestData = LlenarDataVenta(codPreventa, codCliente, codVendedor, fechPag, tipoVenta, tipoMoneda, recargo, IGV, total, sucursal, tipoDocumentoVenta, codPuntoEntrega); respuesta = cad_venta.registrarVenta(requestData); if (respuesta.venta > CENConstante.g_const_0) { //Registro de comprobante sunat CLNComprobanteSunat comprobante = new CLNComprobanteSunat(); CENComprobSunat dataComprob = new CENComprobSunat(); int codigoComprob = CENConstante.g_const_0; string trama = CENConstante.g_const_vacio; dataComprob.codModulo = CENConstante.g_const_1; dataComprob.codTransaccion = respuesta.venta; dataComprob.tipDocSunat = CENConstante.g_const_1; dataComprob.tipDocVenta = requestData.tipoVenta; dataComprob.estado = CENConstante.g_const_1; dataComprob.usuario = requestData.usuario; dataComprob.ip = CENConstante.g_const_vacio; dataComprob.mac = CENConstante.g_const_vacio; //AGREGAR TRAMA PARA COMPROBANTE if (requestData.tipoDocumentoVenta == CENConstante.g_const_1) { //Boleta dataApi = ObtenerDataComprobante(requestData, respuesta, "0101"); trama = JsonConvert.SerializeObject(dataApi); } else if (requestData.tipoDocumentoVenta == CENConstante.g_const_2) { //Factura dataApi = ObtenerDataComprobante(requestData, respuesta, "0101"); trama = JsonConvert.SerializeObject(dataApi); } dataComprob.tramEntrada = trama; codigoComprob = comprobante.RegistrarComprobSunat(dataComprob); if (codigoComprob > CENConstante.g_const_0) { //ENVIO A LA SUNAT responseApi = conServicio.RegistrarBoleta(dataApi); tramaSUNAT = JsonConvert.SerializeObject(responseApi); if (responseApi.sunatResponse.success) { //ACTUALIZAR COMPROBANTE DE LA SUNAT estadoSUNAT = CENConstante.g_const_1; } else { //ACTUALIZAR COMPROBANTE DE LA SUNAT estadoSUNAT = CENConstante.g_const_2; } /* * if (requestData.tipoDocumentoVenta == CENConstante.g_const_1) * { * //Boleta * responseApi= conServicio.RegistrarBoleta(dataApi); * tramaSUNAT = JsonConvert.SerializeObject(responseApi); * if (responseApi.sunatResponse.success) * { * //ACTUALIZAR COMPROBANTE DE LA SUNAT * estadoSUNAT = CENConstante.g_const_1; * } * else * { * //ACTUALIZAR COMPROBANTE DE LA SUNAT * estadoSUNAT = CENConstante.g_const_2; * } * * } * else if (requestData.tipoDocumentoVenta == CENConstante.g_const_2) * { * //Factura * * } */ comprobante.ActualizarComprobSunat(codigoComprob, tramaSUNAT, estadoSUNAT); } } } catch (Exception ex) { throw ex; } return(respuesta); }
public CENRespVenta registrarVenta(CEN_DataVenta data) { //DESCRIPCION: REGISTRAR VENTA CENRespVenta respuesta = new CENRespVenta(); SqlDataReader dr; //data reader CADConexion conector = new CADConexion(); // Conexión CAD_Consulta consulta = new CAD_Consulta(); try { string listaCuotas = ObjectToXMLGeneric <List <CENCronograma> >(data.listCuotas); string prestamo = ObjectToXMLGeneric <CENPrestamo>(data.prestamo); string cuentaCobro = ObjectToXMLGeneric <CEN_CuentaCobro>(data.cuentaCobro); using (Connection = new SqlConnection(conector.CxSQL())) { conector.AbrirConexion(Connection); using (SqlCommand Command = new SqlCommand("pa_registrar_venta", Connection)) { Command.CommandType = CommandType.StoredProcedure; //Command.Parameters.Add("@p_serie", SqlDbType.VarChar,CENConstante.g_const_20).Value = data.serie; //Command.Parameters.Add("@p_nroDocumento", SqlDbType.Int).Value = data.nroDocumento; Command.Parameters.Add("@p_tipoPago", SqlDbType.SmallInt).Value = data.tipoPago; Command.Parameters.Add("@p_codPreventa", SqlDbType.Int).Value = data.codPreventa; Command.Parameters.Add("@p_codCliente", SqlDbType.Int).Value = data.codCliente; Command.Parameters.Add("@p_codVendedor", SqlDbType.Int).Value = data.codVendedor; Command.Parameters.Add("@p_fechaTransaccion", SqlDbType.Date).Value = data.fechaTransaccion; Command.Parameters.Add("@p_tipoMoneda", SqlDbType.SmallInt).Value = data.tipoMoneda; Command.Parameters.Add("@p_tipoVenta", SqlDbType.SmallInt).Value = data.tipoVenta; Command.Parameters.Add("@p_tipoCambio", SqlDbType.Money).Value = data.tipoCambio; Command.Parameters.Add("@p_estado", SqlDbType.SmallInt).Value = data.estado; Command.Parameters.Add("@p_importeTotal", SqlDbType.Money).Value = data.importeTotal; Command.Parameters.Add("@p_importeRecargo", SqlDbType.Money).Value = data.importeRecargo; Command.Parameters.Add("@p_usuario", SqlDbType.VarChar, CENConstante.g_const_20).Value = data.usuario; Command.Parameters.Add("@p_ip", SqlDbType.VarChar, CENConstante.g_const_20).Value = data.ip; Command.Parameters.Add("@p_mac", SqlDbType.VarChar, CENConstante.g_const_20).Value = data.mac; Command.Parameters.Add("@p_prestamo", SqlDbType.Xml).Value = prestamo; Command.Parameters.Add("@p_listaCronograma", SqlDbType.Xml).Value = listaCuotas; Command.Parameters.Add("@p_proceso", SqlDbType.SmallInt).Value = data.proceso; Command.Parameters.Add("@p_codSucursal", SqlDbType.Int).Value = data.sucursal; Command.Parameters.Add("@p_fechaPago", SqlDbType.Date).Value = data.fechaPago; Command.Parameters.Add("@p_prFechaTrans", SqlDbType.DateTime).Value = data.prestamo.fechaTransaccion; Command.Parameters.Add("@p_cuentaCobro", SqlDbType.Xml).Value = cuentaCobro; Command.Parameters.Add("@p_IGV", SqlDbType.Money).Value = data.IGV; Command.Parameters.Add("@p_tipoDocVenta", SqlDbType.TinyInt).Value = data.tipoDocumentoVenta; Command.Parameters.Add("@p_codPuntoEntrega", SqlDbType.Int).Value = data.codPuntoEntrega; Command.Parameters.Add("@p_est_reg_cue_cob", SqlDbType.Int).Value = data.est_reg_cue_cob; Command.CommandTimeout = CENConstante.g_const_0; dr = Command.ExecuteReader(); if (dr.HasRows) { CENPreventaFiltroPA preventa = new CENPreventaFiltroPA(); while (dr.Read()) { if (dr["flag"] != DBNull.Value) { respuesta.flag = Convert.ToInt32(dr["flag"].ToString().Trim()); } if (dr["venta"] != DBNull.Value) { respuesta.venta = Convert.ToInt32(dr["venta"].ToString()); } if (dr["msje"] != DBNull.Value) { respuesta.msje = dr["msje"].ToString().Trim(); } if (dr["serie"] != DBNull.Value) { respuesta.serie = dr["serie"].ToString().Trim(); } if (dr["nroDocumento"] != DBNull.Value) { respuesta.nroDocumento = Convert.ToInt32(dr["nroDocumento"].ToString().Trim()); } } } dr.Close(); } } return(respuesta); } catch (Exception ex) { throw ex; } finally { conector.CerrarConexion(Connection); } }