示例#1
0
        public ActionResult salvar(AtendimentoClienteDTO atendimento)
        {
            AtendimentoViewModel model = new AtendimentoViewModel();
            AtendimentoDAO       dao   = new AtendimentoDAO();

            string idUser = User.Identity.GetUserId();

            atendimento.idVendedor = idUser;
            atendimento.idCliente  = Convert.ToInt32(Session["idCliente"].ToString());


            if (atendimento.Id == 0)
            {
                dao.Salvar(atendimento);
            }
            else
            {
                dao.Atualizar(atendimento);
            }


            model.tiposAtendimento = new TipoAtendimentoDAO().listarTipoAtendimento();


            model.atendimentoClienteDTOs = dao.buscaHistoricoAtendimento(Session["idCliente"].ToString(), idUser);


            return(RedirectToAction("Index"));
        }
示例#2
0
        // GET api/values/5
        public IEnumerable <string> Get(int idAtendimento)
        {
            AtendimentoDAO dao  = new AtendimentoDAO();
            string         json = JsonConvert.SerializeObject(dao.buscaAtendimento(idAtendimento.ToString()), Formatting.Indented);

            return(new string[] { json });
        }
示例#3
0
        private Task CreateLogAsync(GenericViewModel model)
        {
            var dao = new ArosDAO();
            var dto = new HistoricoPropostaDTO();

            model.User       = new UsuariosDAO().LoginEmailApp("", User.Identity.GetUserId().ToString());
            dto.EmailAssunto = model.TituloEmail;
            dto.EmailCliente = model.EmailCliente;
            dto.EmailCopia   = model.EmailCopia;
            dto.EmailCorpo   = model.CorpoEmail;
            dto.ViewName     = model.ViewName;
            dto.ViewModel    = model.ToString();
            dto.UsuarioId    = User.Identity.GetUserId();
            dto.Proposta     = model.CamposTexto_30;

            AtendimentoDAO atendimentoDAO = new AtendimentoDAO();

            AtendimentoClienteDTO atendimentoClienteDTO = new AtendimentoClienteDTO();

            atendimentoClienteDTO.UsuarioId         = User.Identity.GetUserId();
            atendimentoClienteDTO.tipo              = "3";
            atendimentoClienteDTO.dataContato       = DateTime.Now;
            atendimentoClienteDTO.dataVisita        = DateTime.Now;
            atendimentoClienteDTO.obs               = "Orcamento enviado por email :" + model.EmailCliente;
            atendimentoClienteDTO.idCliente         = model.idCliente;
            atendimentoClienteDTO.idTipoAtendimento = 3;
            atendimentoClienteDTO.idVendedor        = User.Identity.GetUserId();
            atendimentoDAO.Salvar(atendimentoClienteDTO);



            dao.SalvarHistoricoProposta(dto);

            return(Task.FromResult(true));
        }
示例#4
0
        public string Post([FromBody] AtendimentoClienteDTO atendimento)
        {
            AtendimentoDAO dao = new AtendimentoDAO();

            dao.Salvar(atendimento);
            return("ok");
        }
示例#5
0
        public IList <Atendimento> BuscaPet(Atendimento atendimento)
        {
            AtendimentoDAO atendDao = new AtendimentoDAO();



            if (atendimento.Pet.CodPet > 0)

            {
                IList <Atendimento> petTemp = atendDao.BuscaPet(atendimento.Pet.CodPet);

                return(petTemp);

                //atendimento.AtendimentoCod = petTemp.AtendimentoCod;
                //atendimento.Servico.Codservico =petTemp.Servico.Codservico;
                //atendimento.Pet.CodPet = petTemp.Pet.CodPet;
                //atendimento.Funcionario.Cod = petTemp.Funcionario.Cod;
                //atendimento.Situacao = petTemp.Situacao;
                //atendimento.DataHora = petTemp.DataHora;
            }
            else
            {
                return(null);
            }
        }
        private List <PizzaFuncionarioInfo> ListaAtendimentosFuncionarios()
        {
            var atendimentos = new AtendimentoDAO().ListaPorData(1);
            var funcionarios = new PessoaDAO().ListaPorFuncao(ETipoPessoa.Funcionario);
            var lista        = new List <PizzaFuncionarioInfo>();

            foreach (var funcionario in funcionarios)
            {
                var convertido = 0;
                foreach (var atendimento in atendimentos)
                {
                    if (funcionario.ID == atendimento.FuncionarioID)
                    {
                        if (atendimento.Resultado == EResultado.Convertido)
                        {
                            convertido++;
                        }
                    }
                }

                var percentual = (convertido * 100) / atendimentos.Count;

                lista.Add(new PizzaFuncionarioInfo(funcionario.Nome, percentual));
            }

            return(lista);
        }
        public ActionResult NaoConverter(int id)
        {
            var atendimento = new AtendimentoDAO().BuscarPorId(id);

            atendimento.Resultado = EResultado.NaoConvertido;
            new AtendimentoDAO().Alterar(atendimento);
            return(RedirectToAction("Index"));
        }
示例#8
0
        public string Post([FromBody] AtendimentoClienteDTO atendimento)
        {
            AtendimentoDAO dao = new AtendimentoDAO();

            atendimento.obs = "Localização Pelo APP";

            dao.Salvar(atendimento);
            return("ok");
        }
示例#9
0
        public void Gravar(Atendimento atendimento)
        {
            AtendimentoDAO atendimentoDAO = new AtendimentoDAO();

            if (atendimento.Situacao != "")
            {
                atendimentoDAO.Insert(atendimento);
            }
        }
示例#10
0
        private void cboFuncionarioOudtpDia_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (cboFuncionario.SelectedIndex == -1 || dtpDia.SelectedDate == null || cboAnimal.SelectedIndex == -1)
            {
                return;
            }

            //Procurar Atendimentos no dia do funcionário
            List <Atendimento> lstAtendimentosFuncionario = AtendimentoDAO.BuscarPorFuncionarioIdEDia((int)cboFuncionario.SelectedValue, (DateTime)dtpDia.SelectedDate);
            List <Atendimento> lstAtendimentosAnimal      = AtendimentoDAO.BuscarPorAnimalIdEDia((int)cboAnimal.SelectedValue, (DateTime)dtpDia.SelectedDate);

            List <Atendimento> lstAtendimentos = new List <Atendimento>();

            //Concact
            foreach (Atendimento at in lstAtendimentosFuncionario)
            {
                if (!lstAtendimentos.Contains(at))
                {
                    lstAtendimentos.Add(at);
                }
            }

            foreach (Atendimento at in lstAtendimentosAnimal)
            {
                if (!lstAtendimentos.Contains(at))
                {
                    lstAtendimentos.Add(at);
                }
            }

            lstOcupados = new List <dynamic>();

            if (lstAtendimentosFuncionario.Count == 0 && lstAtendimentosAnimal.Count == 0)
            {
                dtaOcupado.Columns.Clear();
                dtaOcupado.ItemsSource = null;
                return;
            }

            foreach (Atendimento at in lstAtendimentos)
            {
                DateTime dtFim = at.DataHora.AddMinutes(at.Duracao);
                lstOcupados.Add(new
                {
                    Inicio = $"{at.DataHora.Hour}:{at.DataHora.Minute}",
                    Fim    = $"{dtFim.Hour}:{dtFim.Minute}"
                });
            }

            //Jogar horarios ocupados no datagrid
            dtaOcupado.ItemsSource = lstOcupados;
            dtaOcupado.Items.Refresh();
        }
示例#11
0
        private void btnRemover_Click(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrWhiteSpace(txtID.Text))
            {
                MessageBox.Show("ID vazio.", "Pet Shop", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            AtendimentoDAO.Remover(atendimento);
            MessageBox.Show("Atendimento Removido com sucesso.", "Pet Shop", MessageBoxButton.OK, MessageBoxImage.Information);
            LimparFormulario();
            Buscar();
        }
示例#12
0
        public AtendimentoModel Salvar(AtendimentoModel oModel)
        {
            AtendimentoDAO oDAO = new AtendimentoDAO();

            if (oModel.Codigo.HasValue)
            {
                return(oDAO.Alterar(oModel));
            }
            else
            {
                return(oDAO.Incluir(oModel));
            }
        }
示例#13
0
        private void btnCadastrar_Click(object sender, RoutedEventArgs e)
        {
            UpdateDuracaoPrecoAte();

            if (CamposVazios() || !ValidarHorarioDia() || !ChecarConflitoDeHorario())
            {
                return;
            }

            atendimento = new Atendimento
            {
                Animal      = (Animal)cboAnimal.SelectedItem,
                Funcionario = (Funcionario)cboFuncionario.SelectedItem,
                Duracao     = intDuracaoMinutos,
                Preco       = dblPreco
            };

            string strTemp = dtpDia.SelectedDate.ToString().Substring(0, dtpDia.SelectedDate.ToString().IndexOf(" "));

            strTemp = strTemp + $" {txtHora.Text}:00";

            atendimento.DataHora = Convert.ToDateTime(strTemp);

            /*if (AtendimentoDAO.BuscarPorAnimalIdEDia(atendimento.Animal.Id, atendimento.DataHora).Count > 0)
             * {
             *  MessageBox.Show("Animal já possui Atendimento marcado no Dia selecionado", "Pet Shop", MessageBoxButton.OK, MessageBoxImage.Error);
             *  return;
             * }*/

            //não sei se pega, tem que testar...
            foreach (Servico sv in lstServicos)
            {
                atendimento.Servicos.Add(new AtendimentoServicos {
                    Atendimento = atendimento, Servico = sv
                });
            }

            if (AtendimentoDAO.Cadastrar(atendimento))
            {
                MessageBox.Show("Atendimento cadastrado com sucesso.", "Pet Shop", MessageBoxButton.OK, MessageBoxImage.Information);
                LimparFormulario();
                Buscar();
            }
            else
            {
                MessageBox.Show("Algo deu errado na hora de cadastrar.", "Pet Shop", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
示例#14
0
        public IList <Atendimento> BuscaPet(Atendimento atendimento)
        {
            AtendimentoDAO atendimentoDAO = new AtendimentoDAO();

            if (atendimento.Pet.CodPet > 0)

            {
                IList <Atendimento> petTemp = atendimentoDAO.BuscaPet(atendimento.Pet.CodPet);

                return(petTemp);
            }
            else
            {
                return(null);
            }
        }
示例#15
0
        public ActionResult EditarAtendimento(string id)
        {
            AtendimentoViewModel modedetail = new AtendimentoViewModel();

            AtendimentoDAO dao = new AtendimentoDAO();



            modedetail.tiposAtendimento = new TipoAtendimentoDAO().listarTipoAtendimento();

            AtendimentoClienteDTO cliente = new AtendimentoDAO().buscaAtendimento(id);

            modedetail.atendimento = dao.buscaAtendimento(id);


            return(View("EditarAtendimento", modedetail));
        }
        private List <PizzaFuncionarioInfo> ListaRendimentoFuncionarios()
        {
            var    atendimentos = new AtendimentoDAO().ListaPorData(1);
            var    imoveis      = new ImovelDAO().ListarImoveisDeAtendimento();
            var    funcionarios = new PessoaDAO().ListaPorFuncao(ETipoPessoa.Funcionario);
            var    lista        = new List <PizzaFuncionarioInfo>();
            double valorTotal   = 0;

            foreach (var imovel in imoveis)
            {
                if (imovel.TipoNegocio == ETipoNegocio.Locação)
                {
                    valorTotal += imovel.Valor.Comissao * 12.0;
                }
                else
                {
                    valorTotal += imovel.Valor.Comissao;
                }
            }
            foreach (var funcionario in funcionarios)
            {
                double valorFuncionario = 0;

                foreach (var imovel in imoveis)
                {
                    if (imovel.Atendimento.FuncionarioID == funcionario.ID)
                    {
                        if (imovel.TipoNegocio == ETipoNegocio.Locação)
                        {
                            valorFuncionario += imovel.Valor.Comissao * 12.0;
                        }
                        else
                        {
                            valorFuncionario += imovel.Valor.Comissao;
                        }
                    }
                }

                var percentual = (valorFuncionario * 100) / valorTotal;

                lista.Add(new PizzaFuncionarioInfo(funcionario.Nome, percentual));
            }

            return(lista);
        }
示例#17
0
        public IList <Atendimento> BuscaPorFuncionario(Atendimento atendimento)
        {
            AtendimentoDAO atendimentoDAO = new AtendimentoDAO();



            if (atendimento.Funcionario.Codigo > 0)

            {
                IList <Atendimento> funcTemp = atendimentoDAO.BuscarPorFuncionario(atendimento.Funcionario.Codigo);

                return(funcTemp);
            }
            else
            {
                return(null);
            }
        }
示例#18
0
        public IList <Atendimento> BuscaFuncionario(Atendimento atendimento)
        {
            AtendimentoDAO atendDao = new AtendimentoDAO();



            if (atendimento.Funcionario.Cod > 0)

            {
                IList <Atendimento> funcTemp = atendDao.BuscaFuncionario(atendimento.Funcionario.Cod);

                return(funcTemp);
            }
            else
            {
                return(null);
            }
        }
示例#19
0
        public IList <Atendimento> BuscaPeriodo(DateTime DtInicio, DateTime DtFim)
        {
            AtendimentoDAO atendDao = new AtendimentoDAO();



            if ((DtFim != null) && (DtInicio != null))

            {
                IList <Atendimento> DataTemp = atendDao.BuscaPeriodo(DtInicio, DtFim);

                return(DataTemp);
            }
            else
            {
                return(null);
            }
        }
示例#20
0
        public ActionResult proximoCliente()
        {
            string idUser = User.Identity.GetUserId();

            string id = Session["idCliente"].ToString();

            AtendimentoDAO dao = new AtendimentoDAO();


            ClienteDTO cliente = dao.proximoCliente(id, idUser);

            if (cliente.nome_cliente != null)
            {
                Session["idCliente"]   = cliente.Id;
                Session["nomeCliente"] = cliente.nome_cliente;
            }

            return(RedirectToAction("Index"));
        }
示例#21
0
        public void Save()
        {

            Validar();
            AtendimentoDAO aDAO = new AtendimentoDAO();
            if (Id == 0)
            {
                using (TransactionScope scopo = new TransactionScope())
                {
                    valorAPagar = Convert.ToDecimal(listaExamesDoAtendimento.Sum(x => x.ObjExame.Valor));
                    this.Id = aDAO.Inserir(this);

                    foreach (var item in ListaExamesDoAtendimento)
                    {
                        item.Save();
                    }
                    scopo.Complete();
                }
            }

        }
示例#22
0
        public ActionResult Index()
        {
            AtendimentoViewModel model = new AtendimentoViewModel();
            AtendimentoDAO       dao   = new AtendimentoDAO();


            string idUser = User.Identity.GetUserId();



            //pegar aqui o usuario long e lat


            string id = Session["idCliente"].ToString();

            model.nomeCliente = Session["nomeCliente"].ToString();

            model.tiposAtendimento = new TipoAtendimentoDAO().listarTipoAtendimento();

            model.atendimentoClienteDTOs = dao.buscaHistoricoAtendimento(id, idUser);

            return(View("Index", model));
        }
        public StatusConversaoAtendimento UltimaSemana()
        {
            var atendimentos    = new AtendimentoDAO().ListaPorDataSemana(7);
            int totalConvettido = 0;

            foreach (var atendimento in atendimentos)
            {
                if (atendimento.Resultado == EResultado.Convertido)
                {
                    totalConvettido++;
                }
            }

            var total = atendimentos.Count();

            var porcentagem = (totalConvettido * 100) / total;

            var resposta = new StatusConversaoAtendimento();

            resposta.Percentual = porcentagem;
            resposta.Descricao  = "Atendimentos convertidos da última semana";

            return(resposta);
        }
 private void btnInserirAten_Click(object sender, EventArgs e)
 {
     try
     {
         AtendimentoDAO dao = new AtendimentoDAO();
         atendimento.CodCliente     = new ClienteDAO().PesquisaPorCPF(mtxtCPF.Text).Id;
         atendimento.CodFuncionario = Convert.ToInt32(cbxFuncionario.SelectedValue);
         atendimento.Data           = DateTime.Now;
         dao.InsereOuAltera(atendimento);
         btnNovoAten.PerformClick();
     }
     catch (FormatException)
     {
         Metodos.Mensagem("Campo numérico inválido!", TipoMsgEnum.Erro);
     }
     catch (SqlException)
     {
         Metodos.Mensagem("Ocorreu um erro no banco de dados.", TipoMsgEnum.Erro);
     }
     catch (Exception erro)
     {
         Metodos.Mensagem(erro.Message, TipoMsgEnum.Erro);
     }
 }
示例#25
0
        public ActionResult FiltraPerfomance(DateTime dtInicio, DateTime dtFim, string idUsuario)
        {
            //limpa o model
            model              = new PerformanceUsuarioViewModel();
            model.clientes     = new List <ClienteDTO>();
            model.atendimentos = new List <AtendimentoClienteDTO>();

            dataInicial = dtInicio;
            dataFinal   = dtFim;


            if (idUsuario == null)
            {
                idUsuario = User.Identity.GetUserId();
            }

            UsuariosDAO userdao = new UsuariosDAO();

            model.usuariosGrid.Add(userdao.LoginEmailApp("", idUsuario));
            model.usuarioSelecionado = model.usuariosGrid.Last <UsuariosDTO>();


            Session["idCliente"] = model.usuarioSelecionado.Id;

            ClienteDAO clienteDAO = new ClienteDAO();

            foreach (var clie in clienteDAO.ListarClientes(idUsuario, false))
            {
                model.clientes.Add(clie);

                if (clie.situacaoClienteVendendor == "NEGOCIANDO" || clie.situacaoClienteVendendor == "TESTE")
                {
                    model.totalClienteNegociando++;
                    model.totalAD     += clie.Ad;
                    model.totalOS     += clie.Os;
                    model.totalTAPETE += clie.tapete;
                    model.totalAro    += clie.aro;
                }
            }
            model.totalMaquinaNegociando = model.totalAD + model.totalOS + model.totalTAPETE + model.totalAro;


            AtendimentoDAO atendimentoDAO = new AtendimentoDAO();

            TipoAtendimentoDAO tipoAtendimentoDAO = new TipoAtendimentoDAO();



            foreach (var cliente in model.clientes)
            {
                foreach (var atendi in  atendimentoDAO.listaAtendimentoPorCliente(cliente.Id, dtInicio, dtFim))
                {
                    atendi.descricaoTipo = tipoAtendimentoDAO.BuscarTipo(atendi.idTipoAtendimento).descricao;

                    if (atendi.idTipoAtendimento == 3)
                    {
                        model.totalOrcamentos++;
                    }


                    atendi.logintude_casa = model.usuarioSelecionado.longitude_casa.ToString();
                    atendi.latitude_casa  = model.usuarioSelecionado.latitude_casa.ToString();


                    model.atendimentos.Add(atendi);
                }
            }


            model.performanceDia = atendimentoDAO.getPerformanceDia(dtInicio, dtFim, idUsuario);

            DateTime dataUsada = DateTime.Today.Date;


            foreach (var datas in model.performanceDia)
            {
                if (dataUsada.Date != datas.data.Date)
                {
                    RelPerformanceTotaisDTO datasTotais = new RelPerformanceTotaisDTO();
                    dataUsada = datas.data.Date;

                    if (datas.tipo == "Visita")
                    {
                        datasTotais.totalVisita++;
                    }
                    else if (datas.tipo == "Ligação")
                    {
                        datasTotais.totalLiga++;
                    }

                    datasTotais.data = datas.data.Date;
                    model.listaDatas.Add(datasTotais);
                }
                else
                {
                    if (datas.tipo == "Visita")
                    {
                        model.listaDatas.Last <RelPerformanceTotaisDTO>().totalVisita++;
                    }
                    else if (datas.tipo == "Ligação")
                    {
                        model.listaDatas.Last <RelPerformanceTotaisDTO>().totalLiga++;
                    }
                }
            }



            UsuariosDAO userDao = new UsuariosDAO();

            model.usuarios = null;

            model.usuarios = userDao.ListarUsuarios();

            var user = UserManager.FindByIdAsync(User.Identity.GetUserId());

            if (user.Result.Roles.Contains("Gerente") || user.Result.Roles.Contains("Admin"))
            {
                model.gerenteAdm = true;
            }


            Session["ModelPerfomance"] = model;
            return(View("index", model));
        }
示例#26
0
        public AtendimentoModel Excluir(AtendimentoModel oModel)
        {
            AtendimentoDAO oDAO = new AtendimentoDAO();

            return(oDAO.Excluir(oModel));
        }
示例#27
0
        private void Buscar()
        {
            if (String.IsNullOrWhiteSpace(txtID.Text))
            {
                lstItens.Clear();
                //dtaServicos.Items.Clear();// limpe apenas a lista, não precisa limpar o datagrid, nem pode, da erro
                foreach (Atendimento at in AtendimentoDAO.Listar)
                {
                    string strServicos = "";
                    foreach (AtendimentoServicos atSv in at.Servicos)
                    {
                        strServicos += atSv.Servico.Nome + ", ";
                    }

                    lstItens.Add(new
                    {
                        ID     = at.Id.ToString(),
                        Hora   = at.DataHora.ToString("HH:mm"),
                        Dura   = at.Duracao,
                        preco  = at.Preco.ToString("C2", CultureInfo.GetCultureInfoByIetfLanguageTag("pt-BR")),
                        Func   = $"{at.Funcionario.Nome} {at.Funcionario.Sobrenome}",
                        Animal = at.Animal.Nome,
                        Serv   = strServicos
                    });
                }
                dtaAtendimentos.ItemsSource = lstItens;
                dtaAtendimentos.Items.Refresh();
                //não gosto de ficar colocando um monte de else, se for vários vai encadeando e jogando tudo pro lado...
                return;
            }

            atendimento = AtendimentoDAO.BuscarPorID(Convert.ToInt32(txtID.Text));

            if (atendimento == null)
            {
                MessageBox.Show("Atendiemnto não encontrado.", "Pet Shop", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            //O animal tem que ter dono pra poder ser cadastrato, mas se ele for modificado depois...
            if (atendimento.Animal.Cliente != null)
            {
                cboDono.SelectedIndex = cboDono.Items.IndexOf(atendimento.Animal.Cliente);
            }

            cboAnimal.SelectedIndex      = cboAnimal.Items.IndexOf(atendimento.Animal);
            cboFuncionario.SelectedIndex = cboFuncionario.Items.IndexOf(atendimento.Funcionario);

            dtpDia.SelectedDate = atendimento.DataHora;

            txtHora.Text = atendimento.DataHora.ToString("HH:mm");

            foreach (AtendimentoServicos atSv in atendimento.Servicos)
            {
                lstServicos.Add(atSv.Servico);
            }

            dtaServicos.ItemsSource = lstServicos;
            dtaServicos.Items.Refresh();

            lblDurPre.Content = $"{atendimento.Duracao} Minutos/{atendimento.Preco.ToString("C2", CultureInfo.GetCultureInfoByIetfLanguageTag("pt-BR"))}";

            btnRemover.IsEnabled   = true;
            btnCadastrar.IsEnabled = btnBuscar.IsEnabled = btnAdd.IsEnabled = txtID.IsEnabled = dtaServicos.CanUserDeleteRows = false;
        }
示例#28
0
 public AtendimentoRN()
 {
     dao = new AtendimentoDAO();
 }
示例#29
0
        public List <AtendimentoModel> Listar(AtendimentoModel oModel)
        {
            AtendimentoDAO oDAO = new AtendimentoDAO();

            return(oDAO.Listar(oModel));
        }