예제 #1
0
        /// <summary>
        /// Ajusta o valor da propriedade <see cref="EntradaRequest.Grandeza"/> de acordo com as unidades de medida correspondentes.
        /// </summary>
        /// <remarks>
        /// O objetivo é transformar o valor de apresentação utilizando a unidade de medida de armazenamento.
        /// </remarks>
        public static void AdjustFromUI(this EntradaRequest valor)
        {
            if (!valor.GrandezaApresentacao.Equals(0m))
            {
                valor.TipoValorId = _tipoValorUsuario;

                UnidadeMedida unidadeMedidaNumerador = GetUnidadeMedida(valor.UnidadeMedidaNumeradorId, ref _unidadeMedidaNumerador);
                if (unidadeMedidaNumerador == null)
                {
                    valor.Grandeza = valor.GrandezaApresentacao;
                }
                else
                {
                    UnidadeMedida unidadeMedidaDenominador = GetUnidadeMedida(valor.UnidadeMedidaDenominadorId, ref _unidadeMedidaDenominador);
                    if (unidadeMedidaDenominador == null)
                    {
                        valor.Grandeza = valor.GrandezaApresentacao.Convert(unidadeMedidaNumerador.FatorConversao, valor.FatorConversaoDenominador);
                    }
                    else
                    {
                        valor.Grandeza = valor.GrandezaApresentacao.Convert
                                         (
                            unidadeMedidaNumerador.FatorConversao,
                            unidadeMedidaDenominador.FatorConversao,
                            valor.FatorConversaoNumerador,
                            valor.FatorConversaoDenominador
                                         );
                    }
                }
            }
            else
            {
                valor.Grandeza = 0m;
            }
        }
예제 #2
0
        /// <summary>
        /// Ajusta o valor da propriedade <see cref="EntradaRequest.GrandezaApresentacao"/> de acordo com as unidades de medida correspondentes.
        /// </summary>
        /// <remarks>
        /// O objetivo é transformar o valor (na unidade de armazenamento) utilizando a unidade de medida desejada para apreentação.
        /// </remarks>
        public static void AdjustToUI(this EntradaRequest valor)
        {
            UnidadeMedida unidadeMedidaNumerador   = GetUnidadeMedida(valor.UnidadeMedidaNumeradorId, ref _unidadeMedidaNumerador);
            UnidadeMedida unidadeMedidaDenominador = GetUnidadeMedida(valor.UnidadeMedidaDenominadorId, ref _unidadeMedidaDenominador);

            Decimal grandeza = (valor.Grandeza.HasValue ? valor.Grandeza.Value : 0m);

            // Converte de SI para unidade usada na apresentação.
            if (!valor.Grandeza.Equals(0m))
            {
                if (unidadeMedidaNumerador == null)
                {
                    valor.GrandezaApresentacao = grandeza;
                }
                else
                {
                    if (unidadeMedidaDenominador == null)
                    {
                        valor.GrandezaApresentacao = grandeza.Convert(valor.FatorConversaoNumerador, unidadeMedidaNumerador.FatorConversao);
                    }
                    else
                    {
                        valor.GrandezaApresentacao = grandeza.Convert
                                                     (
                            valor.FatorConversaoNumerador,
                            valor.FatorConversaoDenominador,
                            unidadeMedidaNumerador.FatorConversao,
                            unidadeMedidaDenominador.FatorConversao
                                                     );
                    }
                }
            }
            else
            {
                valor.GrandezaApresentacao = 0m;
            }

            // Formata representação do valor.
            StringBuilder sb = new StringBuilder();

            if (unidadeMedidaNumerador != null)
            {
                sb.Append(unidadeMedidaNumerador.Representacao);

                if (!(unidadeMedidaDenominador == null || string.IsNullOrEmpty(unidadeMedidaDenominador.Representacao)))
                {
                    if (sb.Length > 0)
                    {
                        // Já foi acrescentada representação de unidade do numerador.
                        sb.Append("/");
                    }
                    sb.Append(unidadeMedidaDenominador.Representacao);
                }
            }
            valor.Representacao = sb.ToString();
        }
예제 #3
0
 public ResponseBase <UsuarioDTO> Entrar([FromBody] EntradaRequest request)
 {
     using (AutenticacaoAppService appService = new AutenticacaoAppService(_configuration, _contexto))
     {
         ResponseBase <UsuarioDTO> br = appService.ValidarEntrada(request.Email, request.Senha);
         br.TempoLevado = appService.swTempoRequisicao.Elapsed;
         br.Autorizado  = br.Mensagens.Count == 0;
         return(br);
     }
 }
예제 #4
0
        public IActionResult AddEntrada([FromBody] EntradaRequest entradaRequest)
        {
            try
            {
                string erro             = "";
                var    vlTotalCategoria = entradaRequest.VlDizimo + entradaRequest.VlOferta + entradaRequest.VlMissoes + entradaRequest.VlReforma;
                var    vlTotalTipo      = entradaRequest.VlNotas + entradaRequest.VlMoedas + entradaRequest.VlCheques + entradaRequest.VlDebito + entradaRequest.VlCredito + entradaRequest.VlTransf;
                if (vlTotalCategoria != vlTotalTipo)
                {
                    throw new Exception("Os valores de Dizimos e Ofertas não conferem com o informado em Notas/Cartões/Transf. etc");
                }

                //VALIDAR PESSOA
                int idPessoa;

                if (entradaRequest.Nome.ToUpper() != "ANÔNIMO")
                {
                    var pessoa = _unitOfWork.Pessoas.Selecionar(nomeCripto: Util.DataCript.Encriptar(entradaRequest.Nome.ToUpper()));

                    if (pessoa.Count > 0)
                    {
                        idPessoa = pessoa.FirstOrDefault().ID;
                    }
                    else
                    {
                        idPessoa = _unitOfWork.Pessoas.Incluir(Util.DataCript.Encriptar(entradaRequest.Nome.ToUpper()));
                    }
                }
                else
                {
                    idPessoa = 1;
                }

                //CATEGORIA
                if (entradaRequest.VlDizimo > 0)
                {
                    _unitOfWork.DetalhesCategoria.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 1, entradaRequest.VlDizimo, entradaRequest.Observacao);
                }
                if (entradaRequest.VlOferta > 0)
                {
                    _unitOfWork.DetalhesCategoria.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 2, entradaRequest.VlOferta, entradaRequest.Observacao);
                }
                if (entradaRequest.VlMissoes > 0)
                {
                    _unitOfWork.DetalhesCategoria.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 3, entradaRequest.VlMissoes, entradaRequest.Observacao);
                }
                if (entradaRequest.VlReforma > 0)
                {
                    _unitOfWork.DetalhesCategoria.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 4, entradaRequest.VlReforma, entradaRequest.Observacao);
                }

                //TIPO
                if (entradaRequest.VlNotas > 0)
                {
                    _unitOfWork.DetalhesTipo.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 1, entradaRequest.VlNotas, entradaRequest.Observacao);
                }
                if (entradaRequest.VlMoedas > 0)
                {
                    _unitOfWork.DetalhesTipo.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 2, entradaRequest.VlMoedas, entradaRequest.Observacao);
                }
                if (entradaRequest.VlCheques > 0)
                {
                    _unitOfWork.DetalhesTipo.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 3, entradaRequest.VlCheques, entradaRequest.Observacao);
                }
                if (entradaRequest.VlDebito > 0)
                {
                    _unitOfWork.DetalhesTipo.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 4, entradaRequest.VlDebito, entradaRequest.Observacao);
                }
                if (entradaRequest.VlCredito > 0)
                {
                    _unitOfWork.DetalhesTipo.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 5, entradaRequest.VlCredito, entradaRequest.Observacao);
                }
                if (entradaRequest.VlTransf > 0)
                {
                    _unitOfWork.DetalhesTipo.Inserir(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))), idPessoa, 6, entradaRequest.VlTransf, entradaRequest.Observacao);
                }

                var listaDetalhes = _unitOfWork.CabecalhosEntradas.ListaDetalhes(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))));

                EntradaResponse total = new EntradaResponse
                {
                    VlTotalDizimo  = listaDetalhes[0].ItensCategoria.Where(w => w.IdCategoria == 1).Sum(s => s.Valor),
                    VlTotalOferta  = listaDetalhes[0].ItensCategoria.Where(w => w.IdCategoria == 2).Sum(s => s.Valor),
                    VlTotalMissoes = listaDetalhes[0].ItensCategoria.Where(w => w.IdCategoria == 3).Sum(s => s.Valor),
                    VlTotalReforma = listaDetalhes[0].ItensCategoria.Where(w => w.IdCategoria == 4).Sum(s => s.Valor),

                    VlTotalNotas   = listaDetalhes[0].ItensTipo.Where(w => w.IdTipo == 1).Sum(s => s.Valor),
                    VlTotalMoedas  = listaDetalhes[0].ItensTipo.Where(w => w.IdTipo == 2).Sum(s => s.Valor),
                    VlTotalCheque  = listaDetalhes[0].ItensTipo.Where(w => w.IdTipo == 3).Sum(s => s.Valor),
                    VlTotalDebito  = listaDetalhes[0].ItensTipo.Where(w => w.IdTipo == 4).Sum(s => s.Valor),
                    VlTotalCredito = listaDetalhes[0].ItensTipo.Where(w => w.IdTipo == 5).Sum(s => s.Valor),
                    VlTotalTransf  = listaDetalhes[0].ItensTipo.Where(w => w.IdTipo == 6).Sum(s => s.Valor),
                };
                total.VlTotalCategoria = total.VlTotalDizimo + total.VlTotalOferta + total.VlTotalMissoes + total.VlTotalReforma;
                total.VlTotalTipo      = total.VlTotalNotas + total.VlTotalMoedas + total.VlTotalCheque + total.VlTotalDebito + total.VlTotalCredito + total.VlTotalTransf;

                var lista = _unitOfWork.CabecalhosEntradas.ListarResponse(Convert.ToInt32(Util.DataCript.Decriptar(HttpContext.Session.GetString("_hash"))));

                RetornoResponse retorno = new RetornoResponse
                {
                    retornoTotais = total,
                    retornoLista  = lista,
                    retornoErro   = erro
                };

                return(Json(retorno));
            }
            catch (Exception ex)
            {
                return(BadRequest(Json(ex)));
            }
        }
예제 #5
0
 internal static void AdjustFromUI(this EntradaRequest valor, Decimal grandeza)
 {
     valor.GrandezaApresentacao = grandeza;
     valor.AdjustFromUI();
 }
        protected virtual Collection <EntradaRequest> GetEntradas(Collection <EntradaRequest> entities)
        {
            try
            {
                Collection <EntradaRequest> entradas = new Collection <EntradaRequest>();

                TypeAccessor entradaAccessor = TypeAccessor.Create(typeof(EntradaRequest));
                TypeAccessor modelAccessor   = TypeAccessor.Create(typeof(EntradaRequest));

                var agrupamento = (Dictionary <String, Int32>)modelAccessor[entities[0], "Agrupamento"];

                if (agrupamento.Count == 0)
                {
                    entradas = new Collection <EntradaRequest>(entities.Where(e => e != null && e.CenarioId > 0 && e.SimboloId > 0 && e.EntidadeCodigo1 != null)
                                                               .Select(e => new EntradaRequest
                    {
                        Id                         = e.Id,
                        CenarioId                  = e.CenarioId,
                        SimboloId                  = e.SimboloId,
                        GrandezaApresentacao       = e.GrandezaApresentacao,
                        EntidadeCodigo1            = e.EntidadeCodigo1,
                        EntidadeCodigo2            = e.EntidadeCodigo2,
                        EntidadeCodigo3            = e.EntidadeCodigo3,
                        EntidadeCodigo4            = e.EntidadeCodigo4,
                        EntidadeCodigo5            = e.EntidadeCodigo5,
                        EntidadeCodigo6            = e.EntidadeCodigo6,
                        UnidadeMedidaDenominadorId = e.UnidadeMedidaDenominadorId,
                        UnidadeMedidaNumeradorId   = e.UnidadeMedidaNumeradorId,
                        ValorAtual                 = e.GrandezaApresentacao
                    }).ToList());
                }
                else
                {
                    foreach (EntradaRequest item in entities.Where(e => e.CenarioId > 0 && e.SimboloId > 0 && e.EntidadeCodigo1 != null))
                    {
                        Int32   cenarioId            = item.CenarioId;
                        Int32   simboloId            = item.SimboloId;
                        Decimal grandezaApresentacao = item.GrandezaApresentacao;

                        agrupamento = (Dictionary <String, Int32>)modelAccessor[item, "Agrupamento"];
                        foreach (var grupo in agrupamento)
                        {
                            EntradaRequest entrada = new EntradaRequest
                            {
                                Id                         = grupo.Value,
                                CenarioId                  = cenarioId,
                                SimboloId                  = simboloId,
                                GrandezaApresentacao       = grandezaApresentacao,
                                UnidadeMedidaDenominadorId = item.UnidadeMedidaDenominadorId,
                                UnidadeMedidaNumeradorId   = item.UnidadeMedidaNumeradorId,
                                ValorAtual                 = grandezaApresentacao
                            };

                            Int32 dimensoes = this.Dimensoes;
                            for (int i = 1; i < dimensoes; i++)
                            {
                                String campo = String.Format("EntidadeCodigo{0}", i);
                                entradaAccessor[entrada, campo] = modelAccessor[item, campo];
                            }

                            entradaAccessor[entrada, String.Format("EntidadeCodigo{0}", dimensoes)] = grupo.Key;

                            entradas.Add(entrada);
                        }
                    }
                }

                return(ValidateMC(entradas) ? entradas : null);
            }
            catch (Exception ex)
            {
                throw;
            }
        }