Exemplo n.º 1
0
        public static ECodigoRecogida InstanciarDesde(DataRow registro)
        {
            if (registro == null)
            {
                throw new ArgumentNullException("Datos de CodigosRecogida nulos o vacíos.");
            }
            ECodigoRecogida codigoRecogida;
            string          codigo, descripcion;

            codigo         = (string)registro["id_codificacion"];
            descripcion    = (string)registro["descripcion"];
            codigoRecogida = new ECodigoRecogida(codigo, descripcion);


            return(codigoRecogida);
        }
Exemplo n.º 2
0
        private void IniciarRecogida()
        {
            // código de la recogida
            string codigo = string.Empty;

            if (Entorno.Instancia.Vista.ModalRecogidas != null)
            {
                codigo = Entorno.Instancia.Vista.ModalRecogidas.CodigoRecogida;
            }
            else
            {
                codigo = Solicitud.CodigoRecogida;
            }

            ECodigoRecogida eCodigo = Entorno.Instancia.CodigosRecogida.CodigoRecogida(codigo);

            //
            List <decimal> listRecogidas = new List <decimal>();

            Entorno.Instancia.Recogida = new Entidades.ERecogida(eCodigo, listRecogidas);
            Entorno.Instancia.Recogida.listRecogidas = new List <decimal>();
            Entorno.Instancia.Recogida.EstaAbierta   = false;
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        private void AgregarRecogida()
        {
            if (Entorno.Instancia.Recogida == null)
            {
                // código de la recogida
                string codigo = string.Empty;
                if (Entorno.Instancia.Vista.ModalRecogidas != null)
                {
                    codigo = Entorno.Instancia.Vista.ModalRecogidas.CodigoRecogida;
                }
                else
                {
                    codigo = Entorno.Instancia.Vista.PanelRecogidas.CodigoRecogida;
                }

                ECodigoRecogida eCodigo = Entorno.Instancia.CodigosRecogida.CodigoRecogida(codigo);

                //
                List <decimal> listRecogidas = new List <decimal>();
                Entorno.Instancia.Recogida = new Entidades.ERecogida(eCodigo, listRecogidas);
                Entorno.Instancia.Recogida.listRecogidas = new List <decimal>();
            }

            if (!Entorno.Instancia.Recogida.EstaAbierta)
            {
                Entorno.Instancia.Recogida.EstaAbierta = true;
            }

            //
            bool porDenominacion = solicitud.ValorRecogida.Contains('*');
            int  cantidad        = 0;

            double valorRecogida = 0;

            if (Config.ViewMode == InternalSettings.ModoTouch)
            {
                if (string.IsNullOrEmpty(solicitud.ValorRecogida))
                {
                    throw new Exception("El valor no puede ser vacío o igual a cero.");
                }
                else
                {
                    valorRecogida = Extensions.UnformatCurrencyValue(solicitud.ValorRecogida);

                    //
                    if (valorRecogida <= 0)
                    {
                        throw new Exception("El valor no puede ser vacío o igual a cero.");
                    }
                }
            }
            else
            {
                if (porDenominacion)
                {
                    cantidad = Convert.ToInt32(solicitud.ValorRecogida.Split('*')[0]);
                    string valorDenominacion = solicitud.ValorRecogida.Split('*')[1];

                    if (string.IsNullOrEmpty(valorDenominacion) || Double.Parse(valorDenominacion) <= 0)
                    {
                        throw new Exception("El valor no puede ser vacío o igual a cero.");
                    }
                    else
                    {
                        if (cantidad == 0)
                        {
                            throw new Exception("El valor no puede ser vacío o igual a cero.");
                        }

                        valorRecogida = Convert.ToDouble(valorDenominacion) * cantidad;
                    }
                }
                else
                {
                    if (string.IsNullOrEmpty(solicitud.ValorRecogida) || Double.Parse(solicitud.ValorRecogida) <= 0)
                    {
                        throw new Exception("El valor no puede ser vacío o igual a cero.");
                    }
                    else
                    {
                        valorRecogida = Convert.ToDouble(solicitud.ValorRecogida);
                    }
                }
            }

            log.Info("[CmdAgregarRecogida] Guardando recogida ...");

            //Valor de la pantalla
            decimal valor = 0;

            valor = Convert.ToDecimal(valorRecogida);
            Entorno.Instancia.Recogida.listRecogidas.Add(valor);

            if (Config.ViewMode == InternalSettings.ModoTouch)
            {
                Entorno.Instancia.Recogida.AgregarValor(valor);
            }

            decimal totalRecogidas = Entorno.Instancia.Recogida.listRecogidas.Sum();

            if (Entorno.Instancia.Vista.PanelRecogidas != null)
            {
                Entorno.Instancia.Vista.PanelRecogidas.VisorEntrada = string.Empty;
                iu.PanelRecogidas.VisorEntrada = string.Empty;
                iu.PanelRecogidas.VisorMensaje = string.Format("Valor Agregado: {0} [{1}]", valor.ToCustomCurrencyFormat(useThousandsLimit: false), totalRecogidas.ToCustomCurrencyFormat(useThousandsLimit: false));
            }

            log.Info($"[CmdAgregarRecogida] Agregar Recogida: {valor.ToString("C")} - Total: {totalRecogidas.ToString("C")}");

            //Terminar recogida touch
            if (Config.ViewMode == InternalSettings.ModoTouch)
            {
                Solicitudes.SolicitudTerminarRecogida terminarRecogida = new Solicitudes.SolicitudTerminarRecogida(Solicitud.TerminarRecogida);
                Reactor.Instancia.Procesar(terminarRecogida);
            }
        }