Пример #1
0
        private async Task <CarrinhoCliente> ObterCarrinhoCliente()
        {
            var userId = _user.ObterUserId();

            return(await _context.CarrinhoCliente
                   .Include(c => c.Itens)
                   .FirstOrDefaultAsync(c => c.ClienteId == userId));
        }
Пример #2
0
        private void ManipularNovoCarrinho(CarrinhoItem item)
        {
            var carrinho = new CarrinhoCliente(user.ObterUserId());

            carrinho.AdicionarItem(item);
            ValidarCarrinho(carrinho);
            context.CarrinhoCliente.Add(carrinho);
        }
Пример #3
0
        private async Task <TermoTransferencia> ObterTermoTransferenciaCliente()
        {
            var termo = await _context.TermoTransferencia
                        .Include(c => c.Itens)
                        .FirstOrDefaultAsync(c => c.ResponsavelCedenteId == _user.ObterUserId());

            return(termo);
        }
Пример #4
0
        public static async Task LogChanges(this FinoSaborContext context, IAspNetUser appuser)
        {
            //var logTime = DateTime.Now;
            const string emptyJson = "{}";
            const string idColumn  = "id";

            Guid?user = null;

            if (!string.IsNullOrEmpty(appuser.ObterUserId().ToString()))
            {
                user = appuser.ObterUserId();
            }

            var changes = context.ChangeTracker.Entries()
                          .Where(x => entityStates.Contains(x.State) && x.Entity.GetType().IsSubclassOf(typeof(EntityBase)))
                          .ToList();

            var jdp = new JsonDiffPatch();

            foreach (var item in changes)
            {
                var original     = emptyJson;
                var updated      = JsonConvert.SerializeObject(item.CurrentValues.Properties.ToDictionary(pn => pn.Name, pn => item.CurrentValues[pn]));
                var creationDate = DateTime.Now;

                if (item.State == EntityState.Modified)
                {
                    var dbValues = await item.GetDatabaseValuesAsync();

                    if (dbValues != null)
                    {
                        original = JsonConvert.SerializeObject(dbValues.Properties.ToDictionary(pn => pn.Name, pn => dbValues[pn]));
                        //creationDate = dbValues.GetValue<DateTime>("DataCadastro");
                    }
                }

                //item.Property("DataCadastro").CurrentValue = creationDate;

                string jsonDiff = jdp.Diff(original, updated);

                if (string.IsNullOrWhiteSpace(jsonDiff) == false)
                {
                    var EntityDiff = JToken.Parse(jsonDiff).ToString(Formatting.None);

                    var log = new Log()
                    {
                        nome_entidade = item.Entity.GetType().Name,
                        id_entidade   = new Guid(item.CurrentValues[idColumn].ToString()),
                        //LogDateTime = logTime,
                        operacao          = item.State.ToString(),
                        id_usuario        = user,
                        valores_alterados = EntityDiff,
                    };

                    context.log.Add(log);
                }
            }
        }
 private async Task <CarrinhoCliente> ObterCarrinhoCliente()
 {
     try
     {
         return(await _context.CarrinhoCliente
                .Include(c => c.Itens)
                .FirstOrDefaultAsync(c => c.ClienteId == _user.ObterUserId()));
     }catch (Exception ex)
     {
     }
     return(null);
 }
        public async Task <IActionResult> NovaSolicitacao(Models.SolicitacaoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            model.IdSolicitante   = _user.ObterUserId();
            model.CodDepartamento = "ATENDIMENTO";
            var response = await _solicitacaoService.Adicionar(model);

            if (ResponsePossuiErros(response.ResponseResult))
            {
                return(View(response));
            }

            return(RedirectToAction("Solicitacoes", "Solicitacao"));
        }
Пример #7
0
        protected MainController(INotificador notificador,
                                 IAspNetUser appUser)
        {
            _notificador = notificador;
            AppUser      = appUser;

            if (appUser.EstaAutenticado())
            {
                UsuarioId          = appUser.ObterUserId();
                UsuarioAutenticado = true;
            }
        }
        public async Task <IActionResult> ResponderSolicitacao(SolicitacaoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var solicitacao = await _solicitacaoService.ObterPorId(model.Id);

            if (solicitacao != null)
            {
                OrdemViewModel ordem = new OrdemViewModel
                {
                    IdSolicitacao   = solicitacao.Id,
                    IdSolicitante   = _user.ObterUserId(),
                    CodDepartamento = solicitacao.CodDepartamento,
                    DataSolucao     = DateTime.Now,
                    Solucao         = model.Solucao,
                    Descricao       = "Resposta a solicitação do cidadão"
                };

                var response = await _ordemService.Adicionar(ordem);

                if (ResponsePossuiErros(response))
                {
                    TempData["Erros"]   = ModelState.Values.SelectMany(v => v.Errors.Select(e => e.ErrorMessage)).ToList();
                    ViewData["Cidadao"] = await _cidadaoService.ObterPorId(solicitacao.IdSolicitante);

                    return(View(model));
                }
                return(RedirectToAction("AtenderSolicitacao", "Departamento"));
            }
            else
            {
                AdicionarErroValidacao("Solicitação não encontrada.");
            }
            return(RedirectToAction("AtenderSolicitacao", "Departamento"));
        }
        public async Task <IActionResult> ObterEndereco()
        {
            var endereco = await _clienteRepository.ObterEnderecoPorId(_user.ObterUserId());

            return(endereco == null?NotFound() : CustomResponse(endereco));
        }
 private async Task <CarrinhoCliente> ObterCarrinhoCliente()
 {
     return(await _carrinhoContext.CarrinhoCliente
            .Include(c => c.Itens)
            .FirstOrDefaultAsync(p => p.ClienteId == _user.ObterUserId()));
 }
 public async Task <IActionResult> AdicionarPedido(AdicionarPedidoCommand pedido)
 {
     pedido.ClienteId = _user.ObterUserId();
     return(CustomResponse(await _mediator.EnviarComando(pedido)));
 }
Пример #12
0
 public async Task <CarrinhoCliente> ObterCarrinho()
 {
     return(await _carrinhoRepository.ObterCarrinhoCliente(_user.ObterUserId()) ?? new CarrinhoCliente(_user.ObterUserId()));
 }
 private async Task <CarrinhoCliente> ObterCarrinhoCliente()
 => await _context.CarrinhoClientes
 .Include(c => c.Itens)
 .FirstOrDefaultAsync(c => c.ClienteId == _user.ObterUserId());