public static ConsultorDao ToApp(this Funcionario funcionario)
        {
            var consultorDao = new ConsultorDao();

            consultorDao.FuncionarioID = funcionario.FuncionarioID;
            consultorDao.Numero        = funcionario.Numero;
            consultorDao.LojaDao.Add(new LojaDao()
            {
                LojaID       = funcionario.Loja.LojaID,
                NomeFantasia = funcionario.Loja.NomeFantasia
            });
            consultorDao.Nome = funcionario.Nome;
            if (!string.IsNullOrEmpty(funcionario.Telefone))
            {
                if (funcionario.Telefone.Length > 10)
                {
                    consultorDao.Telefone = Convert.ToInt64(funcionario.Telefone).ToString("(##) #####-####");
                }
                else
                {
                    consultorDao.Telefone = Convert.ToInt64(funcionario.Telefone).ToString("(##) ####-####");
                }
            }
            consultorDao.Email = funcionario.Email;
            consultorDao.Ativo = funcionario.Ativo;

            return(consultorDao);
        }
Example #2
0
        private void ValidarAlterar(ConsultorDao consultorDao, out Funcionario funcionario)
        {
            if (consultorDao == null)
            {
                throw new BusinessException("Consultor é obrigatório");
            }

            if (consultorDao.FuncionarioID <= 0)
            {
                throw new BusinessException("FuncionarioID é obrigatório");
            }

            // se nenhum foi informado
            if (string.IsNullOrEmpty(consultorDao.Nome) &&
                string.IsNullOrEmpty(consultorDao.Email) &&
                string.IsNullOrEmpty(consultorDao.Telefone) &&
                (consultorDao.LojaDao == null || consultorDao.LojaDao.Count(x => x.LojaID > 0) <= 0))
            {
                throw new BusinessException("Infome algum campo a ser atualizado");
            }

            funcionario = consultorRepository.Listar(new Funcionario()
            {
                FuncionarioID = consultorDao.FuncionarioID
            }).FirstOrDefault();

            if (funcionario == null)
            {
                throw new BusinessException(string.Format("Consultor {0} não encontrado", consultorDao.FuncionarioID));
            }
        }
Example #3
0
        public JsonResult Incluir(ConsultorDao consultorDao)
        {
            try
            {
                consultorBusiness.Incluir(consultorDao);

                return(Json(new { Sucesso = true, Mensagem = "Consultor cadastrado com sucesso!" }, JsonRequestBehavior.AllowGet));
            }
            catch (BusinessException ex)
            {
                return(Json(new { Sucesso = false, Mensagem = ex.Message }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { Sucesso = false, Mensagem = "Ocorreu um erro. Consultor não cadastrado. Tente novamente." }, JsonRequestBehavior.AllowGet));
            }
        }
Example #4
0
        public void Incluir(ConsultorDao consultorDao)
        {
            try
            {
                ValidarIncluir(consultorDao);

                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions()
                {
                    Timeout = TimeSpan.FromMinutes(10)
                }))
                {
                    var funcionarioId = consultorRepository.Incluir(consultorDao.ToBd());

                    var nomes = consultorDao.Nome.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                    var login = string.Empty;

                    if (nomes.Length == 1)
                    {
                        login = nomes.FirstOrDefault().ToLower();
                    }
                    else if (nomes.Length > 1)
                    {
                        login = nomes.FirstOrDefault().ToLower() + "." + nomes.LastOrDefault().ToLower();
                    }

                    usuarioBusiness.Incluir(new UsuarioDao()
                    {
                        Ativo = true, Senha = "123456", TipoUsuarioID = (int)TipoUsuarioDao.ETipoUsuario.Vendedor, UsuarioID = funcionarioId, Login = login
                    });

                    scope.Complete();
                }
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });
                throw ex;
            }
        }
Example #5
0
        public void Alterar(ConsultorDao consultorDao)
        {
            try
            {
                Funcionario funcionario;

                ValidarAlterar(consultorDao, out funcionario);

                if (!string.IsNullOrEmpty(consultorDao.Nome))
                {
                    funcionario.Nome = consultorDao.Nome;
                }

                if (!string.IsNullOrEmpty(consultorDao.Email))
                {
                    funcionario.Email = consultorDao.Email;
                }

                if (!string.IsNullOrEmpty(consultorDao.Telefone))
                {
                    funcionario.Telefone = consultorDao.Telefone.Trim().Replace(".", "").Replace("-", "").Replace("(", "").Replace(")", "").Replace(" ", "");
                }

                if (consultorDao.LojaDao != null && consultorDao.LojaDao.Count(x => x.LojaID > 0) > 0)
                {
                    funcionario.LojaID = consultorDao.LojaDao.FirstOrDefault().LojaID;
                }

                consultorRepository.Alterar(funcionario);
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });

                throw ex;
            }
        }
Example #6
0
        public ActionResult Lista()
        {
            string tela = "";

            if (!SessaoAtivaEPerfilValidado(out tela))
            {
                Response.Redirect(tela, true);
                return(null);
            }

            var consultorDao = new ConsultorDao();

            consultorDao.LojaDao = lojaBusiness.Listar(new LojaDao()
            {
                Ativo = true
            });

            return(View(consultorDao));
        }
Example #7
0
        public JsonResult Listar(ConsultorDao consultorDao)
        {
            List <ConsultorDao> consultores = new List <ConsultorDao>();

            try
            {
                consultores = consultorBusiness.Listar(consultorDao);

                return(Json(consultores, JsonRequestBehavior.AllowGet));
            }
            catch (BusinessException ex)
            {
                return(Json(consultores, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(consultores, JsonRequestBehavior.AllowGet));
            }
        }
Example #8
0
        public List <ConsultorDao> Listar(ConsultorDao consultorDao)
        {
            try
            {
                return(consultorRepository.Listar(consultorDao.ToBd()).Select(x => x.ToApp()).ToList());
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });

                throw ex;
            }
        }
Example #9
0
        public ActionResult Lista()
        {
            string tela = "";

            if (!SessaoAtivaEPerfilValidado(out tela))
            {
                Response.Redirect(tela, true);
                return(null);
            }

            var pedidoDao = new PedidoDao();

            pedidoDao.PedidoStatusDao = pedidoStatusBusiness.Listar(new PedidoStatusDao()
            {
                Ativo = true
            }).ToList();

            // filtra os consultores por usuário logado
            var consultorDao = new ConsultorDao();

            if (Request.Cookies.Get("ChicoDoColchao_Usuario") != null)
            {
                var usuarioDao = JsonConvert.DeserializeObject <UsuarioDao>(Request.Cookies.Get("ChicoDoColchao_Usuario").Value);

                if (usuarioDao != null && usuarioDao.TipoUsuarioDao?.TipoUsuarioID == TipoUsuarioDao.ETipoUsuario.Vendedor.GetHashCode())
                {
                    consultorDao.FuncionarioID = usuarioDao.UsuarioID;
                }
            }
            pedidoDao.ConsultorDao = consultorBusiness.Listar(consultorDao);

            var lojasDao = lojaBusiness.Listar(new LojaDao()
            {
                Ativo = true
            });

            pedidoDao.LojaSaidaDao = lojasDao;
            pedidoDao.LojaDao      = lojasDao;

            return(View(pedidoDao));
        }
Example #10
0
        private void ValidarIncluir(ConsultorDao consultorDao)
        {
            if (consultorDao == null)
            {
                throw new BusinessException("Consultor é obrigatório");
            }

            if (consultorDao.Numero.GetValueOrDefault() <= 0)
            {
                throw new BusinessException("Número é obrigatório");
            }

            if (consultorDao.LojaDao == null || consultorDao.LojaDao.Count <= 0 || consultorDao.LojaDao.FirstOrDefault().LojaID <= 0)
            {
                throw new BusinessException("Loja é obrigatória");
            }

            if (string.IsNullOrEmpty(consultorDao.Nome))
            {
                throw new BusinessException("Nome é obrigatório");
            }

            if (string.IsNullOrEmpty(consultorDao.Email))
            {
                throw new BusinessException("E-mail é obrigatório");
            }

            if (string.IsNullOrEmpty(consultorDao.Telefone))
            {
                throw new BusinessException("Telefone é obrigatório");
            }

            if (consultorRepository.Listar(new Funcionario()
            {
                Numero = consultorDao.Numero.GetValueOrDefault()
            }).FirstOrDefault() != null)
            {
                throw new BusinessException(string.Format("Consultor (Número {0}) já cadastrado", consultorDao.Numero.GetValueOrDefault()));
            }
        }
Example #11
0
        public JsonResult Alterar(ConsultorDao consultorDao)
        {
            try
            {
                consultorBusiness.Alterar(consultorDao);

                var consultores = consultorBusiness.Listar(new ConsultorDao()
                {
                    Ativo = true
                });

                return(Json(new { Sucesso = true, Mensagem = $"Consultor alterado com sucesso!", Lista = consultores }, JsonRequestBehavior.AllowGet));
            }
            catch (BusinessException ex)
            {
                return(Json(new { Sucesso = false, Mensagem = ex.Message, Erro = ex.Message }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { Sucesso = false, Mensagem = "Ocorreu um erro. Consultor não alterado. Tente novamente.", Erro = ex.ToString() }, JsonRequestBehavior.AllowGet));
            }
        }
Example #12
0
        private void ValidarExcluir(ConsultorDao consultorDao, out Funcionario funcionario)
        {
            if (consultorDao == null)
            {
                throw new BusinessException("Consultor é obrigatório");
            }

            if (consultorDao.FuncionarioID <= 0)
            {
                throw new BusinessException("FuncionarioID é obrigatório");
            }

            funcionario = consultorRepository.Listar(new Funcionario()
            {
                FuncionarioID = consultorDao.FuncionarioID
            }).FirstOrDefault();

            if (funcionario == null)
            {
                throw new BusinessException(string.Format("Consultor {0} não encontrado", consultorDao.FuncionarioID));
            }
        }
Example #13
0
        public ActionResult VendaConsultor()
        {
            var consultoresDao = new List <ConsultorDao>();
            var consultorDao   = new ConsultorDao()
            {
                Ativo = true
            };

            try
            {
                string tela = "";
                if (!SessaoAtivaEPerfilValidado(out tela))
                {
                    Response.Redirect(tela, true);
                    return(null);
                }

                // filtra os consultores por consultado logado
                if (Request.Cookies.Get("ChicoDoColchao_Usuario") != null)
                {
                    var usuarioDao = JsonConvert.DeserializeObject <UsuarioDao>(Request.Cookies.Get("ChicoDoColchao_Usuario").Value);
                    if (usuarioDao != null && usuarioDao.TipoUsuarioDao?.TipoUsuarioID == TipoUsuarioDao.ETipoUsuario.Vendedor.GetHashCode())
                    {
                        consultorDao.FuncionarioID = usuarioDao.UsuarioID;
                    }
                }

                consultoresDao = consultorBusiness.Listar(consultorDao);
            }
            catch (Exception ex)
            {
            }

            ViewBag.ConsultoresDao = consultoresDao;

            return(View());
        }
Example #14
0
        public ActionResult Index()
        {
            string tela = "";

            if (!SessaoAtivaEPerfilValidado(out tela))
            {
                Response.Redirect(tela, true);
                return(null);
            }

            var lojasDao = lojaBusiness.Listar(new LojaDao()
            {
                Ativo = true
            });

            // filtra as lojas por usuário
            var consultorDao = new ConsultorDao();

            if (Request.Cookies.Get("ChicoDoColchao_Usuario") != null)
            {
                var usuarioDao = JsonConvert.DeserializeObject <UsuarioDao>(Request.Cookies.Get("ChicoDoColchao_Usuario").Value);
                if (usuarioDao != null && usuarioDao.TipoUsuarioDao?.TipoUsuarioID == TipoUsuarioDao.ETipoUsuario.Vendedor.GetHashCode())
                {
                    var consultor = consultorBusiness.Listar(new ConsultorDao()
                    {
                        FuncionarioID = usuarioDao.UsuarioID
                    }).FirstOrDefault();

                    if (consultor != null)
                    {
                        lojasDao = lojasDao.Where(x => x.LojaID == consultor.LojaDao.FirstOrDefault().LojaID).ToList();
                    }
                }
            }

            return(View(lojasDao));
        }
Example #15
0
        public void Excluir(ConsultorDao consultorDao)
        {
            try
            {
                Funcionario funcionario;

                ValidarExcluir(consultorDao, out funcionario);

                consultorRepository.Excluir(funcionario);
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });

                throw ex;
            }
        }
        public static Funcionario ToBd(this ConsultorDao consultorDao)
        {
            var funcionario = new Funcionario();

            funcionario.FuncionarioID = consultorDao.FuncionarioID;
            funcionario.Numero        = consultorDao.Numero.GetValueOrDefault();
            if (consultorDao.LojaDao.FirstOrDefault() != null)
            {
                funcionario.LojaID = consultorDao.LojaDao.FirstOrDefault().LojaID;
                funcionario.Loja   = new Loja()
                {
                    LojaID = consultorDao.LojaDao.FirstOrDefault().LojaID
                };
            }
            funcionario.Nome = consultorDao.Nome;
            if (!string.IsNullOrEmpty(consultorDao.Telefone))
            {
                funcionario.Telefone = consultorDao.Telefone.Trim().Replace(".", "").Replace("-", "").Replace("(", "").Replace(")", "").Replace(" ", "");
            }
            funcionario.Email = consultorDao.Email;
            funcionario.Ativo = consultorDao.Ativo;

            return(funcionario);
        }
Example #17
0
        public ActionResult Cadastro(string orcamentoID = null)
        {
            var pedidoDao = new PedidoDao();

            try
            {
                string tela = "";
                if (!SessaoAtivaEPerfilValidado(out tela))
                {
                    Response.Redirect(tela, true);
                    return(null);
                }

                // lista somente os status "Previsão de entrega" e "Retirado na Loja"
                pedidoDao.PedidoStatusDao = pedidoStatusBusiness.Listar(new PedidoStatusDao()).Where(x => x.PedidoStatusID == (int)PedidoStatusDao.EPedidoStatus.PrevisaoDeEntrega || x.PedidoStatusID == (int)PedidoStatusDao.EPedidoStatus.RetiradoNaLoja).ToList();

                // filtra os consultores por usuário
                var consultorDao = new ConsultorDao();
                if (Request.Cookies.Get("ChicoDoColchao_Usuario") != null)
                {
                    var usuarioDao = JsonConvert.DeserializeObject <UsuarioDao>(Request.Cookies.Get("ChicoDoColchao_Usuario").Value);
                    if (usuarioDao != null && usuarioDao.TipoUsuarioDao?.TipoUsuarioID == TipoUsuarioDao.ETipoUsuario.Vendedor.GetHashCode())
                    {
                        consultorDao.FuncionarioID = usuarioDao.UsuarioID;
                    }
                }
                pedidoDao.ConsultorDao = consultorBusiness.Listar(consultorDao);

                var lojasDao = lojaBusiness.Listar(new LojaDao()
                {
                    Ativo = true
                });

                pedidoDao.LojaSaidaDao = lojasDao;
                pedidoDao.LojaDao      = lojasDao;

                pedidoDao.TipoPagamentoDao = tipoPagamentoBusiness.Listar(new TipoPagamentoDao());

                if (!string.IsNullOrEmpty(orcamentoID)) // orçamento
                {
                    var orcamentoDao = orcamentoBusiness.Listar(new OrcamentoDao()
                    {
                        OrcamentoID = Convert.ToInt32(orcamentoID)
                    }).FirstOrDefault();

                    // se não existe orçamento ou já virou venda deve ser direcionado para outra página
                    if (orcamentoDao == null || orcamentoDao.PedidoDao != null)
                    {
                        return(View(pedidoDao));
                    }

                    ViewBag.OrcamentoDao = orcamentoDao;
                }
            }
            catch (Exception ex)
            {
            }

            ViewBag.ParcelaDao = parcelaBusiness.Listar(new ParcelaDao());

            return(View(pedidoDao));
        }
Example #18
0
        public ActionResult Troca(string pedidoId = null)
        {
            var pedidoDao = new PedidoDao();

            try
            {
                string tela = "";
                if (!SessaoAtivaEPerfilValidado(out tela))
                {
                    Response.Redirect(tela, true);
                    return(null);
                }

                int id = 0;
                int.TryParse(pedidoId, out id);

                if (id <= 0)
                {
                    return(RedirectToAction("Index", "Menu"));
                }

                // lista somente os status "Previsão de entrega" e "Retirado na Loja"
                pedidoDao.PedidoStatusDao = pedidoStatusBusiness.Listar(new PedidoStatusDao()).Where(x => x.PedidoStatusID == (int)PedidoStatusDao.EPedidoStatus.PrevisaoDeEntrega || x.PedidoStatusID == (int)PedidoStatusDao.EPedidoStatus.RetiradoNaLoja).ToList();

                // filtra os consultores por loja logada, se existir
                var consultorDao = new ConsultorDao();
                if (Request.Cookies.Get("ChicoDoColchao_Usuario") != null)
                {
                    var usuarioDao = JsonConvert.DeserializeObject <UsuarioDao>(Request.Cookies.Get("ChicoDoColchao_Usuario").Value);
                    if (usuarioDao != null && usuarioDao.TipoUsuarioDao?.TipoUsuarioID == TipoUsuarioDao.ETipoUsuario.Vendedor.GetHashCode())
                    {
                        consultorDao.FuncionarioID = usuarioDao.UsuarioID;
                    }
                }
                pedidoDao.ConsultorDao = consultorBusiness.Listar(consultorDao);

                var lojasDao = lojaBusiness.Listar(new LojaDao()
                {
                    Ativo = true
                });

                pedidoDao.LojaSaidaDao = lojasDao;
                pedidoDao.LojaDao      = lojasDao;

                pedidoDao.TipoPagamentoDao = tipoPagamentoBusiness.Listar(new TipoPagamentoDao());

                var p = pedidoBusiness.Listar(new PedidoDao()
                {
                    PedidoID = id
                }, false, 0).FirstOrDefault();

                if (p == null)
                {
                    return(RedirectToAction("Index", "Menu"));
                }

                ViewBag.PedidoDao = p;
            }
            catch (Exception ex)
            {
            }

            ViewBag.ParcelaDao = parcelaBusiness.Listar(new ParcelaDao());

            return(View(pedidoDao));
        }