コード例 #1
0
        public ActionResult Cadastrar(OrcamentoViewModel orcamento, int servico_id)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var orcamentoEntity = Mapper.Map <OrcamentoViewModel, Orcamento>(orcamento);

                    var endereco = orcamento.orc_Endereco;
                    var partes   = endereco.Split(',');
                    foreach (var parte in partes.Where(s => s.Contains("-")))
                    {
                        var separar = parte.Split('-');
                        var ufs     =
                            " AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA,PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO";
                        if (ufs.Contains(separar[1]))
                        {
                            orcamentoEntity.orc_estado =
                                (EnumClass.EnumEstados)Enum.Parse(typeof(EnumClass.EnumEstados), separar[1]);
                            orcamentoEntity.orc_cidade = separar[0];
                        }
                        else
                        {
                            continue;
                        }
                    }
                    orcamentoEntity.serv_Id = servico_id;
                    _orcamentoApp.Add(orcamentoEntity);

                    var corpo = @"Olá " + orcamento.orc_nome_solicitante + " seu orçamento já está cadastrado em nosso sistema, fique atento que logo o prestador entrará em contato com você. Obrigado por nos escolher!" +
                                "<br /><br /> Att, <br />";


                    var assunto = "Orçamento Enviado";
                    _enviaEmail = new EnviaEmail();
                    var enviou = _enviaEmail.EnviaEmailConfirmacao(orcamentoEntity.orc_email_solicitante, corpo, assunto);
                    if (!enviou.Key)
                    {
                        var logVm = new LogViewModel();
                        logVm.Mensagem   = enviou.Value;
                        logVm.Controller = "Enviar Email";
                        logVm.View       = "Cadastrar Orçamento";
                        var log = Mapper.Map <LogViewModel, Log>(logVm);
                        _logAppService.SaveOrUpdate(log);
                    }

                    _enviaEmail.EnviaEmailConfirmacao(orcamentoEntity.orc_email_solicitante, corpo, assunto);

                    var prestadores = _orcamentoApp.EnviaEmailParaPrestadoresQueOferecemOServico(orcamentoEntity.serv_Id);
                    foreach (var prestadorID in prestadores)
                    {
                        var prestador = _prestadorApp.GetPorGuid(prestadorID);
                        var envia     = _orcamentoApp.EnviaEmailNotificacao(prestador, orcamentoEntity);
                        if (envia.Key)
                        {
                            var corpoNotificacao = "Olá, " + _utils.PrimeiraLetraMaiuscula(prestador.pres_Nome.Trim()) + ", " + _utils.DefineSaudacao() + "!" + " <br /><br /> Chegou mais um orçamento para você." +
                                                   " <br /> Este orçamento está à uma distância de " + envia.Value.Trim() + ". <br />" +
                                                   "<br /> <a href=" + '\u0022' + "www.agilizaorcamentos.com.br/Orcamento/BuscaTrabalhos?usuarioId=" + prestador.pres_Id + '\u0022' + "><strong>Clique aqui</strong></a> para visualizar os orçamentos disponíveis para você. " +
                                                   "<br /><br /> Att, <br />" +
                                                   "Equipe Agiliza";


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

                    //Enviar email para administradores de novo orçamento

                    var servico = _servicoApp.GetById(servico_id);

                    var admins = _prestadorApp.GetAdministradores();

                    foreach (var admin in admins)
                    {
                        var corpoNovoUsuario = "Olá, " + _utils.PrimeiraLetraMaiuscula(admin.pres_Nome.Trim()) + ", " + _utils.DefineSaudacao() + "!" + " <br /><br /> Chegou mais um novo orçamento para Agiliza." +
                                               " <br /><strong>Solicitante:</strong>  " + orcamento.orc_nome_solicitante +
                                               " <br /><strong>Email:</strong>  " + orcamento.orc_email_solicitante +
                                               " <br /><strong>Telefone:</strong>  " + orcamento.orc_telefone_solicitante +
                                               " <br /><strong>Tipo de serviço:</strong>  " + servico.serv_Nome +
                                               " <br /><strong>Descrição:</strong>  " + orcamento.orc_descricao +
                                               " <br /><strong>Local para realizar o trabalho:</strong>  " + orcamento.orc_Endereco +
                                               " <br /><strong>Prazo previsto:</strong>  " + orcamento.orc_prazo +

                                               " <br /><strong>Descrição:</strong>  " + orcamento.orc_descricao +
                                               "<br /> <a href=" + '\u0022' + "www.agilizaorcamentos.com.br/Orcamento/ListarTodos" + '\u0022' + "><strong>Clique aqui</strong></a> para visualizar os orçamentos. " +
                                               "<br /><br /> Att, <br />" +
                                               "Equipe Agiliza";

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



                    return(RedirectToAction("OrcamentoEnviadoSucesso"));
                }
                else
                {
                    ViewBag.ListaCat = new SelectList(_categoriaApp.GetAll(), "cat_Id", "cat_Nome");
                    return(View(orcamento));
                }
            }
            catch (Exception e)
            {
                var logVm = new LogViewModel();
                logVm.Mensagem   = e.Message;
                logVm.Controller = "Orçamento";
                logVm.View       = "Cadastrar Post";

                var log = Mapper.Map <LogViewModel, Log>(logVm);

                _logAppService.SaveOrUpdate(log);
                return(RedirectToAction("ErroAoCadastrar"));
            }
        }
コード例 #2
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"));
            }
        }