public ActionResult DesativarBrindeParceiro(int id)
        {
            #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

            //busca o id do parceiro
            Int32.TryParse(Session["IdParceiro"].ToString(), out int idParceiro);
            Session["IdParceiro"] = null;

            //busca os dados do brinde
            BrindeParceiro brindeParceiro = new BrindeParceiro
            {
                Id         = id,
                IdLoja     = usuarioLogado.IdLoja,
                IdParceiro = idParceiro
            };

            //inativa o parceiro
            string urlPost = string.Format("/BrindeParceiro/Desativar");

            retornoRequest = rest.Post(urlPost, brindeParceiro);

            return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult AdicionarBrindeParceiro(DadosBrindeParceiro dadosBrindeParceiro)
        {
            BrindeParceiro brindeParceiro = new BrindeParceiro();

            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.MensagemErroCadBrindeParceiro = null;

                #endregion

                #region validação dos campos

                //validação dos campos
                if (!ModelState.IsValid)
                {
                    return(View("AdicionarBrinde", dadosBrindeParceiro));
                }

                #endregion

                #region cadastra o brinde para o parceiro

                if (dadosBrindeParceiro.IdBrinde == 0)
                {
                    return(null);
                }

                brindeParceiro.IdBrinde   = dadosBrindeParceiro.IdBrinde;
                brindeParceiro.IdLoja     = usuarioLogado.IdLoja;
                brindeParceiro.IdParceiro = dadosBrindeParceiro.IdParceiro;
                brindeParceiro.Ativo      = dadosBrindeParceiro.Ativo;

                string urlPost = "/BrindeParceiro/Adicionar";
                retornoRequest = rest.Post(urlPost, brindeParceiro);

                //se o brinde for cadastrado, direciona para a tela de visualização de brindes do parceiro
                if (retornoRequest.HttpStatusCode == HttpStatusCode.Created)
                {
                    return(RedirectToAction("Detalhes", "Parceiro", new { id = brindeParceiro.IdParceiro }));
                }

                ViewBag.MensagemErroCadBrindeParceiro = "não foi possível cadastrar o brinde. por favor, tente novamente";
                return(View("AdicionarBrinde", brindeParceiro));

                #endregion
            }
            catch (Exception)
            {
                ViewBag.MensagemErroCadBrindeParceiro = "não foi possível cadastrar o brinde. por favor, tente novamente";
                return(View("AdicionarBrinde", brindeParceiro));
            }
        }
        public ActionResult AdicionarBrinde(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["MensagemCarregamentoAdicionarBrinde"] = null;

                #endregion

                #region busca os brindes

                List <Brinde>       listaBrindes        = new List <Brinde>();
                DadosBrindeParceiro dadosBrindeParceiro = new DadosBrindeParceiro();
                BrindeParceiro      brindeParceiro      = new BrindeParceiro();

                //busca todos os produtos brindes da loja
                retornoRequest = rest.Get(string.Format("/Brinde/ListarPorLoja/{0}", usuarioLogado.IdLoja));

                //se não encontrar produtos adicionais
                if (retornoRequest.HttpStatusCode == HttpStatusCode.NoContent)
                {
                    Session["MensagemCarregamentoAdicionarBrinde"] = "é necessário cadastrar um produto adicional antes de atrela-lo ao produto";
                    return(RedirectToAction("Detalhes", "Parceiro", new { id = id }));
                }

                if (retornoRequest.HttpStatusCode != HttpStatusCode.OK)
                {
                    Session["MensagemCarregamentoAdicionarBrinde"] = "não foi possível carregar os brindes. por favor, tente novamente ou entre em contato com o administrador do sistema.";
                    return(RedirectToAction("Detalhes", "Parceiro", new { id = id }));
                }

                string json = retornoRequest.objeto.ToString();

                listaBrindes = JsonConvert.DeserializeObject <List <Brinde> >(json);

                dadosBrindeParceiro.Brindes    = listaBrindes.Where(p => p.Ativo).ToList();
                dadosBrindeParceiro.IdParceiro = id;

                #endregion

                return(View(dadosBrindeParceiro));
            }
            catch (Exception)
            {
                Session["MensagemCarregamentoAdicionarBrinde"] = "não foi possível carregar os brindes. por favor, tente novamente ou entre em contato com o administrador do sistema.";
                return(RedirectToAction("Detalhes", "Parceiro", new { id = id }));
            }
        }