public ActionResult Create(Reclamacao Reclamacao)
        {
            if (ModelState.IsValid)
            {
                //Selecionar o Cliente Logado no sistema
                Reclamacao.IDCLIENTE = db.clientes.ToList().Find(x => x.LOGIN == User.Identity.Name).IDCLIENTE;
                //Setar a Data da reclamação para a Data Atual no Create
                Reclamacao.datareclamacao = DateTime.Parse(string.Format("{0:dd/MM/yyyy}", DateTime.Now));
                //Realizar a conversão para o objeto do modelrdc.Designer.cs antes de gravar no banco
                reclamaco novoreclamaco = Reclamacao.Createreclamaco(Reclamacao.idreclamacao, Reclamacao.titulo,
                    Reclamacao.descricao, Reclamacao.tiposolucao, Reclamacao.IDCLIENTE, Reclamacao.IDFORNECEDOR,
                    Reclamacao.datacompra, Reclamacao.fonecontato, Reclamacao.datareclamacao);
                db.reclamacoes.AddObject(novoreclamaco);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            //ViewBag.IDCLIENTE = new SelectList(db.clientes, "IDCLIENTE", "NOME", Reclamacao.IDCLIENTE);
            ViewBag.IDFORNECEDOR = new SelectList(db.fornecedores, "IDFORNECEDOR", "razaosocial", Reclamacao.IDFORNECEDOR);
            return View(Reclamacao);
        }
 public ActionResult Edit(Reclamacao Reclamacao)
 {
     if ((Reclamacao.tiposolucao == "C" || Reclamacao.tiposolucao == "I") && Reclamacao.datasolucao == null)
     {
         ModelState.AddModelError("", "Favor informar a Data da Solução ao Encerrá-la!!");
     }
     else if ((Reclamacao.tiposolucao == "C" || Reclamacao.tiposolucao == "I") && (Reclamacao.datasolucao < Reclamacao.datacompra))
     {
         ModelState.AddModelError("", "Data da Solução tem que ser maior ou igual a Data da Compra!!");
     }
     if (ModelState.IsValid)
     {
         if (Reclamacao.tiposolucao == "N" && Reclamacao.datasolucao != null)
         {
             Reclamacao.datasolucao = null;
         }
         reclamaco novoreclamaco = Reclamacao.Createreclamaco(Reclamacao.idreclamacao, Reclamacao.titulo,
             Reclamacao.descricao, Reclamacao.tiposolucao, Reclamacao.IDCLIENTE, Reclamacao.IDFORNECEDOR,
             Reclamacao.datacompra, Reclamacao.fonecontato, Reclamacao.datareclamacao ,Reclamacao.datasolucao);
         db.reclamacoes.Attach(novoreclamaco);
         db.ObjectStateManager.ChangeObjectState(novoreclamaco, EntityState.Modified);
         db.SaveChanges();
         //Início Chamada Enviar E-mail ao Cliente dono da Reclamação informando haver alteração no Staus da Rec
         //Recuperar Descrição do Tipo da Solução
         string TipSolRecdb = TempData["TipSolRecdb"].ToString();
         if (TipSolRecdb != Reclamacao.tiposolucao)
         {
             string desctiposolucaodb = null;
             if (TipSolRecdb == "I")
                 desctiposolucaodb = "Resolvido e Usuário Insatisfeito";
             else if (TipSolRecdb == "C")
                 desctiposolucaodb = "Resolvido e Usuário Satisfeito";
             else
                 desctiposolucaodb = "Sem Solução do Fornecedor";
             string desctiposolucao = null;
             if (Reclamacao.tiposolucao == "I")
                 desctiposolucao = "Resolvido e Usuário Insatisfeito";
             else if (Reclamacao.tiposolucao == "C")
                 desctiposolucao = "Resolvido e Usuário Satisfeito";
             else
                 desctiposolucao = "Sem Solução do Fornecedor";
             //Recuperar dados do Cliente dono da Reclamação que originou essa interação
             Reclamacao.cliente = db.clientes.First(x => x.IDCLIENTE == Reclamacao.IDCLIENTE);
             //Chamada Enviar E-mail Cliente
             string Sender = Reclamacao.cliente.EMAIL;
             string NameSender = Reclamacao.cliente.NOME;
             string Subemailclifor = "Alteração do Tipo da Solução de sua Reclamação no ReclameAgora";
             string Bodmsemailclifor =
                 "Prezado(a) <span color:Blue><b>" + NameSender.ToString() + "</b></span>,<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "A Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "Com a Interação principal dessa Reclamação : <br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 Reclamacao.descricao.ToString() + "<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "Teve seu Tipo de Solução alterado de <b>" + desctiposolucaodb +
                 "</b> para <b>" + desctiposolucao + "</b>. <br /><br />" +
                 "Para verificar, acesse " +
                 "<a href=\"http://reclameagora.apphb.com/\" title=\"ReclameAgora\"> http://reclameagora.apphb.com/</a> <br /><br />" +
                 "Atenciosamente,<br />" +
                 "Equipe ReclameAgora";
             //Enviar para o Email do Web.config
             SendMail.EnviaEmail(Sender, NameSender, Subemailclifor, Bodmsemailclifor);
             //Avisar ao Fornecedor que a Reclamação teve seu Status Alterado
             Sender = novoreclamaco.fornecedore.email;
             NameSender = novoreclamaco.fornecedore.razaosocial;
             Bodmsemailclifor =
                 "Prezado Fornecedor <span color:Blue><b>" + NameSender.ToString() + "</b></span>,<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "A Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "Com a Interação principal dessa Reclamação : <br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 Reclamacao.descricao.ToString() + "<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "Teve seu Tipo de Solução alterado de <b>" + desctiposolucaodb +
                 "</b> para <b>" + desctiposolucao + "</b>. <br /><br />" +
                 "Para verificar, acesse " +
                 "<a href=\"http://reclameagora.apphb.com/\" title=\"ReclameAgora\"> http://reclameagora.apphb.com/</a> <br /><br />" +
                 "Atenciosamente,<br />" +
                 "Equipe ReclameAgora";
             SendMail.EnviaEmail(Sender, NameSender, Subemailclifor, Bodmsemailclifor);
             //Fim da Chamada Enviar E-mail
         }
         //Retornar com o valor nullo para essa variável
         TempData["TipSolRecdb"] = null;
         return RedirectToAction("Index");
     }
     //ViewBag.IDCLIENTE = new SelectList(db.clientes, "IDCLIENTE", "NOME", Reclamacao.IDCLIENTE);
     //Recuperar o registro do Cliente
     Reclamacao.cliente = db.clientes.First(c => c.IDCLIENTE == Reclamacao.IDCLIENTE);
     ViewBag.IDFORNECEDOR = new SelectList(db.fornecedores.ToList().FindAll(f => f.ativo != "N"), "IDFORNECEDOR", "razaosocial", Reclamacao.IDFORNECEDOR);
     TempData["TipSolRecdb"] = null;
     return View(Reclamacao);
 }
示例#3
0
        public ActionResult Index(Reclamacao Reclamacao)
        {
            if (ModelState.IsValid)
            {
                //Selecionar o Cliente Logado no sistema
                Reclamacao.IDCLIENTE = db.clientes.ToList().Find(x => x.LOGIN == User.Identity.Name).IDCLIENTE;
                //Setar a Data da reclamação para a Data Atual no Create
                Reclamacao.datareclamacao = DateTime.Parse(string.Format("{0:dd/MM/yyyy}", DateTime.Now));
                //Realizar a conversão para o objeto do modelrdc.Designer.cs antes de gravar no banco
                reclamaco novoreclamaco = Reclamacao.Createreclamaco(Reclamacao.idreclamacao, Reclamacao.titulo,
                    Reclamacao.descricao, Reclamacao.tiposolucao, Reclamacao.IDCLIENTE, Reclamacao.IDFORNECEDOR,
                    Reclamacao.datacompra, Reclamacao.fonecontato,Reclamacao.datareclamacao);
                db.reclamacoes.AddObject(novoreclamaco);
                db.SaveChanges();
                TempData["msgcadrec"] = "Reclamação registrada com sucesso e enviada ao seu e-mail!\r\n" +
                                        "Para verificar o andamento da sua Reclamação, clique ";
                //Início Chamada Enviar E-mail ao Cliente dono da Reclamação informando haver nova Interação
                //Recuperar dados do Cliente dono da Reclamação que originou essa interação
                Reclamacao.cliente = db.clientes.First(x => x.IDCLIENTE == Reclamacao.IDCLIENTE);
                string Subemailclifor = "Nova Reclamação registrada no ReclameAgora";
                string Bodmsemailclifor =
                    "Prezado(a) <span color:Blue><b>" + Reclamacao.cliente.NOME.ToString() + "</b></span>,<br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "Foi registrada sua Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "O Nome do Fornecedor informado é : <b>" + novoreclamaco.fornecedore.razaosocial.ToString() + "</b>.<br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "Foi inserida a seguinte Interação em sua Reclamação : <br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    Reclamacao.descricao.ToString() + "<br /><br />" +
                    "Para verificar, acesse " +
                    "<a href=\"http://reclameagora.apphb.com/\" title=\"ReclameAgora\"> http://reclameagora.apphb.com/</a> <br /><br />" +
                    "Atenciosamente,<br />" +
                    "Equipe ReclameAgora";
                //Início Chamada Enviar E-mail ao Cliente dono da Reclamação informando haver nova Interação
                //Envio ao Cliente
                SendMail.EnviaEmail(Reclamacao.cliente.EMAIL, Reclamacao.cliente.NOME, Subemailclifor, Bodmsemailclifor);
                //Fim da Chamada Enviar E-mail
                //Envio ao Fornecedor informando havernova interação
                //Recuperar dados do Cliente dono da Reclamação que originou essa interação
                novoreclamaco.fornecedore = db.fornecedores.First(x => x.IDFORNECEDOR == novoreclamaco.IDFORNECEDOR);
                string Subemailfor = "Nova Reclamação registrada no ReclameAgora para Fornecedor";
                string Bodmsemailfor =
                    "Prezado Fornecedor <span color:Blue><b>" + novoreclamaco.fornecedore.razaosocial.ToString() + "</b></span>,<br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "Foi registrada a Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "Essa Reclamação foi registrada pelo Cliente  : <b>" + Reclamacao.cliente.NOME.ToString() + "</b>.<br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "Foi inserida a seguinte Interação em sua Reclamação : <br /><br />" +
                    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    Reclamacao.descricao.ToString() + "<br /><br />" +
                    "Para verificar, acesse " +
                    "<a href=\"http://reclameagora.apphb.com/\" title=\"ReclameAgora\"> http://reclameagora.apphb.com/</a> <br /><br />" +
                    "Atenciosamente,<br />" +
                    "Equipe ReclameAgora";
                SendMail.EnviaEmail(novoreclamaco.fornecedore.email, novoreclamaco.fornecedore.razaosocial,
                    Subemailfor, Bodmsemailfor);
                //Fim da Chamada Enviar E-mail
                return RedirectToAction("Index");
            }

            //ViewBag.IDCLIENTE = new SelectList(db.clientes, "IDCLIENTE", "NOME", Reclamacao.IDCLIENTE);
            ViewBag.IDFORNECEDOR = new SelectList(db.fornecedores.ToList().FindAll(f => f.ativo != "N"), "IDFORNECEDOR", "razaosocial", Reclamacao.IDFORNECEDOR);
            return View(Reclamacao);
        }