示例#1
0
        public async Task <IActionResult> Edit(int id, int pagina = 1)
        {
            var pedidoAdmViewModel = await _pedidoAppServices.GetPedidoAdm(id);

            var usuarioViewModel = await _usuarioAppServices.GetByIdAsync(pedidoAdmViewModel.UsuarioId);

            var empresaViewModel = await _empresaAppServices.GetEmpresaByUserId(usuarioViewModel.UserId);

            pedidoAdmViewModel.CNPJ        = empresaViewModel.Cnpj;
            pedidoAdmViewModel.RazaoSocial = empresaViewModel.RazaoSocial;
            pedidoAdmViewModel.NomeOtica   = empresaViewModel.NomeOtica;

            var produtos = await _pedidoAppServices.GetProdutosByPedido(id);

            pedidoAdmViewModel.ProdutosPedido = await produtos.OrderBy(x => x.Produto.Referencia).ToList().ToPagedListAsync(pagina, 20);

            var referencias = await _produtoAppServices.GetAllAsync(null);

            var kits = await _kitAppServices.GetAllAsync();

            var referenciaSelect = referencias.Select(item => new SelectListItem {
                Value = $"{item.Id},produto", Text = item.Referencia
            }).ToList();

            referenciaSelect.AddRange(kits.Select(item => new SelectListItem {
                Value = $"{item.Id},kit", Text = $"Kit {item.Nome}"
            }));

            pedidoAdmViewModel.Referencias = referenciaSelect;

            var cores = await _corAppServices.GetAllAsync();

            pedidoAdmViewModel.CoresSelect = await cores
                                             .Select(item => new SelectListItem {
                Value = $"{item.Id}", Text = item.Descricao
            }).ToListAsync();

            if (TempData["ErrorModel"] != null)
            {
                pedidoAdmViewModel.StatusModel = "Error";
                ModelState.AddModelError(string.Empty, TempData["ErrorModel"].ToString());
            }
            if (TempData["Success"] != null)
            {
                pedidoAdmViewModel.StatusModel = "Success";
                ModelState.AddModelError(string.Empty, TempData["Success"].ToString());
            }

            return(View("Edit", pedidoAdmViewModel));
        }
示例#2
0
        public async Task <IActionResult> Pagamento()
        {
            var carrinho = SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(HttpContext.Session, "cart");

            if (carrinho == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var user = await _userManager.GetUserAsync(User);

            var empresa = await _empresaAppServices.GetEmpresaByUserId(user.Id);

            var usuario = await _usuarioAppServices.GetByUserIdAsync(user.Id);

            var valorTotalPedido = ToValorTotal(carrinho, usuario.DescontoCliente);
            var fretes           = await _carrinhoAppServices.GetFrete(empresa.Cep, carrinho.Sum(x => x.QuantidadeIndividual), valorTotalPedido);

            TempData["frete"] = JsonConvert.SerializeObject(fretes);

            var statusModel = "success";

            if (TempData["Error"] != null)
            {
                statusModel = "Error";
                ModelState.AddModelError(string.Empty, TempData["Error"].ToString());
            }

            return(View(new CarrinhoPagamentoViewModel(empresa, carrinho, valorTotalPedido, statusModel, fretes)));
        }
示例#3
0
        private async Task LoadAsync(IdentityUser user)
        {
            var empresa = await _empresaAppServices.GetEmpresaByUserId(user.Id);

            var cnpj = $@"{Convert.ToInt64(empresa.Cnpj):00\.000\.000\/0000\-00}";
            var cnae = $@"{Convert.ToInt32(empresa.Cnae):00\.00\-0\-00}";
            var cep  = $@"{Convert.ToInt32(empresa.Cep):00\.000\-000}";
            var tel  = $@"{Convert.ToInt64(empresa.Telefone):(00\) 0000\-0000}";

            Input = new InputModel
            {
                Bairro      = empresa.Bairro,
                Numero      = empresa.Numero,
                Municipio   = empresa.Municipio,
                Complemento = empresa.Complemento,
                Uf          = empresa.Uf,
                Cep         = cep,
                RazaoSocial = empresa.RazaoSocial,
                Cnae        = cnae,
                Logradouro  = empresa.Logradouro,
                Telefone    = tel,
                NomeOtica   = empresa.NomeOtica,
                Cnpj        = cnpj
            };
        }
示例#4
0
        private async Task <IEnumerable <PedidoAdmViewModel> > ToPedidoAdmViewModel(IEnumerable <PedidoModel> listaPedidosModel)
        {
            var listaPedidos = new List <PedidoAdmViewModel>();

            foreach (var pedidoModel in listaPedidosModel)
            {
                var empresa = await _empresaAppServices.GetEmpresaByUserId(pedidoModel.UsuarioModel.UserId);

                var pedidoAdmViewModel = _mapper.Map <PedidoAdmViewModel>(pedidoModel);

                pedidoAdmViewModel.RazaoSocial = empresa.RazaoSocial;

                listaPedidos.Add(pedidoAdmViewModel);
            }

            return(listaPedidos);
        }
示例#5
0
        public async Task <IActionResult> Edit(string userId)
        {
            string status           = null;
            var    usuarioViewModel = await _usuarioAppServices.GetByUserIdAsync(userId);

            usuarioViewModel.Administrador = await GetAdmin(userId);

            var user = await _userManager.FindByIdAsync(usuarioViewModel.UserId);

            var empresaViewModel = await _empresaAppServices.GetEmpresaByUserId(usuarioViewModel.UserId) ?? new EmpresaViewModel();

            if (TempData["Error"] != null)
            {
                status = "Error";
                ModelState.AddModelError(string.Empty, TempData["Error"].ToString());
            }
            else if (TempData["Success"] != null)
            {
                status = "Success";
                ModelState.AddModelError(string.Empty, TempData["Success"].ToString());
            }

            return(View(new UsuarioEmpresaAggregateViewModel(usuarioViewModel, empresaViewModel, user.Email, user.EmailConfirmed, status)));
        }