예제 #1
0
        public ActionResult Detalhes(int id)
        {
            var servico          = _servicoApp.GetById(id);
            var servicoViewModel = Mapper.Map <Services, ServiceViewModel>(servico);

            return(View(servicoViewModel));
        }
예제 #2
0
        public ActionResult MeuPerfil(string usuarioId)
        {
            var prestador = _prestadorApp.GetPorGuid(Guid.Parse(usuarioId));

            var prestadorVm = Mapper.Map <Prestador, PrestadorUsuarioViewModel>(prestador);

            ViewBag.Nome        = prestador.pres_Nome;
            ViewBag.CaminhoFoto = prestador.caminho_foto;
            var servicosList     = new List <Servico>();
            var categoriaList    = new List <Categoria>();
            var servico          = new Servico();
            var servicoPrestador = _servicoPrestadorApp.GetServicoPorPrestadorId(prestadorVm.pres_Id);

            foreach (var servicoPres in servicoPrestador)
            {
                servico = _servicoAppService.GetById(servicoPres.serv_Id);
                categoriaList.Add(_categoriaApp.GetById(servico.cat_Id));
                servicosList.Add(servico);
            }

            var servicosVm   = Mapper.Map <IEnumerable <Servico>, IEnumerable <ServicoViewModel> >(servicosList);
            var categoriasVm = Mapper.Map <IEnumerable <Categoria>, IEnumerable <CategoriaViewModel> >(categoriaList.Distinct());

            ViewBag.Servicos   = servicosVm;
            ViewBag.Categorias = categoriasVm;

            //categoriaList.GroupBy(s => s.cat_Id);

            return(View(prestadorVm));
        }
예제 #3
0
        public ActionResult ListarTodos()
        {
            var orcamentos =
                Mapper.Map <IEnumerable <Orcamento>, IEnumerable <OrcamentoViewModel> >(
                    _orcamentoApp.RetornaOrcamentosAbertos());

            foreach (var orcamento in orcamentos)
            {
                var servico = _servicoApp.GetById(orcamento.serv_Id);
                if (servico != null)
                {
                    orcamento.NomeServico = servico.serv_Nome;
                }
            }
            ViewBag.Retorno = _msgRetorno;
            return(View(orcamentos));
        }
예제 #4
0
 public async Task <Servico> Get(int id)
 {
     try
     {
         return(await _servicoAppService.GetById(id));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        public ActionResult Create(IndiqueProfissionalViewModel indiqueProf, string servico_id)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var servico = _iServicoApp.GetById(int.Parse(servico_id));
                    indiqueProf.Servico = servico;

                    var indiqueDomain = Mapper.Map <IndiqueProfissionalViewModel, IndiqueProfissional>(indiqueProf);
                    _iIndiqueAppService.Add(indiqueDomain);
                    return(RedirectToAction("IndicacaoSucesso"));
                }
                else
                {
                    ViewBag.ListaServico = _iServicoApp.GetAll();
                    return(View(indiqueProf));
                }
            }
            catch
            {
                return(RedirectToAction("ErroAoCadastrar"));
            }
        }
예제 #6
0
        public ActionResult ServicosCategorias(FormCollection collection, string cpf,
                                               string nome, string celular, string email, bool editarPerfil)
        {
            try
            {
                var sbEmail  = new StringBuilder();
                var servicos = new List <Servico>();
                foreach (var col in collection)
                {
                    int servId;
                    Int32.TryParse(col.ToString(), out servId);
                    var servico = _iServicoApp.GetById(servId);

                    sbEmail.Append(servico.serv_Nome);
                    sbEmail.Append(", ");

                    servicos.Add(servico);
                }
                //inserir por email, assim nao tem como duplicar
                var prestador = _iPrestadorApp.GetPorEmail(email);
                _iServicoPrestadorApp.SalvarServicosPrestador(servicos, prestador);
                if (editarPerfil)
                {
                    return(RedirectToAction("MeuPerfil", "Prestador", new { usuarioId = prestador.pres_Id }));
                }
                else
                {
                    //Enviar email para admins de novo usuario
                    var admins = _iPrestadorApp.GetAdministradores();

                    foreach (var admin in admins)
                    {
                        var corpoNovoUsuario = "Olá, " + _utils.PrimeiraLetraMaiuscula(admin.pres_Nome.Trim()) + ", " + _utils.DefineSaudacao() + "!" + " <br /><br /> Chegou mais um prestador para Agiliza." +
                                               " <br /><strong>Nome:</strong>  " + prestador.pres_Nome +
                                               " <br /><strong>Email:</strong>  " + prestador.pres_Email +
                                               " <br /><strong>Telefone:</strong>  " + prestador.pres_Telefone_Residencial +
                                               " <br /><strong>Celular:</strong>  " + prestador.pres_Telefone_Celular +
                                               " <br /><strong>Endereço:</strong>  " + prestador.pres_Endereco +
                                               " <br /><strong>Serviços:</strong><br />  " + sbEmail.ToString().Substring(0, sbEmail.ToString().Length - 2) + "." +

                                               "<br /><br /> <a href=" + '\u0022' + "www.agilizaorcamentos.com.br/Prestador/Index" + '\u0022' + "><strong>Clique aqui</strong></a> para visualizar os prestadores cadastrados. " +
                                               "<br /><br /> Att, <br />" +
                                               " Equipe Agiliza.";

                        var assuntoNotificacao = "Novo orçamento Cadastrado";
                        var _enviaEmail        = new EnviaEmail();
                        var enviouNotificacao  = _enviaEmail.EnviaEmailConfirmacao(admin.pres_Email, corpoNovoUsuario, assuntoNotificacao);
                        if (!enviouNotificacao.Key)
                        {
                            var logVm = new LogViewModel();
                            logVm.Mensagem   = enviouNotificacao.Value;
                            logVm.Controller = "Enviar Email Notificação para admin de novo prestador";
                            logVm.View       = "Enviar email notificação para admin de novo prestador.";
                            var log = Mapper.Map <LogViewModel, Log>(logVm);
                            _logAppService.SaveOrUpdate(log);
                        }
                    }


                    return(RedirectToAction("PrestadorCadastroSucesso", "Prestador"));
                }
            }
            catch
            {
                return(RedirectToAction("ErroAoCadastrar"));
            }
        }