Пример #1
0
        public ActionResult Detalhes(OrcamentoViewModel orcamentoVm, string usuarioId)
        {
            try
              {
            var orcamentoEntity = Mapper.Map<OrcamentoViewModel, Orcamento>(orcamentoVm);
            orcamentoEntity.Status = EnumClass.EnumStatusOrcamento.Fechado;
            _orcamentoApp.Update(orcamentoEntity);

            return RedirectToAction("BuscaTrabalhos", new { usuarioId });
              }
              catch (Exception e)
              {
            var logVm = new LogViewModel();
            logVm.Mensagem = e.Message;
            logVm.Controller = "Orçamento";
            logVm.View = "Detalhes Post";
            var log = Mapper.Map<LogViewModel, Log>(logVm);

            _logAppService.SaveOrUpdate(log);
            return RedirectToAction("ErroAoCadastrar");
              }
        }
Пример #2
0
        public ActionResult Editar(OrcamentoViewModel orcamentoVm)
        {
            try
              {
            //var orcamentodomain = Mapper.Map<OrcamentoViewModel, Orcamento>(orcamento);
            var orcamento = _orcamentoApp.GetById(orcamentoVm.orc_Id);
            // orcamentodomain.orc_descricao = orcamento.orc_descricao;
            orcamento.orc_descricao = orcamentoVm.orc_descricao;

            _orcamentoApp.Update(orcamento);
            return RedirectToAction("ListarTodos");
              }
              catch (Exception e)
              {
            var logVm = new LogViewModel();
            logVm.Mensagem = e.Message;
            logVm.Controller = "Orçamento";
            logVm.View = "Editar Post";

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

            _logAppService.SaveOrUpdate(log);
            return RedirectToAction("ErroAoCadastrar");
              }
        }
Пример #3
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");
              }
        }