Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        ///// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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;
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        ///// <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);
        }