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 />" + " " + "A Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" + " " + "Com a Interação principal dessa Reclamação : <br /><br />" + " " + Reclamacao.descricao.ToString() + "<br /><br />" + " " + "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 />" + " " + "A Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" + " " + "Com a Interação principal dessa Reclamação : <br /><br />" + " " + Reclamacao.descricao.ToString() + "<br /><br />" + " " + "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); }
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 />" + " " + "Foi registrada sua Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" + " " + "O Nome do Fornecedor informado é : <b>" + novoreclamaco.fornecedore.razaosocial.ToString() + "</b>.<br /><br />" + " " + "Foi inserida a seguinte Interação em sua Reclamação : <br /><br />" + " " + 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 />" + " " + "Foi registrada a Reclamação : <b>" + Reclamacao.titulo.ToString() + "</b>.<br /><br />" + " " + "Essa Reclamação foi registrada pelo Cliente : <b>" + Reclamacao.cliente.NOME.ToString() + "</b>.<br /><br />" + " " + "Foi inserida a seguinte Interação em sua Reclamação : <br /><br />" + " " + 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); }