/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo PuntosDeVenta /// En la BASE de DATO la Tabla : [GestionComercial.PuntosDeVenta] /// <summary> /// <param name="itemPuntoDeVenta"></param> /// <returns></returns> public ReturnValor Insert(BEPuntoDeVenta objPuntoDeVenta) { try { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { PersonasLogic objPersonasLogic = new PersonasLogic(); BEPersona objPersonas = objPersonasLogic.Find(objPuntoDeVenta.codEmpresa, objPuntoDeVenta.codPersonaEmpre, objPuntoDeVenta.segUsuarioCrea); string prm_Prefijo = objPersonasLogic.AtributoPersona(objPersonas, ConfigCROM.AppConfig(objPuntoDeVenta.codEmpresa, ConfigTool.DEFAULT_PrefijoPtoVta)); oReturnValor.CodigoRetorno = oPuntosDeVentaData.Insert(objPuntoDeVenta, prm_Prefijo); if (oReturnValor.CodigoRetorno != null) { oReturnValor.Exitosa = true; oReturnValor.Message = HelpEventos.MessageEvento(HelpEventos.Process.NEW); tx.Complete(); } } } catch (Exception ex) { oReturnValor = HelpException.mTraerMensaje(ex); } return(oReturnValor); }
/// <summary> /// Listado del registro de ventas y compras de forma detallada de productos vendidos /// </summary> /// <param name="pFiltro"></param> /// <returns></returns> public List <BEComprobanteEmisionDetalle> ListRegistroDeVentasComprasDetallado(BaseFiltro pFiltro) { List <BEComprobanteEmisionDetalle> lstComprobanteEmisionDetalle = new List <BEComprobanteEmisionDetalle>(); try { pFiltro.fecInicio = HelpTime.ConvertYYYYMMDD(pFiltro.fecInicioDate); pFiltro.fecFinal = HelpTime.ConvertYYYYMMDD(pFiltro.fecFinalDate); lstComprobanteEmisionDetalle = oConsultasGCData.ListRegistroDeVentasComprasDetallado(pFiltro); foreach (BEComprobanteEmisionDetalle x in lstComprobanteEmisionDetalle) { if (x.refCodigoArguMoneda == ConfigCROM.AppConfig(pFiltro.codEmpresa, ConfigTool.DEFAULT_MonedaInt)) { x.TotItemValorDscto = Math.Round((x.TotItemValorVenta / x.refValorTipoCambio), 4); } else { x.TotItemValorDscto = x.TotItemValorVenta; } } } catch (Exception ex) { var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name, pFiltro.segUsuarioEdita, pFiltro.codEmpresa.ToString()); throw new Exception(returnValor.Message); } return(lstComprobanteEmisionDetalle); }
public ReportesLogic(int pcodEmpresa) { oPersonasLogic = new PersonasLogic(); oMarcacionesLogic = new MarcacionesLogic(); oMaestroLogic = new MaestroLogic(); oPersonasAgendaLogic = new PersonasAgendaLogic(); oFeriadosLogic = new FeriadosLogic(); oReturnValor = new ReturnValor(); CodArguTipoEntidad = ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_PersonaPorDefecto); listaFeriados = oFeriadosLogic.List(DateTime.Now.Year.ToString(), string.Empty, null, true); listaPersonasAgenda = oPersonasAgendaLogic.List(string.Empty, string.Empty, true); SeCalculaTiempoEn60 = GlobalSettings.GetDEFAULT_Time60(); }
///// <summary> ///// Retorna un LISTA de registros de la Entidad GestionComercial.Comprobantes Paginado ///// En la BASE de DATO la Tabla : [GestionComercial.Comprobantes] ///// <summary> ///// <param name="pFiltro"></param> ///// <returns></returns> //public List<BEDocumento> ListPaged(BaseFiltroDocumento pFiltro) //{ // List<BEDocumento> listaDocumentos = new List<BEDocumento>(); // try // { // listaDocumentos = oDocumentoData.ListPaged(pFiltro); // } // catch (Exception ex) // { // var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name, // pFiltro.segUsuarioActual, pFiltro.codEmpresa.ToString()); // throw new Exception(returnValor.Message); // } // return listaDocumentos; //} #endregion #region /* Proceso de SELECT BY ID CODE */ /// <summary> /// Retorna una ENTIDAD de registro de la Entidad GestionComercial.Comprobantes /// En la BASE de DATO la Tabla : [GestionComercial.Comprobantes] /// <summary> /// <param name="prm_codDocumento"></param> /// <returns></returns> public BEDocumento Find(string prm_codDocumento, string codEmpresaRUC, int pcodEmpresa, string pUserActual) { BEDocumento documento = null; try { documento = oDocumentoData.Find(prm_codDocumento, codEmpresaRUC); if (documento != null) { int DECIMALS = Convert.ToInt32(ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_CantidadDecimals)); if (DECIMALS == 2) { documento.DefaultCantidadDecimals = "0.00"; } else if (DECIMALS == 3) { documento.DefaultCantidadDecimals = "0.000"; } else if (DECIMALS == 4) { documento.DefaultCantidadDecimals = "0.0000"; } else if (DECIMALS == 5) { documento.DefaultCantidadDecimals = "0.00000"; } documento.listaDocumentoImpuesto = objDocumentoImpuestoData.List(new BaseFiltroDocumentoImpuesto { codEmpresaRUC = documento.CodigoPersonaEmpre, codEmpresa = pcodEmpresa, codDocumento = prm_codDocumento, codImpuesto = string.Empty }); ImpuestoData oTiposDeImpuestoData = new ImpuestoData(); foreach (BEDocumentoImpuesto f in documento.listaDocumentoImpuesto) { f.objImpuesto = oTiposDeImpuestoData.Find(pcodEmpresa, f.CodigoImpuesto); } } } catch (Exception ex) { var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name, pUserActual, pcodEmpresa.ToString()); throw new Exception(returnValor.Message); } return(documento); }
/// <summary> /// Listado del registro de ventas y compras /// </summary> /// <param name="pFiltro"></param> /// <returns></returns> public List <BEComprobanteEmision> ListRegistroDeVentasCompras(BaseFiltro pFiltro) { List <BEComprobanteEmision> lstComprobanteEmision = new List <BEComprobanteEmision>(); try { pFiltro.fecInicio = HelpTime.ConvertYYYYMMDD(pFiltro.fecInicioDate); pFiltro.fecFinal = HelpTime.ConvertYYYYMMDD(pFiltro.fecFinalDate); if (pFiltro.indContabilizado) { lstComprobanteEmision = oConsultasGCData.ListRegistroDeVentasComprasContab(pFiltro); } else { lstComprobanteEmision = oConsultasGCData.ListRegistroDeVentasCompras(pFiltro); } foreach (BEComprobanteEmision x in lstComprobanteEmision) { if (x.CodigoArguMoneda == ConfigCROM.AppConfig(pFiltro.codEmpresa, ConfigTool.DEFAULT_MonedaInt)) { x.ValorTotalDescuento = x.ValorTotalPrecioExtran; } else { x.ValorTotalDescuento = x.ValorTotalPrecioVenta; } } } catch (Exception ex) { var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name, pFiltro.segUsuarioEdita, pFiltro.codEmpresa.ToString()); throw new Exception(returnValor.Message); } return(lstComprobanteEmision); }
public List <BEListaDePrecioDetalle> ListDesdeStock(BaseFiltro filtro) //, string prm_CodigoPersonaEmpre, string prm_CodigoPuntoVenta, string prm_codDeposito, string prm_CodigoArguMoneda, bool prm_EsParaVentas, string prm_CodigoLista, string prm_UsuarioLogin) { List <BEListaDePrecioDetalle> lstListaDePrecioDetalle = new List <BEListaDePrecioDetalle>(); List <BEProducto> lstProducto = new List <BEProducto>(); List <BEProducto> lstProductoDep = new List <BEProducto>(); List <BEProductoPrecio> lstProductoPrecio = new List <BEProductoPrecio>(); BETipoDeCambio itemTiposDeCambio = new BETipoDeCambio(); try { ProductoLogic productoLogic = new ProductoLogic(); ProductoPrecioData oProductoPrecioData = new ProductoPrecioData(); TipoDeCambioLogic oTiposdeCambioLogic = new TipoDeCambioLogic(); lstProducto = productoLogic.List(new BaseFiltroAlmacen { codPerEmpresa = filtro.codPerEmpresa, codDeposito = string.Empty, codProductoRefer = string.Empty, codProducto = null, desNombre = string.Empty, desComercial = string.Empty, codRegMarca = string.Empty, codRegTipo = string.Empty, indDestinoCompra = true, indDestinaVenta = true, codRegCentroProducc = string.Empty, codRegCategoria = string.Empty, codRegUnidadMedida = string.Empty, indEstado = true, desPalabraClave = string.Empty, indTodos = true }); itemTiposDeCambio = oTiposdeCambioLogic.Find(new BaseFiltro { fecInicioDate = DateTime.Now, codRegMoneda = ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt) }); foreach (BEProducto xProducto in lstProducto) { if (xProducto.EsListaPrecio) { BEProducto productoNew = new BEProducto(); filtro.codProducto = xProducto.codProducto; BaseFiltroAlmacen filtroAlmacen = new BaseFiltroAlmacen { codProductoRefer = filtro.codProductoRefer, codProducto = filtro.codProducto.Value }; productoNew = productoLogic.Find(filtroAlmacen); productoNew.itemProductoPrecio.codProducto = xProducto.codProducto; productoNew.itemProductoPrecio.CodigoProductoNombre = productoNew.Descripcion; lstProductoPrecio.Add(productoNew.itemProductoPrecio); } } filtro.codProducto = null; foreach (BEProductoPrecio itemproductoPrecio in lstProductoPrecio) { BEListaDePrecioDetalle itemlistaDePrecioDetalle = new BEListaDePrecioDetalle { CodigoArguMoneda = filtro.codRegMoneda, codProducto = itemproductoPrecio.codProducto, CodigoProducto = itemproductoPrecio.CodigoProducto, Estado = itemproductoPrecio.Estado, segFechaEdita = DateTime.Now, segUsuarioEdita = filtro.segUsuarioEdita, CodigoProductoNombre = itemproductoPrecio.CodigoProductoNombre, CodigoLista = filtro.codListaPrecio, segUsuarioCrea = filtro.segUsuarioEdita, segFechaCrea = DateTime.Now, CodigoPersonaEmpre = filtro.codPerEmpresa, CodigoPuntoVenta = filtro.codPuntoVenta, }; decimal PRECIO_A_TOMAR = 0; if (filtro.indParaVenta.Value) { PRECIO_A_TOMAR = itemproductoPrecio.ValorVenta; } else { PRECIO_A_TOMAR = itemproductoPrecio.ValorCosto; } if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR; } else { if (filtro.codRegMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaNac)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR; } else { itemlistaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(PRECIO_A_TOMAR * itemTiposDeCambio.CambioVentasPRL, 2); } } if (filtro.codRegMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR; } else { itemlistaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(PRECIO_A_TOMAR / itemTiposDeCambio.CambioVentasPRL, 2); } } } lstListaDePrecioDetalle.Add(itemlistaDePrecioDetalle); } } catch (Exception ex) { throw ex; } return(lstListaDePrecioDetalle); }
/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo GastoDeAduana /// En la BASE de DATO la Tabla : [GestionComercial.GastoDeAduana] /// <summary> /// <param name = >itemGastoDeAduana</param> public ReturnValor InsertUpdate(GastoDeAduanaAux itemGastoDeAduana) { try { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { if (string.IsNullOrEmpty(itemGastoDeAduana.codDocumentoDest)) { itemGastoDeAduana.codDocumentoDest = null; } if (string.IsNullOrEmpty(itemGastoDeAduana.numDocumentoDest)) { itemGastoDeAduana.numDocumentoDest = null; } if (itemGastoDeAduana.codDocumentoDest != null && itemGastoDeAduana.numDocumentoDest != null) { ComprobanteEmisionData comprobanteEmisionData = new ComprobanteEmisionData(); BEComprobanteEmision comprobanteEmision = new BEComprobanteEmision(); comprobanteEmision = comprobanteEmisionData.Find(itemGastoDeAduana.codDocumRegDestino); if (itemGastoDeAduana.codRegistroMoneda != comprobanteEmision.CodigoArguMoneda) { throw new Exception("El gasto a registrar no tiene el mismo tipo de moneda del documento asigando."); } if (itemGastoDeAduana.codRegistroMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaNac)) { if (itemGastoDeAduana.monValorDeGasto != comprobanteEmision.ValorTotalPrecioVenta) { throw new Exception("El monto del gasto a registrar no es igual que el documento asigando. Se esperaba el monto de : [ " + comprobanteEmision.ValorTotalPrecioVenta.ToString("N2") + " ]"); } } else if (itemGastoDeAduana.codRegistroMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt)) { if (itemGastoDeAduana.monValorDeGasto != comprobanteEmision.ValorTotalPrecioExtran) { throw new Exception("El monto del gasto a registrar no es igual que el documento asigando. Se esperaba el monto de : [ " + comprobanteEmision.ValorTotalPrecioExtran.ToString("N2") + " ]"); } } } int?resultado = null; if (itemGastoDeAduana.codGastoDeAduana == 0) { resultado = oGastoDeAduanaData.Insert(itemGastoDeAduana); if (resultado != null) { itemGastoDeAduana.codGastoDeAduana = resultado.Value; oReturnValor.Exitosa = GuardaRefDocumento(itemGastoDeAduana, resultado); } if (oReturnValor.Exitosa && resultado != null) { oReturnValor.Message = HelpMessages.Evento_NEW; tx.Complete(); } } else if (itemGastoDeAduana.codGastoDeAduana > 0) { bool resultadoB = oGastoDeAduanaData.Update(itemGastoDeAduana); oReturnValor.Exitosa = GuardaRefDocumento(itemGastoDeAduana, itemGastoDeAduana.codGastoDeAduana); if (oReturnValor.Exitosa && resultadoB) { oReturnValor.Message = HelpMessages.Evento_EDIT; tx.Complete(); } } } } catch (Exception ex) { oReturnValor.Message = ex.Message; } return(oReturnValor); }
/// <summary> /// Retorna un LISTA de registros de la Entidad Maestros.Personas /// En la BASE de DATO la Tabla : [Maestros.Personas] /// <summary> /// <returns>List</returns> public List <BETimeEmpleado> ListMarcaciones(int pcodEmpresa, DateTime prm_FechaHoraINI, DateTime prm_FechaHoraFIN, string pUserLogin) { List <BEPersona> miListaPersonas = new List <BEPersona>(); List <BETimeEmpleado> listaTimeEmpleado = new List <BETimeEmpleado>(); CalendariosLogic oCalendariosLogic = new CalendariosLogic(); try { // ITERA la Lista de Empleados foreach (BEPersona itemPersona in prm_miListaPersonas) { List <BEPersonaAtributo> listaPersonasAtributos = new List <BEPersonaAtributo>(); listaPersonasAtributos = oPersonasLogic.ListBy_PersonasAtributos(itemPersona.codEmpresa, itemPersona.CodigoPersona); BETimeEmpleado itemTimeEmpleado = new BETimeEmpleado(); itemTimeEmpleado.CodigoPersona = itemPersona.CodigoPersona; itemTimeEmpleado.Apellidos = itemPersona.itemDatoAdicional.ApellidoPaterno + " " + itemPersona.itemDatoAdicional.ApellidoMaterno; itemTimeEmpleado.Nombres = itemPersona.itemDatoAdicional.Nombre1 + " " + itemPersona.itemDatoAdicional.Nombre2; // Datos y Valores del Empleado para el Control de Asistencia itemPersona.itemDatoAdicional = oPersonasLogic.FindPersonasDatosAdicionales(itemPersona.codEmpresa, itemTimeEmpleado.CodigoPersona, pUserLogin); string CODIGO_CALENDARIO = string.Empty; string TARJETA_MARCACION = string.Empty; //HelpMaestras. // Si Tiene CALENDARIO CODIGO_CALENDARIO = AtributoPersona(listaPersonasAtributos, ConfigurationManager.AppSettings["DEFAULT_CodigoCalendario"].ToString()); TARJETA_MARCACION = AtributoPersona(listaPersonasAtributos, ConfigurationManager.AppSettings["DEFAULT_NroDeTarjeta"].ToString()); if (!string.IsNullOrEmpty(CODIGO_CALENDARIO)) { TARJETA_MARCACION = TARJETA_MARCACION.Trim().PadLeft(Convert.ToInt32(ConfigurationManager.AppSettings["DEFAULT_LongNumCard"]), '0'); itemTimeEmpleado.listaMarcaciones = oMarcacionesLogic.List(TARJETA_MARCACION, prm_FechaHoraINI, prm_FechaHoraFIN); // Lista de TimeMarcaciones Datos completos de la Asistencia del Empleado List <BETimeMarcacion> listaTimeMarcaciones = new List <BETimeMarcacion>(); // Lista de Marcaciones Datos completos del Registro de Marcaciones del RELOJ List <BEMarcacion> listaMarcacionesFECHA_Actual = new List <BEMarcacion>(); // Fecha de INICIO DateTime FECHA_Actual = prm_FechaHoraINI; // CONTAR desde el PRIMER Dia Hasta el ULTIMO Día de UNo en UNO double TOTAL_DE_DIAS = Math.Round(HelpTime.CantidadDias(prm_FechaHoraINI, prm_FechaHoraFIN, HelpTime.TotalTiempo.Dias, true), 0); ++TOTAL_DE_DIAS; for (int i = 1; i <= TOTAL_DE_DIAS; ++i) { // itemTimeMarcaciones para llenar un Registro de Marcación del EMPLEADO BETimeMarcacion itemTimeMarcaciones = new BETimeMarcacion(); string DiaSemanaNOMBRE = string.Empty; // Se Encuentra el Día de la Semana en Número y Nombre int DiaSemanaNUMERO = HelpTime.DiaDeLaSemana(FECHA_Actual, out DiaSemanaNOMBRE); itemTimeMarcaciones.CodigoPersona = itemPersona.CodigoPersona; itemTimeMarcaciones.CodigoPersonaNombre = itemPersona.RazonSocial; foreach (BEPersonaAtributo item in listaPersonasAtributos) { if (item.CodigoArguTipoAtributo == ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_Atributo_NumerRUC))// - ruc { itemTimeMarcaciones.CodigoPersonaDNI = item.DescripcionAtributo; } } itemTimeMarcaciones.DiaSemana = DiaSemanaNOMBRE.Substring(0, 3); itemTimeMarcaciones.FechaHora = Convert.ToDateTime(FECHA_Actual.ToShortDateString()); string DIA_SEMANA_NOMBRE = string.Empty; int DIA_SEMANA_NUMERO = HelpTime.DiaDeLaSemana(itemTimeMarcaciones.FechaHora, out DIA_SEMANA_NOMBRE); BECalendario itemCalendarios = new BECalendario(); itemCalendarios = oCalendariosLogic.Find(CODIGO_CALENDARIO, true); List <BECalendarioDia> itemCalendariosDias = new List <BECalendarioDia>(); // Encontrar el Horario de Trabajo de la FECHA_Actual del BUCLE var queryCalendariosDIA = from itemDIA in itemCalendarios.listaCalendariosDias //where itemDIA.FechaInicio == itemTimeMarcaciones.FechaHora where itemDIA.CodigoArguDiaSemana == "ADIAS00" + DIA_SEMANA_NUMERO.ToString().Trim() select itemDIA; itemCalendariosDias = queryCalendariosDIA.ToList <BECalendarioDia>(); // Se Obtiene Todas las Marcaciones del EMPLEADO por la Fecha actual del BUCLE var queryMarcasFECHA_Actual = from ListaMarcasFECHA_Actual in itemTimeEmpleado.listaMarcaciones where ListaMarcasFECHA_Actual.FechaTexto.ToShortDateString() == FECHA_Actual.ToShortDateString() select ListaMarcasFECHA_Actual; listaMarcacionesFECHA_Actual = queryMarcasFECHA_Actual.ToList <BEMarcacion>(); int MARCAS_CANTIDAD = listaMarcacionesFECHA_Actual.Count; int MARCAS_CONTADOR = 0; int MARCAS_VECES = 0; itemTimeMarcaciones.HorarioEntrada = itemCalendariosDias[0].itemHorario.HEntrada == "00:00" ? "__:__" : itemCalendariosDias[0].itemHorario.HEntrada; itemTimeMarcaciones.HorasTeoricasTIME60 = HelpTime.CantidadTiempoEn_HH_MM(Convert.ToDouble(itemCalendariosDias[0].itemHorario.HorasLabor)); itemTimeMarcaciones.HorasTeoricasDOUBLE = Convert.ToDouble(itemCalendariosDias[0].itemHorario.HorasLabor); // SI TIENE MAS de una MARCACIÓN if (MARCAS_CANTIDAD > 0) { // Colocar las Marcaciones existentes en el registro Horizontal de itemTimeMarcaciones MarcacionesDeVerticalaHorizontal(listaMarcacionesFECHA_Actual, itemTimeMarcaciones, ref MARCAS_CONTADOR, ref MARCAS_VECES); CalcularTiempoPersona(itemTimeMarcaciones, itemCalendariosDias[0].itemHorario, MARCAS_VECES); itemTimeEmpleado.listaTimeMarcaciones.Add(itemTimeMarcaciones); } else { itemTimeMarcaciones.Entra01 = string.Empty; itemTimeMarcaciones.Entra02 = string.Empty; itemTimeMarcaciones.Salid01 = string.Empty; itemTimeMarcaciones.Salid02 = string.Empty; string decripcion = null; if (DetectaAGENDA(itemTimeEmpleado.CodigoPersona, FECHA_Actual, FECHA_Actual.Year, ref decripcion)) { itemTimeMarcaciones.MarcacionesDescripcion = decripcion; } else if (DetectaFERIADO(itemCalendariosDias[0].itemHorario, FECHA_Actual, ref decripcion)) { itemTimeMarcaciones.MarcacionesDescripcion = decripcion; } else { itemTimeMarcaciones.CONTADOR_VecesFalta = 1; itemTimeMarcaciones.MarcacionesDescripcion = decripcion; } itemTimeEmpleado.listaTimeMarcaciones.Add(itemTimeMarcaciones); } // La variable FECHA_Actual es Igual al Acumulado de prm_FechaHoraINI en UNO (Contador=i) FECHA_Actual = prm_FechaHoraINI.AddDays(i); } listaTimeEmpleado.Add(itemTimeEmpleado); } } } catch (Exception ex) { var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name, pUserLogin, pcodEmpresa.ToString()); throw new Exception(returnValor.Message); } return(listaTimeEmpleado); }
private BEComprobanteEmision GenerarTicketDeVenta(int pcodEmpresa, MovimientoAux pitem, int pcodPersonaEmpleado, string pcodEmpresaRUC, string pUserActual, string pcodPlanilla, ref BEDocumento pTicketRef, ref int pcodDocumentoSerie) { DocumentoLogic oDocumentoLogic = new DocumentoLogic(); PersonasLogic oPersonasLogic = new PersonasLogic(); ImpuestoLogic oTiposDeImpuestoLogic = new ImpuestoLogic(); TarifaLogic oTarifaLogic = new TarifaLogic(); TipoDeCambioLogic oTiposdeCambioLogic = new TipoDeCambioLogic(); BEImpuesto miImpuestoVTA = new BEImpuesto(); BEDocumento miTicket = new BEDocumento(); BEPersona miPersona = new BEPersona(); TarifaAux miTarifa = new TarifaAux(); BETipoDeCambio miTiposDeCambio = new BETipoDeCambio(); miTicket = oDocumentoLogic.Find(ConfigurationManager.AppSettings["DEFAULT_Doc_Ticket"].ToString(), pcodEmpresaRUC, pcodEmpresa, pUserActual); pTicketRef = miTicket; miPersona = oPersonasLogic.Find(pcodEmpresa, pitem.codPersonaCliente, pUserActual); miImpuestoVTA = oTiposDeImpuestoLogic.Find(pcodEmpresa, ConfigurationManager.AppSettings["DEFAULT_Impuesto_Ventas"].ToString(), pUserActual); miTarifa = oTarifaLogic.Find(pitem.codTarifa); miTiposDeCambio = oTiposdeCambioLogic.Find(new BaseFiltroTipoCambio { codEmpresa = pcodEmpresa, fecInicioDate = DateTime.Now, codRegMoneda = ConfigurationManager.AppSettings["DEFAULT_MonedaInt"].ToString() }); string p_NroComprobante = HelpDocumentos.Tipos.TCK.ToString() + NumerodeComprobante(oDocumentoLogic, pcodEmpresa, pitem.codPersonaEmpresa, miTicket.CodigoComprobante, pitem.codPuntoDeVenta, pcodPlanilla, pitem.segUsuarioCrea, ref pcodDocumentoSerie); BEComprobanteEmision miDocumentoTicket = new BEComprobanteEmision { CodigoArguEstadoDocu = miTicket.CodigoArguEstEMIDefault, CodigoArguMoneda = ConfigurationManager.AppSettings["DEFAULT_MonedaNac"].ToString(), CodigoArguTipoDeOperacion = ConfigurationManager.AppSettings["DEFAULT_Movim_Venta"].ToString(), CodigoArguTipoDomicil = ((int)TipoDomicilio.FISCAL_PRINCIPAL).ToString(), // ConfigCROM.AppConfig(ConfigTool.DEFAULT_Atributo_DomicFiscal), CodigoArguUbigeo = ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_Ubigeo), //. ConfigurationManager.AppSettings["DEFAULT_Ubigeo"].ToString(), CodigoComprobante = ConfigurationManager.AppSettings["DEFAULT_Doc_Ticket"].ToString(), CodigoArguDestinoComp = WebConstants.DEFAULT_DOCUM_DESTINADO_CLIENTES, CodigoComprobanteFact = miTicket.CodigoComprobante, codEmpleado = pcodPersonaEmpleado, CodigoPersonaEmpre = pitem.codPersonaEmpresa, CodigoPersonaEntidad = pitem.codPersonaCliente, codEmpleadoVendedor = pcodPersonaEmpleado, CodigoPuntoVenta = pitem.codPuntoDeVenta, codCondicionVenta = Convert.ToInt32(ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_CondicionVenta)), //.ConfigurationManager.AppSettings["DEFAULT_CondicionVenta"].ToString(), DocEsFacturable = miTicket.EsComprobanteFiscal, EntidadDireccion = "No exige el tipo de DOC", EntidadDireccionUbigeo = "LIMA", EntidadNumeroRUC = "9999", EntidadRazonSocial = miPersona.RazonSocial, Estado = true, FechaDeEmision = DateTime.Now, FechaDeEntrega = DateTime.Now, FechaDeCancelacion = DateTime.Now, FechaDeProceso = DateTime.Now, FechaDeVencimiento = DateTime.Now, Nota01 = "Ticket gen. automático", NumeroComprobante = p_NroComprobante, // NumerodeComprobante(oComprobantesLogic, miTicket.CodigoComprobante, item.codPersonaEmpresa, item.codPuntoDeVenta, item.segUsuarioCrea), Observaciones = pitem.gloObservacion, SegUsuarioCrea = pitem.segUsuarioCrea, SegUsuarioEdita = pitem.segUsuarioCrea, ValorIGV = miImpuestoVTA.Porcentaje, ValorTipoCambioCMP = miTiposDeCambio.CodigoArguMoneda == null ? 2 : miTiposDeCambio.CambioCompraPRL, ValorTipoCambioVTA = miTiposDeCambio.CodigoArguMoneda == null ? 2 : miTiposDeCambio.CambioVentasPRL, }; ProductoLogic oProductoLogic = new ProductoLogic(); BEProducto miProducto = new BEProducto(); miProducto = oProductoLogic.Find(new BaseFiltroAlmacen { codEmpresaRUC = pitem.codPersonaEmpresa, codPuntoVenta = pitem.codPuntoDeVenta, codProducto = miTarifa.codProducto }); miDocumentoTicket.listaComprobanteEmisionDetalle.Add(new BEComprobanteEmisionDetalle { Cantidad = 1, CantiDecimales = 4, CodigoArguEstadoDocu = miTicket.CodigoArguEstEMIDefault, CodigoArguDestinoComp = WebConstants.DEFAULT_DOCUM_DESTINADO_CLIENTES, CodigoArguTipoProducto = ConfigurationManager.AppSettings["DEFAULT_ProducTerminado"].ToString(), CodigoArguUnidadMed = ConfigurationManager.AppSettings["DEFAULT_UnidadMedida"].ToString(), CodigoComprobante = miTicket.CodigoComprobante, NumeroComprobante = miDocumentoTicket.NumeroComprobante, CodigoItemDetalle = "001", //codEmpresa = item.codPersonaEmpresa, codEmpleadoVendedor = pcodPersonaEmpleado, CodigoProducto = miTarifa.codiProducto, codProducto = miTarifa.codProducto, Descripcion = miProducto.Descripcion, Estado = true, CodigoPuntoVenta = pitem.codPuntoDeVenta, EsVerificarStock = false, FechaDeEmision = miDocumentoTicket.FechaDeEmision, IncluyeIGV = miImpuestoVTA.DiscriminaIGV, PesoTotal = 0, SegUsuarioCrea = pitem.segUsuarioCrea, SegUsuarioEdita = pitem.segUsuarioCrea, UnitPrecioBruto = pitem.monMontoPagado.Value, }); CalcularDatosDelPrecioDeVenta(miImpuestoVTA, pitem, miDocumentoTicket.listaComprobanteEmisionDetalle[0]); CalcularTotalDocumento(ref miDocumentoTicket, miImpuestoVTA); return(miDocumentoTicket); }
public byte[] CreateReportSalesInvoice(DTODocumRegFEResponse pFactura, out ReturnValor pReturn) { pReturn = new ReturnValor(); byte[] bytes = null; try { string nameReportDocumento = string.Concat("FE_", pFactura.NombreReporte); string nombreReportePath = Path.Combine(ConfigCROM.AppConfig(pFactura.codEmpresa, ConfigTool.DEFAULT_Path_Importacion), "formats", nameReportDocumento ); //Obtener la ruta del reporte if (!File.Exists(nombreReportePath)) { pReturn.Message = string.Format("No existe formato para el reporte : [{0}]", pFactura.NombreReporte); return(bytes); } ReportDataSource reportDataSourceDetalle = new ReportDataSource(); ReportViewer reportViewer1 = new ReportViewer(); reportViewer1.ProcessingMode = ProcessingMode.Local; //NEW //reportViewer1.DataBinding //LocalReport localReport = reportViewer1.LocalReport; //NEW //localReport.ReportPath = nombreReportePath; //NEW reportViewer1.LocalReport.ReportEmbeddedResource = "CROM.SGComercial.Reports." + nameReportDocumento; //reportViewer1.LocalReport.ReportPath = nombreReportePath; //reportViewer1.LocalReport.ReportPath = nameReportDocumento; reportDataSourceDetalle.Name = "CROM_BusinessEntities_DTODocumRegFEResponse"; reportDataSourceDetalle.Value = pFactura.LstDocumRegDetalle; //localReport.DataSources.Add(reportDataSourceDetalle); //NEW //reportDataSourceDetalle.DataMember = "CROMBusinessEntitiesSUNATresponse"; //reportDataSourceDetalle.DataMember = "CROM.BusinessEntities.SUNAT.response.DTODocumRegFEDetalleResponse"; reportDataSourceDetalle.DataSourceId = "CROMBusinessEntitiesSUNATresponse"; reportViewer1.LocalReport.DataSources.Add(reportDataSourceDetalle); //reportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted)); //CROM.BusinessEntities.SUNAT.response.DTODocumRegFEDetalleResponse //permite insertar imagenes externas(Codigo QR) reportViewer1.LocalReport.EnableExternalImages = true; //reportViewer1.ShowBackButton = false; //reportViewer1.ShowDocumentMapButton = false; //reportViewer1.ShowRefreshButton = false; //, // //rs.Name = "CROM.BusinessEntities.SUNAT.response";CROM_BusinessEntities_SUNAT_response_DTODocumRegFEDetalleResponse //CROMBusinessEntitiesSUNATresponse string strSoloEntero = string.Empty; string strSoloDecima = string.Empty; decimal decEnteroD = 0; Int64 intEntero = 0; string strDatoNumero1 = pFactura.DRC_sumTotValVenta.ToString("N2"); strSoloEntero = strDatoNumero1.Substring(0, strDatoNumero1.IndexOf('.')); strSoloDecima = strDatoNumero1.Substring(strDatoNumero1.IndexOf('.') + 1, 2); decEnteroD = Convert.ToDecimal(strSoloEntero); intEntero = Convert.ToInt64(decEnteroD); string strValorTotalPrecioVentaLetras = Helper.Numero_A_Texto(intEntero) + " CON " + strSoloDecima + "/100 " + (string.IsNullOrEmpty(pFactura.codRegMonedaNombre) ? string.Empty : pFactura.codRegMonedaNombre.Trim().ToUpper()); //Definicion de parametros ReportParameter[] parameters = new ReportParameter[22]; parameters[00] = new ReportParameter("pCliente", pFactura.DRC_rznSocialUsuario); parameters[01] = new ReportParameter("pRUC", pFactura.DRC_numDocUsuario); parameters[02] = new ReportParameter("pDireccion", pFactura.cliEntidadDireccion.ToUpper()); parameters[03] = new ReportParameter("pLocalidad", pFactura.cliEntidadDireccionUbigeo); parameters[04] = new ReportParameter("pFecha", pFactura.DRC_fecEmision); parameters[05] = new ReportParameter("pTotalDscto", pFactura.DRC_sumDescTotal.ToString("N2")); parameters[06] = new ReportParameter("pTotalTotComision", pFactura.DRC_sumOtrosCargos.ToString("N2")); parameters[07] = new ReportParameter("pValorVenta", pFactura.DRC_sumTotValVenta.ToString()); parameters[08] = new ReportParameter("pImpuesto", pFactura.DRC_sumTotTributos.ToString("N2")); parameters[09] = new ReportParameter("pISC", pFactura.DRC_sumTotalAnticipos.ToString("N2")); parameters[10] = new ReportParameter("pImporteTotal", pFactura.DRC_sumPrecioVenta.ToString("N2")); parameters[11] = new ReportParameter("pTotal", pFactura.DRC_sumTotValVenta.ToString()); parameters[12] = new ReportParameter("pNumero", pFactura.DRC_Doc_Numero); parameters[13] = new ReportParameter("pSerie", pFactura.DRC_Doc_Serie); parameters[14] = new ReportParameter("pCheque", "-"); parameters[15] = new ReportParameter("pBanco", "-"); parameters[16] = new ReportParameter("pOrden", pFactura.numOrdenCompra); parameters[17] = new ReportParameter("pGuia", pFactura.numDocumentoOrigen); parameters[18] = new ReportParameter("pImpuestoCantidad", string.Concat(pFactura.prcImpuestoGV.ToString("N2"), " %")); parameters[19] = new ReportParameter("pTotalLetras", strValorTotalPrecioVentaLetras); parameters[20] = new ReportParameter("pFirma", pFactura.codEmpresaRUC); parameters[21] = new ReportParameter("pCodBarras", pFactura.DRC_CodBarras); //Asignar parametros al reporte reportViewer1.LocalReport.SetParameters(parameters); reportViewer1.LocalReport.Refresh(); //Enviar al correo del cliente Warning[] warnings; string mimeType; string encoding; string extension; string[] streamids; bytes = reportViewer1.LocalReport.Render("PDF", null, out extension, out encoding, out mimeType, out streamids, out warnings); return(bytes); } catch (Exception ex) { Error(GetType().Name, MethodBase.GetCurrentMethod().Name, ex, pFactura.segUsuarioCrea, pFactura.codEmpresa); pReturn.Message = WebConstants.ErroresEjecucion.FirstOrDefault(x => x.Key == 1001).Value; } return(bytes); }
public void EncontrarPrecios(BEProducto prm_itemProducto, BaseFiltro filtro, ref decimal prm_PRECIO_VENTAS, ref decimal prm_PRECIO_COMPRA, ref string prm_CODIMONEDA) // string prm_CodigoEmpresa, string prm_CodigoPuntoVenta, string prm_DestinoComp) { decimal intPRECIO_VENTAS = 0; decimal intPRECIO_COMPRA = 0; string intprm_CODIMONEDA = ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaNac); filtro.codProducto = prm_itemProducto.codProducto; filtro.codRegMoneda = string.Empty; filtro.indEstado = true; if (prm_itemProducto.EsListaPrecio) { ListaDePrecioLogic oListaDePrecioLogic = new ListaDePrecioLogic(); List <BEListaDePrecioDetalle> listaListaDePrecioDetalle = new List <BEListaDePrecioDetalle>(); if (filtro.codRegDestinoDocum == ConstantesGC.OPERACION_DESTINO_VENTAS) { filtro.codListaPrecio = ConfigCROM.AppConfig(ConfigTool.DEFAULT_ListaPrecioVenta); listaListaDePrecioDetalle = oListaDePrecioLogic.ListDetalle(filtro); if (listaListaDePrecioDetalle.Count == 0) { intPRECIO_VENTAS = 0; } else { intPRECIO_VENTAS = listaListaDePrecioDetalle[0].PrecioUnitario; intprm_CODIMONEDA = listaListaDePrecioDetalle[0].CodigoArguMoneda; } } else if (filtro.codRegDestinoDocum == ConstantesGC.OPERACION_DESTINO_COMPRAS) { filtro.codListaPrecio = ConfigCROM.AppConfig(ConfigTool.DEFAULT_ListaPrecioCompra); listaListaDePrecioDetalle = oListaDePrecioLogic.ListDetalle(filtro); if (listaListaDePrecioDetalle.Count == 0) { intPRECIO_COMPRA = 0; } else { intPRECIO_COMPRA = listaListaDePrecioDetalle[0].PrecioUnitario; intprm_CODIMONEDA = listaListaDePrecioDetalle[0].CodigoArguMoneda; } } else if (filtro.codRegDestinoDocum == ConstantesGC.OPERACION_DESTINO_INTERNO) { filtro.codListaPrecio = ConfigCROM.AppConfig(ConfigTool.DEFAULT_ListaPrecioCompra); listaListaDePrecioDetalle = oListaDePrecioLogic.ListDetalle(filtro); if (listaListaDePrecioDetalle.Count == 0) { intPRECIO_COMPRA = 0; } else { intPRECIO_COMPRA = listaListaDePrecioDetalle[0].PrecioUnitario; intprm_CODIMONEDA = listaListaDePrecioDetalle[0].CodigoArguMoneda; } } } else { if (filtro.codRegDestinoDocum == ConstantesGC.OPERACION_DESTINO_VENTAS) { intPRECIO_VENTAS = prm_itemProducto.itemProductoPrecio.ValorVenta; } else if (filtro.codRegDestinoDocum == ConstantesGC.OPERACION_DESTINO_COMPRAS) { intPRECIO_COMPRA = prm_itemProducto.itemProductoPrecio.ValorCosto; } else if (filtro.codRegDestinoDocum == ConstantesGC.OPERACION_DESTINO_INTERNO) { intPRECIO_COMPRA = prm_itemProducto.itemProductoPrecio.ValorCosto; } intprm_CODIMONEDA = prm_itemProducto.itemProductoPrecio.CodigoArguMoneda; } prm_CODIMONEDA = intprm_CODIMONEDA; prm_PRECIO_COMPRA = intPRECIO_COMPRA; prm_PRECIO_VENTAS = intPRECIO_VENTAS; }
public List <BEListaDePrecioDetalle> ListDesdeStockCompras(BaseFiltro filtro) // string prm_CodigoPersonaEmpre, string prm_CodigoPuntoVenta, string prm_codDeposito, string prm_CodigoArguMoneda, bool prm_ParaCompras, bool prm_ParaVentas, string prm_CodigoLista, string prm_UsuarioLogin) { List <BEListaDePrecioDetalle> lstListaDePrecioDetalle = new List <BEListaDePrecioDetalle>(); List <DTOProductoResponse> lstProducto = new List <DTOProductoResponse>(); List <BEProducto> lstProductoDep = new List <BEProducto>(); List <BEProductoPrecio> lstProductoPrecio = new List <BEProductoPrecio>(); BETipoDeCambio tipoDeCambio = new BETipoDeCambio(); try { ProductoLogic oProductoLogic = new ProductoLogic(); ProductoPrecioData oProductoPrecioData = new ProductoPrecioData(); TipoDeCambioLogic oTiposdeCambioLogic = new TipoDeCambioLogic(); lstProducto = oProductoLogic.List(new BaseFiltroProducto { codEmpresaRUC = filtro.codEmpresaRUC, codDeposito = string.Empty, codProductoRefer = string.Empty, desNombre = string.Empty, desComercial = string.Empty, codMarca = null, codRegTipo = string.Empty, indDestinoCompra = true, indDestinaVenta = true, codRegCentroProducc = string.Empty, codRegCategoria = string.Empty, codRegUnidadMedida = string.Empty, indEstado = true, desPalabraClave = string.Empty, indTodos = true }); tipoDeCambio = oTiposdeCambioLogic.Find(new BaseFiltroTipoCambio { codEmpresa = filtro.codEmpresa, fecInicioDate = DateTime.Now, codRegMoneda = ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaInt) }); foreach (DTOProductoResponse xProducto in lstProducto) { if (xProducto.EsListaPrecio) { BEProducto productoNew = new BEProducto(); productoNew = oProductoLogic.Find(new BaseFiltroAlmacen { codEmpresa = filtro.codEmpresa, codProducto = xProducto.codProducto }); productoNew.itemProductoPrecio.CodigoProductoNombre = productoNew.Descripcion; lstProductoPrecio.Add(productoNew.itemProductoPrecio); } } filtro.codProducto = null; foreach (BEProductoPrecio itemproductoPrecio in lstProductoPrecio) { BEListaDePrecioDetalle xlstListaDePrecioDetalle = new BEListaDePrecioDetalle { CodigoArguMoneda = filtro.codRegMoneda, codProducto = itemproductoPrecio.codProducto, CodigoProducto = itemproductoPrecio.CodigoProducto, Estado = itemproductoPrecio.Estado, segFechaEdita = DateTime.Now, segUsuarioEdita = filtro.segUsuarioEdita, CodigoProductoNombre = itemproductoPrecio.CodigoProductoNombre, CodigoLista = filtro.codListaPrecio, segUsuarioCrea = filtro.segUsuarioEdita, segFechaCrea = DateTime.Now, CodigoPersonaEmpre = filtro.codEmpresaRUC, CodigoPuntoVenta = filtro.codPuntoVenta, }; if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta; } else { if (filtro.codRegMoneda == ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaNac)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta; } else { xlstListaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(itemproductoPrecio.ValorVenta * tipoDeCambio.CambioVentasPRL, 2); } } if (filtro.codRegMoneda == ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaInt)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta; } else { xlstListaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(itemproductoPrecio.ValorVenta / tipoDeCambio.CambioVentasPRL, 2); } } } lstListaDePrecioDetalle.Add(xlstListaDePrecioDetalle); } } catch (Exception ex) { throw ex; } return(lstListaDePrecioDetalle); }
public List <DTODocumentoImp> ListFacturas(int pCodEmpresa, List <DTOProveedor> plstProveedor, int?pIdOI) { List <DTODocumentoImp> lstFacturasProv = new List <DTODocumentoImp>(); List <DTODocumentoImp> lstFacturasTotal = new List <DTODocumentoImp>(); List <BEOIDocumReg> lstOIDocumReg = new List <BEOIDocumReg>(); try { string codRegEstado = ConfigCROM.AppConfig(pCodEmpresa, ConfigTool.EST_FAC_Emitida); List <DTOProveedor> lstProveedor = new List <DTOProveedor>(); foreach (DTOProveedor provee in plstProveedor) { lstFacturasProv = ordenImportacionData.ListFacturas(new BaseFiltroImp { codPersonaEntidad = provee.codPersonaEntidad, codRegEstado = codRegEstado }); lstFacturasTotal.AddRange(lstFacturasProv); } if (pIdOI != 0) { OIDocumRegLogic oIDocumRegLogic = new OIDocumRegLogic(); lstOIDocumReg = oIDocumRegLogic.List(new BaseFiltroImp { codOrdenImportacion = pIdOI }); if (lstOIDocumReg.Count > 0) { int contador = 0; foreach (DTODocumentoImp documento in lstFacturasTotal) { foreach (BEOIDocumReg documReg in lstOIDocumReg) { if (documento.codDocumReg == documReg.codDocumReg) { documento.indAsignado = 1; documReg.segUsuarioCrea = Helper.ComboBoxText.Select.ToString(); ++contador; } } } if (contador < lstOIDocumReg.Count) { foreach (BEOIDocumReg documReg in lstOIDocumReg) { if (documReg.segUsuarioCrea != Helper.ComboBoxText.Select.ToString()) { lstFacturasTotal.Add(new DTODocumentoImp { codDocumReg = documReg.codDocumReg, indAsignado = 1, numDocumento = documReg.auxnumDocumento, numDocumentoSec = documReg.auxnumDocumentoSec, numDocumentoRef = documReg.auxnumDocumentoRef, nomProveedor = documReg.auxnomProveedor }); } } } } } } catch (Exception ex) { throw ex; } return(lstFacturasTotal); }
///// <summary> ///// Retorna una LISTA de registro de la Entidad CajaBancos.ComprobanteEmitidos POR FOREIGN KEY ///// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos] ///// <summary> ///// <returns>Entidad</returns> //public List<CajaRegistroAux> List(int pcodEmpresa, Nullable<DateTime> prm_fecIngresoInicio, // Nullable<DateTime> prm_fecIngresoFinal, int? prm_codDocumReg, // string prm_codRegistroDestinoComp, string prm_codPersonaEntidad, // int? prm_codEmpleado, string prm_codRegistroMoneda, // string prm_codParteDiario, string prm_codFormaDePago, // bool? prm_indConciliado) //{ // List<CajaRegistroAux> listaCajaRegistro = new List<CajaRegistroAux>(); // try // { // listaCajaRegistro = oCajaRegistroData.List(pcodEmpresa, // HelpTime.ConvertYYYYMMDD(prm_fecIngresoInicio), // HelpTime.ConvertYYYYMMDD(prm_fecIngresoFinal), // prm_codDocumReg, // prm_codRegistroDestinoComp, // prm_codPersonaEntidad, // prm_codEmpleado, // prm_codRegistroMoneda, // prm_codParteDiario, // prm_codFormaDePago, // prm_indConciliado); // } // catch (Exception ex) // { // throw ex; // } // return listaCajaRegistro; //} #endregion #region /* Proceso de INSERT RECORD */ /// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo ComprobanteEmitidos /// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos] /// </summary> /// <param name="itemComprobanteEmitidos"></param> /// <param name="comprobanteEmision"></param> /// <returns></returns> public ReturnValor PagarEfectivo(CajaRegistroAux cajaRegistro, BEComprobanteEmision comprobanteEmision, decimal prm_MontoPagadoMN, decimal prm_MontoPagadoMI, decimal prm_SaldoActualMN, decimal prm_SaldoActualMI) { try { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { //oReturnValor.Exitosa = oCajaRegistroData.Insert(cajaRegistro); bool SUCEDE_OK = true; bool SUCEDE_CT = true; decimal DIFERENCIA = 0; if (cajaRegistro.codRegistroMoneda == ConfigCROM.AppConfig(cajaRegistro.codEmpresa, ConfigTool.DEFAULT_MonedaNac)) { if (prm_MontoPagadoMN < 0) { prm_MontoPagadoMN = prm_MontoPagadoMN * (-1); } decimal pagadoHastaAhora = prm_MontoPagadoMN + cajaRegistro.monImportePagado; if (pagadoHastaAhora == comprobanteEmision.ValorTotalPrecioVenta) { SUCEDE_OK = oComprobanteEmisionData.UpdateCancelacion(comprobanteEmision.codDocumReg, comprobanteEmision.CodigoArguEstadoDocu, cajaRegistro.gloObservacion, cajaRegistro.fecIngreso, cajaRegistro.codParteDiario, cajaRegistro.segUsuarioCrea); } } else { if (prm_SaldoActualMI == cajaRegistro.monImportePagadoEx) { SUCEDE_OK = oComprobanteEmisionData.UpdateCancelacion(comprobanteEmision.codDocumReg, comprobanteEmision.CodigoArguEstadoDocu, cajaRegistro.gloObservacion, cajaRegistro.fecIngreso, cajaRegistro.codParteDiario, cajaRegistro.segUsuarioCrea); } } CuentasCorrientesData oCuentasCorrientesData = new CuentasCorrientesData(); BECuentaCorriente cuentacorriente = new BECuentaCorriente { codEmpresa = comprobanteEmision.codEmpresa, codDocumReg = comprobanteEmision.codDocumReg, CodigoArguDestinoComp = comprobanteEmision.CodigoArguDestinoComp, CodigoArguMoneda = comprobanteEmision.CodigoArguMoneda, CodigoArguTipoMovimi = comprobanteEmision.CodigoArguTipoDeOperacion, CodigoComprobante = comprobanteEmision.CodigoComprobante, codEmpleado = cajaRegistro.codEmpleado, CodigoPersonaEmpre = comprobanteEmision.CodigoPersonaEmpre, CodigoPuntoVenta = cajaRegistro.codPuntoDeVenta, DEBETipoCambioVTA = cajaRegistro.monTCambioVTA, DEBETipoCambioCMP = cajaRegistro.monTCambioCMP, DEBETotalCuotaNacion = cajaRegistro.monImportePagado, DEBETotalCuotaExtran = cajaRegistro.monImportePagadoEx, Estado = true, NumeroComprobante = comprobanteEmision.NumeroComprobante, FechaDeEmisionDeuda = cajaRegistro.fecIngreso, FechaDeVencimiento = comprobanteEmision.FechaDeEmision, NumeroDeCuota = 0, Observaciones = comprobanteEmision.Observaciones == null ? "Registro automático desde Pago en efectivo - " : "Registro automático desde Pago en efectivo - " + comprobanteEmision.Observaciones, SegUsuarioCrea = comprobanteEmision.SegUsuarioCrea, SegUsuarioEdita = comprobanteEmision.SegUsuarioCrea, DHDiferenciaMonto = DIFERENCIA, TipoDeIngreso = comprobanteEmision.CodigoArguTipoDeOperacion == ConfigCROM.AppConfig(cajaRegistro.codEmpresa, ConfigTool.DEFAULT_Movim_Venta) ? "H" : "D", CodigoParte = comprobanteEmision.CodigoParte }; SUCEDE_CT = oCuentasCorrientesData.Insert(cuentacorriente) == null ? false : true; if (oReturnValor.Exitosa && SUCEDE_OK && SUCEDE_CT) { oReturnValor.Message = HelpMessages.gc_DOCUM_YA_CANCELADO; tx.Complete(); } } } catch (Exception ex) { oReturnValor = HelpException.mTraerMensaje(ex); } return(oReturnValor); }