public ActionResult EditarProdutoAdicional(int id) { try { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion #region limpa as viewbags de mensagem Session["MensagemCarregamentoEditarProdutoAdicionalProduto"] = null; #endregion #region busca os produtos adicionais List <DadosProdutoAdicional> listaDadosProdutoAdicional = new List <DadosProdutoAdicional>(); //busca todos os cardápios da loja retornoRequest = rest.Get("/ProdutoAdicional/listar/" + usuarioLogado.IdLoja); //se ocorrer algum erro if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { Session["MensagemCarregamentoEditarProdutoAdicionalProduto"] = "não foi possível carregar os dados dos produtos adicionais. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(RedirectToAction("Detalhes", "Produto", new { id = id })); } string json = retornoRequest.objeto.ToString(); listaDadosProdutoAdicional = JsonConvert.DeserializeObject <List <DadosProdutoAdicional> >(json); listaDadosProdutoAdicional = listaDadosProdutoAdicional.FindAll(p => p.Ativo); ViewBag.ProdutosAdicionais = listaDadosProdutoAdicional; #endregion #region busca o produto adicional do produto DadosProdutoAdicionalProduto dadosProdutoAdicionalProduto = new DadosProdutoAdicionalProduto(); //busca os dados do produto adicional retornoRequest = rest.Get(string.Format("/Produto/BuscarProdutoAdicional/{0}/{1}", id, usuarioLogado.IdLoja)); //se ocorrer algum erro if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { Session["MensagemCarregamentoEditarProdutoAdicionalProduto"] = "não foi possível carregar os dados do produto adicional. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(RedirectToAction("Detalhes", "Produto", new { id = id })); } string jsonResult = retornoRequest.objeto.ToString(); dadosProdutoAdicionalProduto = JsonConvert.DeserializeObject <DadosProdutoAdicionalProduto>(jsonResult); #endregion return(View(dadosProdutoAdicionalProduto)); } catch (Exception) { Session["MensagemCarregamentoEditarProdutoAdicionalProduto"] = "não foi possível carregar os dados do produto adicional. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(RedirectToAction("Detalhes", "Produto", new { id = id })); } }
public ActionResult Detalhes(int id) { try { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion #region limpa as viewbags de mensagem ViewBag.MensagemDetalhesProduto = null; #endregion #region busca o produto Produto produto = new Produto(); string jsonRetorno = null; //busca todos os cardápios da loja retornoRequest = rest.Get(string.Format("/Produto/{0}/{1}", id, usuarioLogado.IdLoja)); if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { ViewBag.MensagemDetalhesProduto = "não foi possível exibir detalhes do produto. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; } else { jsonRetorno = retornoRequest.objeto.ToString(); produto = JsonConvert.DeserializeObject <Produto>(jsonRetorno); } #endregion #region busca a relação de produtos adicionais do produto List <DadosProdutoAdicionalProduto> listaDadosProdutoAdicionalProduto = new List <DadosProdutoAdicionalProduto>(); //busca os produtos adicionais deste produto retornoRequest = rest.Get(string.Format("/Produto/BuscarProdutosAdicionaisDeUmProduto/{0}/{1}", id, usuarioLogado.IdLoja)); if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { ViewBag.MensagemDetalhesProduto = "não foi possível exibir detalhes do produto. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; } else { jsonRetorno = retornoRequest.objeto.ToString(); listaDadosProdutoAdicionalProduto = JsonConvert.DeserializeObject <List <DadosProdutoAdicionalProduto> >(jsonRetorno); //se não existirem produtos adicionais para este produto, insere um produto na lista apenas para exibicao if (listaDadosProdutoAdicionalProduto.Count == 0) { listaDadosProdutoAdicionalProduto.Add(new DadosProdutoAdicionalProduto { IdProduto = produto.Id, NomeProduto = produto.Nome }); } } #endregion return(View(listaDadosProdutoAdicionalProduto)); } catch (Exception) { ViewBag.MensagemDetalhesProduto = "não foi possível exibir detalhes do produto. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(View()); } }
public ActionResult AdicionarProdutoAdicional(int id) { try { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion #region limpa as viewbags de mensagem Session["MensagemCarregamentoAdicionarProdutoAdicional"] = null; #endregion #region busca os produtos adicionais List <DadosProdutoAdicional> listaDadosProdutoAdicional = new List <DadosProdutoAdicional>(); //busca todos os produtos adicionais da loja retornoRequest = rest.Get("/ProdutoAdicional/listar/" + usuarioLogado.IdLoja); //se não encontrar produtos adicionais if (retornoRequest.HttpStatusCode == HttpStatusCode.NoContent) { Session["MensagemCarregamentoAdicionarProdutoAdicional"] = "é necessário cadastrar um produto adicional antes de atrela-lo ao produto"; return(RedirectToAction("Detalhes", "Produto", new { id = id })); } //se ocorrer algum erro if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { Session["MensagemCarregamentoAdicionarProdutoAdicional"] = "não foi possível consultar os produtos adicionais. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(RedirectToAction("Detalhes", "Produto", new { id = id })); } string json = retornoRequest.objeto.ToString(); listaDadosProdutoAdicional = JsonConvert.DeserializeObject <List <DadosProdutoAdicional> >(json); ViewBag.ProdutosAdicionais = listaDadosProdutoAdicional; #endregion DadosProdutoAdicionalProduto dadosProdutoAdicionalProduto = new DadosProdutoAdicionalProduto() { IdProduto = id, IdLoja = usuarioLogado.IdLoja }; //if (Session["ProdutoAdicionalProdutoCadastro"] != null) // dadosProdutoAdicionalProduto = Session["ProdutoAdicionalProdutoCadastro"] as DadosProdutoAdicionalProduto; //Session["ProdutoAdicionalProdutoCadastro"] = null; return(View(dadosProdutoAdicionalProduto)); } catch (Exception) { Session["MensagemCarregamentoAdicionarProdutoAdicional"] = "é necessário cadastrar um produto adicional antes de atrela-lo ao produto"; return(RedirectToAction("Detalhes", "Produto", new { id = id })); } }
public ActionResult Index() { try { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); //verifica se o usuário tem permissão na página if (usuarioLogado.NivelPermissao == 2) { return(RedirectToAction("Index", "Pedido")); } #endregion #region limpa as viewbags de mensagem ViewBag.MensagemCardapio = null; #endregion //busca todos os cardápios da loja retornoRequest = rest.Get("/menucardapio/listar/" + usuarioLogado.IdLoja); //se não encontrar cardápios para a loja if (retornoRequest.HttpStatusCode == HttpStatusCode.NoContent) { ViewBag.MensagemCardapio = "não existem cardápios cadastrados"; return(View()); } //se ocorrer algum erro if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { ViewBag.MensagemCardapio = "não foi possível consultar os cardápios. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(View()); } string jsonPedidos = retornoRequest.objeto.ToString(); listaCardapio = JsonConvert.DeserializeObject <List <MenuCardapio> >(jsonPedidos); //monta a sessão com o caminho das imagens dos brindes string caminhoImagem = "http://" + usuarioLogado.UrlLoja + ".tasaindo.com.br/Images/" + usuarioLogado.UrlLoja + "/Produtos/"; Session["CaminhoImagensProdutos"] = caminhoImagem; return(View(listaCardapio)); } catch (Exception) { ViewBag.MensagemCardapio = "não foi possível consultar os cardápios. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(View()); } }
public ActionResult EditarProduto(Produto produto, HttpPostedFileBase file) { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion #region limpa as viewbags de mensagem ViewBag.MensagemEditarProduto = null; #endregion #region validação dos campos //validação dos campos if (!ModelState.IsValid) { return(View("Editar", produto)); } #endregion //variável para armazenar o retorno da requisição DadosRequisicaoRest retornoRequest = new DadosRequisicaoRest(); try { //recebe a imagem do produto if (file != null) { //valida o tamanho da imagem //tamanho maximo permitido é 10 mb if (file.ContentLength > 10000000) { ViewBag.MensagemEditarProduto = "a imagem deve ter no máximo 10 megabytes"; return(View("Adicionar", produto)); } string pic = System.IO.Path.GetFileName(file.FileName); string caminhoPasta = ConfigurationManager.AppSettings["PastaImagens"] + usuarioLogado.UrlLoja + "/Produtos/"; string path = caminhoPasta + pic; //se o diretório ainda não existir, cria um novo if (!Directory.Exists(caminhoPasta)) { Directory.CreateDirectory(caminhoPasta); } //salva a imagem na pasta file.SaveAs(path); //seta o nome da imagem no produto produto.Imagem = pic; } string urlPost = string.Format("/Produto/Atualizar"); produto.IdLoja = usuarioLogado.IdLoja; retornoRequest = rest.Post(urlPost, produto); //se o produto não for atualizado if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { ViewBag.MensagemEditarProduto = "não foi possível atualizar o produto. por favor, tente novamente"; //return RedirectToAction("Editar", "Produto", new { id = produto.Id }); return(View("Editar", produto)); } //se o produto for atualizado, direciona para a tela de visualização de produtos return(RedirectToAction("Index", "Produto")); } catch (Exception) { ViewBag.MensagemEditarProduto = "não foi possível atualizar o produto. por favor, tente novamente"; //return RedirectToAction("Editar", "Produto", new { id = produto.Id }); return(View("Editar", produto)); } }
public ActionResult Editar(int id) { try { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion #region limpa as viewbags de mensagem ViewBag.MensagemCarregamentoEditarProduto = null; #endregion #region busca os cardápios List <MenuCardapio> listaMenuCardapio = new List <MenuCardapio>(); //busca todos os cardápios da loja retornoRequest = rest.Get("/menucardapio/listar/" + usuarioLogado.IdLoja); //se ocorrer algum erro if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { ViewBag.MensagemCarregamentoEditarProduto = "não foi possível carregar os dados do produto. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(View()); } string jsonPedidos = retornoRequest.objeto.ToString(); listaMenuCardapio = JsonConvert.DeserializeObject <List <MenuCardapio> >(jsonPedidos); //view bag com os cardápios ViewBag.MenuCardapio = listaMenuCardapio; #endregion //busca os dados do produto List <Produto> produtosCardapio = new List <Produto>(); foreach (var cardapio in listaMenuCardapio) { foreach (var produtoCardapio in cardapio.Produtos) { produtosCardapio.Add(produtoCardapio); } } Produto produto = new Produto(); produto = produtosCardapio.Where(p => p.Id == id).FirstOrDefault(); List <DiasSemana> listaDiasSemana = new List <DiasSemana> { new DiasSemana { Id = 0, DiaSemana = "Domingo" }, new DiasSemana { Id = 1, DiaSemana = "Segunda-feira" }, new DiasSemana { Id = 2, DiaSemana = "Terça-feira" }, new DiasSemana { Id = 3, DiaSemana = "Quarta-feira" }, new DiasSemana { Id = 4, DiaSemana = "Quinta-feira" }, new DiasSemana { Id = 5, DiaSemana = "Sexta-feira" }, new DiasSemana { Id = 6, DiaSemana = "Sábado" } }; ViewBag.ListaDiasSemana = listaDiasSemana; Session["ListaDiasSemana"] = listaDiasSemana; return(View(produto)); } catch (Exception) { ViewBag.MensagemCarregamentoEditarProduto = "não foi possível carregar os dados do produto. por favor, tente atualizar a página ou entre em contato com o administrador do sistema..."; return(View()); } }
public ActionResult AdicionarProduto(Produto produto, HttpPostedFileBase file) { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion #region limpa as viewbags de mensagem ViewBag.MensagemCadProduto = null; #endregion #region validação dos campos //validação dos campos if (!ModelState.IsValid) { if (Session["ListaDiasSemana"] != null) { ViewBag.ListaDiasSemana = (List <DiasSemana>)Session["ListaDiasSemana"]; } if (Session["MenuCardapio"] != null) { ViewBag.MenuCardapio = (List <MenuCardapio>)Session["MenuCardapio"]; } return(View("Adicionar", produto)); } #endregion DadosRequisicaoRest retornoRequest = new DadosRequisicaoRest(); try { string urlPost = "/Produto/Adicionar/"; //recebe a imagem do produto if (file != null) { //valida o tamanho da imagem //tamanho maximo permitido é 10 mb if (file.ContentLength > 10000000) { ViewBag.MensagemCadProduto = "a imagem deve ter no máximo 10 megabytes"; return(View("Adicionar", produto)); } string fileName = Path.GetFileName(file.FileName); string saveAsPath = Path.Combine(ConfigurationManager.AppSettings["PastaImagens"] + usuarioLogado.UrlLoja + "/Produtos/", fileName); file.SaveAs(saveAsPath); //string pic = System.IO.Path.GetFileName(file.FileName); string caminhoPasta = ConfigurationManager.AppSettings["PastaImagens"] + usuarioLogado.UrlLoja + "/Produtos/"; //string path = caminhoPasta + pic; //se o diretório ainda não existir, cria um novo if (!Directory.Exists(caminhoPasta)) { Directory.CreateDirectory(caminhoPasta); } //salva a imagem na pasta file.SaveAs(saveAsPath); //seta o nome e caminho da imagem no produto produto.Imagem = fileName; } produto.IdLoja = usuarioLogado.IdLoja; retornoRequest = rest.Post(urlPost, produto); if (retornoRequest.HttpStatusCode != HttpStatusCode.Created) { ViewBag.MensagemCadProduto = "não foi possível cadastrar o produto . por favor, tente novamente"; return(View("Adicionar", produto)); } return(RedirectToAction("Index", "Produto")); } catch (Exception) { ViewBag.MensagemCadProduto = "não foi possível cadastrar o produto. por favor, tente novamente"; return(View("Adicionar", produto)); } }
public ActionResult AdicionarBrinde(Brinde brindeCadastro, HttpPostedFileBase file) { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return(RedirectToAction("Index", "Login")); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion DadosRequisicaoRest retornoRequest = new DadosRequisicaoRest(); #region validações form if (file == null) { ViewBag.MensagemErroCadBrinde = "insira uma imagem para o brinde"; return(View("Adicionar", brindeCadastro)); } #endregion #region limpa as viewbags de mensagem ViewBag.MensagemErroCadBrinde = null; #endregion #region validação dos campos //validação dos campos if (!ModelState.IsValid) { return(View("Adicionar", brindeCadastro)); } #endregion try { //recebe a imagem do brinde if (file != null) { //valida o tamanho da imagem //tamanho maximo permitido é 10 mb if (file.ContentLength > 10000000) { ViewBag.MensagemErroCadBrinde = "a imagem deve ter no máximo 10 megabytes"; return(View("Adicionar", brindeCadastro)); } string pic = System.IO.Path.GetFileName(file.FileName); string caminhoPasta = ConfigurationManager.AppSettings["PastaImagens"] + usuarioLogado.UrlLoja + "/Brindes/"; string path = caminhoPasta + pic; //se o diretório ainda não existir, cria um novo if (!Directory.Exists(caminhoPasta)) { Directory.CreateDirectory(caminhoPasta); } //salva a imagem na pasta file.SaveAs(path); //seta o nome e caminho da imagem no brinde brindeCadastro.Imagem = pic; } Brinde brinde = new Brinde { IdLoja = usuarioLogado.IdLoja, Nome = brindeCadastro.Nome, Descricao = brindeCadastro.Descricao, Imagem = brindeCadastro.Imagem, Ativo = brindeCadastro.Ativo }; string urlPost = "/Brinde/Adicionar"; retornoRequest = rest.Post(urlPost, brinde); if (retornoRequest.HttpStatusCode == HttpStatusCode.Created) { return(RedirectToAction("Index", "Brinde")); } else { ViewBag.MensagemErroCadBrinde = "não foi possível cadastrar o brinde. por favor, tente novamente"; return(View("Adicionar", brindeCadastro)); } } catch (Exception) { ViewBag.MensagemErroCadBrinde = "não foi possível cadastrar o brinde. por favor, tente novamente"; return(View("Adicionar", brindeCadastro)); } }
public string AtualizarStatusPedido(string dadosJson) { #region validacao usuario logado //se a sessão de usuário não estiver preenchida, direciona para a tela de login if (Session["UsuarioLogado"] == null) { return("erro"); } //recebe o usuário logado usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]); #endregion DadosAtualizarStatusPedido dadosAtualizarPedido = new DadosAtualizarStatusPedido(); dadosAtualizarPedido = JsonConvert.DeserializeObject <DadosAtualizarStatusPedido>(dadosJson); //variável para armazenar o retorno da api DadosRequisicaoRest retornoRequest = new DadosRequisicaoRest(); //tratamento de erros try { //monta a url de chamada na api string urlPost = string.Format("/Pedido/AtualizarStatusPedido/{0}/", usuarioLogado.IdLoja); //realiza o post passando o usuário no body retornoRequest = rest.Post(urlPost, dadosAtualizarPedido); //se o status não for OK, uma exception é lançada e sera exibida na tela via alert if (retornoRequest.HttpStatusCode != HttpStatusCode.OK) { return("erro"); } //se o status do pedido for "na fila", não envia e-mail if (dadosAtualizarPedido.IdStatusPedido == 0) { return("sucesso"); } #region envia e-mail com o status string emailUsuario = ""; #region busca o e-mail do usuário que realizou o pedido //monta a url de chamada na api string urlGet = string.Format("/Pedido/BuscarEmailUsuarioPedido/{0}/{1}", dadosAtualizarPedido.IdPedido, usuarioLogado.IdLoja); //busca o e-mail do usuário retornoRequest = rest.Get(urlGet); if (retornoRequest.HttpStatusCode == HttpStatusCode.OK) { emailUsuario = JsonConvert.DeserializeObject <string>(retornoRequest.objeto.ToString()); } else { return("erro email"); } #endregion DadosEnvioEmailUnitario dadosEmail = new DadosEnvioEmailUnitario { From = string.Format("{0} <*****@*****.**>", usuarioLogado.NomeLoja), To = emailUsuario }; if (dadosAtualizarPedido.IdStatusPedido == 0) { dadosEmail.Subject = "Pedido na fila"; dadosEmail.Text = string.Format(@"<html lang=""pt-br"" style=""margin-left: 10%; width: 80%; font-family: 'Open Sans';""> <head> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> </head> <body> <div class=""barra-brand"" style=""background-color: #bc2026; height: 50px; text-align: left; border: #fff;"" align=""left""> <p class=""brand"" style=""color: #fff; letter-spacing: 2px; text-transform: uppercase; padding: 13px;"">{0}</p> </div> <div class=""body"" style=""margin-top: 3em; text-align: center; border-left-width: 1px; border-left-color: #bc2026; border-left-style: dotted; border-right-width: 1px; border-right-color: #bc2026; border-right-style: dotted;"" align=""center""> <p>Olá, o seu pedido está na fila.</p> </div> <div class=""rodape"" style=""margin-top: 5em; background-color: #FCFCFF; padding: 2em;""> <p>Obrigado!</p> <p>Equipe {0}</p> </div> </body> </html>", usuarioLogado.NomeLoja.ToUpper()); } if (dadosAtualizarPedido.IdStatusPedido == 1) { dadosEmail.Subject = "Pedido em andamento"; string mensagemBody = "Olá, o seu pedido está em andamento."; dadosEmail.Text = string.Format(@"<html lang=""pt-br"" style=""margin-left: 10%; width: 80%; font-family: 'Open Sans';""> <head> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> </head> <body> <div class=""barra-brand"" style=""background-color: #bc2026; height: 50px; text-align: left; border: #fff;"" align=""left""> <p class=""brand"" style=""color: #fff; letter-spacing: 2px; text-transform: uppercase; padding: 13px;"">{0}</p> </div> <div class=""body"" style=""margin-top: 3em; text-align: center; border-left-width: 1px; border-left-color: #bc2026; border-left-style: dotted; border-right-width: 1px; border-right-color: #bc2026; border-right-style: dotted;"" align=""center""> <p>{1}</p> </div> <div class=""rodape"" style=""margin-top: 5em; background-color: #FCFCFF; padding: 2em;""> <p>Obrigado!</p> <p>Equipe {0}</p> </div> </body> </html>", usuarioLogado.NomeLoja.ToUpper(), mensagemBody); } if (dadosAtualizarPedido.IdStatusPedido == 2) { dadosEmail.Subject = "Pedido entregue"; string mensagemBody = "Olá, o seu pedido foi entregue."; dadosEmail.Text = string.Format(@"<html lang=""pt-br"" style=""margin-left: 10%; width: 80%; font-family: 'Open Sans';""> <head> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> </head> <body> <div class=""barra-brand"" style=""background-color: #bc2026; height: 50px; text-align: left; border: #fff;"" align=""left""> <p class=""brand"" style=""color: #fff; letter-spacing: 2px; text-transform: uppercase; padding: 13px;"">{0}</p> </div> <div class=""body"" style=""margin-top: 3em; text-align: center; border-left-width: 1px; border-left-color: #bc2026; border-left-style: dotted; border-right-width: 1px; border-right-color: #bc2026; border-right-style: dotted;"" align=""center""> <p>{1}</p> </div> <div class=""rodape"" style=""margin-top: 5em; background-color: #FCFCFF; padding: 2em;""> <p>Obrigado!</p> <p>Equipe {0}</p> </div> </body> </html>", usuarioLogado.NomeLoja.ToUpper(), mensagemBody); } if (dadosAtualizarPedido.IdStatusPedido == 3) { dadosEmail.Subject = "Pedido cancelado"; string mensagemBody = "Olá, o seu pedido foi cancelado. Motivo do cancelamento: " + dadosAtualizarPedido.MotivoCancelamento; dadosEmail.Text = string.Format(@"<html lang=""pt-br"" style=""margin-left: 10%; width: 80%; font-family: 'Open Sans';""> <head> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> </head> <body> <div class=""barra-brand"" style=""background-color: #bc2026; height: 50px; text-align: left; border: #fff;"" align=""left""> <p class=""brand"" style=""color: #fff; letter-spacing: 2px; text-transform: uppercase; padding: 13px;"">{0}</p> </div> <div class=""body"" style=""margin-top: 3em; text-align: center; border-left-width: 1px; border-left-color: #bc2026; border-left-style: dotted; border-right-width: 1px; border-right-color: #bc2026; border-right-style: dotted;"" align=""center""> <p>{1}</p> </div> <div class=""rodape"" style=""margin-top: 5em; background-color: #FCFCFF; padding: 2em;""> <p>Obrigado!</p> <p>Equipe {0}</p> </div> </body> </html>", usuarioLogado.NomeLoja.ToUpper(), mensagemBody); } retornoRequest = rest.Post("Email/EnviarEmailUnitario", dadosEmail); if (retornoRequest.HttpStatusCode == HttpStatusCode.OK) { return("sucesso"); } else { return("erro email"); } #endregion } //se ocorrer algum erro inesperado lança a exception catch (Exception) { return("erro"); } }
public ActionResult Autenticar(Usuario usuario) { //limpa a sessão de mensagem //Session["MensagemAutenticacao"] = null; #region limpa as viewbags de mensagem ViewBag.MensagemAutenticacao = null; #endregion //captura a loja em questão Session["dominioLoja"] = BuscarUrlLoja(); //se não conseguir capturar a loja, direciona para a tela de erro if (Session["dominioLoja"] == null) { ViewBag.MensagemAutenticacao = "estamos com dificuldade em buscar dados no servidor. por favor, tente atualizar a página"; return(View("Index", usuario)); } if (string.IsNullOrEmpty(usuario.Email) || string.IsNullOrEmpty(usuario.Senha)) { ViewBag.MensagemAutenticacao = "preencha o login e senha"; return(View("Index", usuario)); } string dominioLoja = Session["dominioLoja"].ToString(); DadosRequisicaoRest retornoAutenticacao = new DadosRequisicaoRest(); DadosRequisicaoRest retornoDadosUsuario = new DadosRequisicaoRest(); string senha = null; try { senha = usuario.Senha; usuario.Senha = CriptografiaMD5.GerarHashMd5(usuario.Senha); string urlPost = string.Format("/usuario/autenticar/{0}/'{1}'", TipoUsuario.Loja, dominioLoja); retornoAutenticacao = rest.Post(urlPost, usuario); //se o usuário for autenticado, direciona para a tela home if (retornoAutenticacao.HttpStatusCode == HttpStatusCode.Accepted) { UsuarioLoja usuarioLogado = new UsuarioLoja(); try { //busca os dados do usuário retornoDadosUsuario = rest.Post(string.Format("usuario/buscarPorEmail/{0}/{1}", TipoUsuario.Loja, dominioLoja), usuario); //verifica se os dados do usuário foram encontrados if (retornoDadosUsuario.HttpStatusCode != HttpStatusCode.OK) { throw new Exception(); } //converte o usuario em objeto e seta a url da loja usuarioLogado = JsonConvert.DeserializeObject <UsuarioLoja>(retornoDadosUsuario.objeto.ToString()); usuarioLogado.UrlLoja = dominioLoja; //armazena o usuário na sessão "usuarioLogado" Session["usuarioLogado"] = usuarioLogado; //limpa a sessão "usuarioLogin" Session["usuarioLogin"] = null; //se for o usuário for admin, direciona para a tela home if (usuarioLogado.NivelPermissao == 1) { return(RedirectToAction("Index", "Home")); } //senão, direciona para a tela de pedidos else { return(RedirectToAction("Index", "Pedido")); } } //se não for possível consultar os dados do usuário catch (Exception) { usuario.Senha = senha; ViewBag.MensagemAutenticacao = "estamos com dificuldade em buscar dados no servidor. por favor, tente novamente"; return(View("Index", usuario)); } } else if (retornoAutenticacao.HttpStatusCode == HttpStatusCode.Unauthorized) { usuario.Senha = senha; ViewBag.MensagemAutenticacao = "usuário ou senha inválida"; return(View("Index", usuario)); } //se for algum outro erro else { usuario.Senha = senha; ViewBag.MensagemAutenticacao = "não foi possível realizar o login. por favor, tente novamente"; return(View("Index", usuario)); } } catch (Exception) { usuario.Senha = senha; ViewBag.MensagemAutenticacao = "não foi possível realizar o login. por favor, tente novamente"; return(View("Index", usuario)); } }