예제 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Codigo,Data,Validade,Desconto,Utilizado")] Cupom cupom)
        {
            if (id != cupom.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(cupom);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CupomExists(cupom.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(cupom));
        }
예제 #2
0
        public IHttpActionResult PostCupom(Cupom cupom)
        {
            var headers = Request.Headers;

            if (headers.Contains("jwt"))
            {
                try
                {
                    en.ValidToken(headers.GetValues("jwt").First());
                }
                catch (Exception e)
                {
                    return(NotFound());
                }
            }
            else
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.cupoms.Add(cupom);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = cupom.ID_Cupom }, cupom));
        }
예제 #3
0
        // UPDATE   (UPDATE - ATUALIZACAO) - RESPOSAVEL PELA SAIDA
        public void alteracao(Cupom cupom)
        {
            try
            {
                string       sql;
                MySqlCommand CDCupom;

                Veiculo veiculo = new Veiculo();
                veiculo = cupom.Automovel;

                this.conectar();

                sql     = "UPDATE `cupom` SET `horaSaida` = @horaSaida, `situacao` = @situacao WHERE `placa` = @placa";
                CDCupom = new MySqlCommand(sql, conexao);

                CDCupom.Parameters.AddWithValue("@horaSaida", cupom.HoraSaida);
                CDCupom.Parameters.AddWithValue("@situacao", cupom.Situacao);
                CDCupom.Parameters.AddWithValue("@placa", veiculo.Placa);
                CDCupom.ExecuteNonQuery();

                MessageBox.Show("Saida de veículo realizada", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro\n" + ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                conexao.Close();
            }
        }
예제 #4
0
        public IActionResult Edit(long id)
        {
            Cupom cupons = this.db.Cupons
                           .Include(m => m.estacionamento)
                           .Where(x => x.Id == id)
                           .FirstOrDefault();

            if (cupons == null)
            {
                return(NotFound());
            }

            CupomVM vm = new CupomVM();

            vm.Nome      = cupons.Nome;
            vm.Descricao = cupons.Descricao;
            var estacionamentos = db.Estacionamentos.ToList();

            foreach (var estacionamento in estacionamentos)
            {
                vm.Estacionamentos.Add(new SelectListItem
                {
                    Value = estacionamento.Id.ToString(),
                    Text  = estacionamento.Nome
                });
            }

            return(View(vm));
        }
예제 #5
0
        public IActionResult Create(CupomVM vm)
        {
            if (ModelState.IsValid)
            {
                Cupom cupom = new Cupom();
                cupom.Nome           = vm.Nome;
                cupom.Descricao      = vm.Descricao;
                cupom.estacionamento = db.Estacionamentos.Find(vm.IdCursoSelecionado);
                this.db.Cupons.Add(cupom);
                this.db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            var estacionamentos = db.Estacionamentos.ToList();

            foreach (var estacionamento in estacionamentos)
            {
                vm.Estacionamentos.Add(new SelectListItem
                {
                    Value = estacionamento.Id.ToString(),
                    Text  = estacionamento.Nome
                });
            }

            return(View(vm));
        }
예제 #6
0
        public IHttpActionResult GetCupom(int id)
        {
            var headers = Request.Headers;

            if (headers.Contains("jwt"))
            {
                try
                {
                    en.ValidToken(headers.GetValues("jwt").First());
                }
                catch (Exception e)
                {
                    return(NotFound());
                }
            }
            else
            {
                return(NotFound());
            }
            Cupom cupom = db.cupoms.Find(id);

            if (cupom == null)
            {
                return(NotFound());
            }

            return(Ok(cupom));
        }
예제 #7
0
        public PartialViewResult AdicionarCupomTroca(string codCupom)
        {
            Carrinho     carrinho;
            Cupom        cupom;
            List <Cupom> cupons = new List <Cupom>();

            carrinho = SessionHelper.Get <Carrinho>(HttpContext.Session, "carrinho");

            cupom = carrinho.CuponsTroca.Find(x => x.Codigo == codCupom);//Verifica se o cupom ja foi adicionado
            if (cupom == null)
            {
                cupom        = new Cupom();
                cupom.Codigo = codCupom;
                cupom.Usado  = 0;
                resultado    = new Facade().Consultar(cupom);
                if (!string.IsNullOrEmpty(resultado.Msg))
                {
                    ViewBag.Mensagem = resultado.Msg;
                    return(PartialView("_resumo", carrinho));
                }
                else
                {
                    cupons = new List <Cupom>();
                    foreach (var item in resultado.Entidades)
                    {
                        cupons.Add((Cupom)item);
                    }
                    cupom = cupons.FirstOrDefault();
                }
                carrinho.CuponsTroca.Add(cupom);//Se nao foi, adiciona
                SessionHelper.Set <Carrinho>(HttpContext.Session, "carrinho", carrinho);
            }
            return(PartialView("_resumo", carrinho));
        }
예제 #8
0
        public Cupom CreateCupom(string tipoCupom, string codigoCupom, double valorDesconto)
        {
            Cupom cupom = new Cupom();

            try
            {
                using (IDbConnection con = new SqlConnection(base.GetConection()))
                {
                    if (con.State == ConnectionState.Closed)
                    {
                        con.Open();
                    }

                    DynamicParameters parameter = new DynamicParameters();
                    parameter.Add("@TIPO_CUPOM", tipoCupom);
                    parameter.Add("@CODIGO_CUPOM", codigoCupom);
                    parameter.Add("@VALOR_DESCONTO", valorDesconto);
                    cupom = con.Query <Cupom>("PR_INS_CUPOM", parameter, commandType: CommandType.StoredProcedure).FirstOrDefault();
                }

                return(cupom);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #9
0
        public void addCupom(Cliente c, double valor)
        {
            Cupom cupom = new Cupom {
                Cliente = c, Valor = valor
            };

            Random rnd = new Random();

            while (true)
            {
                int codigo = rnd.Next(0, 1000000);
                var items  = _facade.Query <Cupom>(
                    c => Convert.ToInt32(c.Codigo) == codigo,
                    c => c);

                if (items.Count() == 0)
                {
                    cupom.Codigo = codigo.ToString("D7");
                    break;
                }
                codigo = rnd.Next(0, 1000000);;
            }

            c.Cupons.Add(cupom);
        }
예제 #10
0
        public IActionResult Compra(int c, string cp)
        {
            // c = cursoId
            // cp = codigo cupom

            decimal d = 0;

            Cupom cupom = _dbContext.Cupons.Where(c => c.Codigo == cp).SingleOrDefault();

            if (cupom != null)
            {
                d = cupom.Desconto;
            }

            Curso curso = _dbContext.Cursos.Find(c);
            Aluno aluno = _dbContext.Alunos.Where(a => a.Email == User.Identity.Name).SingleOrDefault();

            decimal valorDesconto = Math.Round(d * curso.Preco / 100, 2);

            var request  = _httpContext.HttpContext.Request;
            var basePath = request.PathBase;

            ViewData["PathProcessarPagamentoMP"] = basePath + "/" + culture + "/home/processar_pagamentoMP";
            ViewData["CheckoutId"]    = GetCheckoutMercadoPago("Curso " + RemoveDiacritics(curso.Nome), curso.Preco - valorDesconto, aluno.Id, curso.Id, cp);
            ViewData["ValorDesconto"] = valorDesconto;
            ViewData["CursoNome"]     = curso.Nome;
            ViewData["CursoPreco"]    = curso.Preco;
            ViewData["Total"]         = curso.Preco - valorDesconto;

            return(View());
        }
예제 #11
0
        public IHttpActionResult PutCupom(int id, Cupom cupom)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != cupom.ID_Cupom)
            {
                return(BadRequest());
            }

            db.Entry(cupom).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CupomExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #12
0
        protected override void Page_Load(object sender, EventArgs e)
        {
            pedido = commands["CONSULTAR"].execute(new Pedido()
            {
                ID = Convert.ToInt32(Session["idPedido"])
            }).Entidades.Cast <Pedido>().ElementAt(0);

            Cliente cliente = commands["CONSULTAR"].execute(new Cliente()
            {
                Email = pedido.Usuario
            }).Entidades.Cast <Cliente>().ElementAt(0);

            Cupom cupom = new Cupom();

            cupom.IdCliente   = cliente.ID;
            cupom.IdPedido    = pedido.ID;
            cupom.Status      = 'A';
            cupom.Tipo.ID     = 1;
            cupom.ValorCupom  = pedido.Total;
            cupom.CodigoCupom = "CUPOMTROCA" + pedido.ID + cupom.IdCliente + cupom.ValorCupom.ToString().Replace(",", "");

            resultado = commands["SALVAR"].execute(cupom);

            Response.Redirect("./lista_pedidos.aspx");
        }
예제 #13
0
        public HttpResponseMessage BuscarPorId(int id)
        {
            Cupom  retorno   = null;
            var    formatter = new JsonMediaTypeFormatter();
            string mensagem  = null;

            try
            {
                if (ModelState.IsValid)
                {
                    retorno = _cupomAppServiceBase.GetById(id);

                    if (retorno == null)
                    {
                        mensagem = "Cupom por Id não encontrado.";
                    }
                }
                var jsonSerialize = new JsonSerialize();
                jsonSerialize.SerializarJson(formatter);
            }
            catch (Exception ex)
            {
                mensagem = "Houve um erro interno:" + ex;
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, new { retorno, mensagem }, formatter));
        }
예제 #14
0
        public static DataTable CupomDatatable(List <Cupom> input)
        {
            DataTable data = new DataTable();

            data.Columns.Add(new DataColumn("ID", typeof(int)));
            data.Columns.Add(new DataColumn("Name", typeof(string)));

            DataRow dr = data.NewRow();

            dr[0] = 0;
            dr[1] = "Selecione um Cupom de Troca";
            data.Rows.Add(dr);

            int a = input.Count;

            for (int i = 0; i < a; i++)
            {
                Cupom cupom = input.ElementAt(i);
                dr    = data.NewRow();
                dr[0] = cupom.ID;
                dr[1] = cupom.CodigoCupom + " - R$ " + cupom.ValorCupom.ToString("N2");
                data.Rows.Add(dr);
            }
            return(data);
        }
예제 #15
0
        public PartialViewResult AdicionarCupomPromo(string codCupom)
        {
            Carrinho     carrinho;
            Cupom        cupom = new Cupom();
            List <Cupom> cupons;

            carrinho = SessionHelper.Get <Carrinho>(HttpContext.Session, "carrinho");

            if (!string.IsNullOrEmpty(carrinho.CupomPromocional.Codigo) ||
                carrinho.CupomPromocional.Codigo != codCupom)
            {
                cupom.Codigo        = codCupom;
                cupom.DataExpiracao = DateTime.Now;
                cupom.Usado         = null;
                resultado           = new Facade().Consultar(cupom);
                if (!string.IsNullOrEmpty(resultado.Msg))
                {
                    TempData["MsgErro"] = resultado.Msg;
                    return(PartialView(null));
                }
                else
                {
                    cupons = new List <Cupom>();
                    foreach (var item in resultado.Entidades)
                    {
                        cupons.Add((Cupom)item);
                    }
                    cupom = cupons.FirstOrDefault();
                }
                carrinho.CupomPromocional = cupom;
                SessionHelper.Set <Carrinho>(HttpContext.Session, "carrinho", carrinho);
            }

            return(PartialView("_resumo", carrinho));
        }
예제 #16
0
        private void btnAdm_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtDocumentoVinculado.Text) || Convert.ToInt32(txtDocumentoVinculado.Text) <= 0)
            {
                MessageBox.Show("Digite o número do documento vinculado", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtDocumentoVinculado.Focus();
                return;
            }

            if (mCupomVenda == null)
            {
                mCupomVenda = new Cupom
                {
                    TipoOperacao       = "Adm",
                    DocumentoVinculado = txtDocumentoVinculado.Text,
                    ValorTotal         = 0
                };
            }
            mTefSoftwareExpress.gCupomVenda = mCupomVenda;

            int sts = mTefSoftwareExpress.Adm(txtDocumentoVinculado.Text);

            if (sts == 0)
            {
                ImprimirComprovantes(txtDocumentoVinculado.Text);
                txtDocumentoVinculado.Text = "";
            }
            else
            {
                ExibirMensagem(mTefSoftwareExpress.MensagemTef(sts));
            }
            LimparRetornoTef();
        }
예제 #17
0
        public IEnumerable <IEntity> Consultar(IEntity entity)
        {
            Cupom cupom = (Cupom)entity;

            // faz um select no banco de dados
            var cupons = _context.Cupons;

            // Se foi passado um Id | retorna uma lista de entidades
            if (cupom.Id == 0)
            {
                // Se não foi passada uma descrição da entidade | retorna todas as entidades
                if (cupom.codigo == null)
                {
                    return(cupons.ToList());
                }

                // Se foi passada uma descrição da entidade | retorna todas as entidades com a descrição
                return(cupons.Where(l => l.codigo == cupom.codigo).ToList());
            }
            else
            {
                // Se foi passado um Id | retorna a entidade especificada
                return(cupons.Where(l => l.Id == cupom.Id).ToList());
            }
        }
예제 #18
0
        public ActionResult Cupom([Bind(Include = "Id,Codigo,Valor,Ativo,DataCadastro")] Cupom cupom)
        {
            cupom.DataCadastro = DateTime.Now;
            cupom.Ativo        = true;

            new Core.Controle.Fachada().Inserir(cupom);
            return(View(cupom));
        }
예제 #19
0
        public ActionResult DeleteConfirmed(int id)
        {
            Cupom cupom = db.Cupoms.Find(id);

            db.Cupoms.Remove(cupom);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #20
0
 void LimparRetornoTef()
 {
     if (mTefSoftwareExpress.gCupomVenda != null)
     {
         mTefSoftwareExpress.gCupomVenda.Transacoes.Clear();
     }
     mTefSoftwareExpress.gCupomVenda = null;
     mCupomVenda = null;
 }
예제 #21
0
 public CupomViewModel(Cupom entidade)
 {
     Id            = entidade?.Id ?? 0;
     CodigoCupom   = entidade.CodigoCupom;
     Descricao     = entidade.Descricao;
     TipoDesconto  = entidade.TipoDesconto;
     ValidadeFinal = entidade.ValidadeFinal.ToString("dd/MM/yyyy");
     ValorCupom    = entidade.ValorCupom.ToString("0.00");
 }
예제 #22
0
        public override void Salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Cupom cupom = (Cupom)entidade;

            pst.CommandText = "INSERT INTO tb_cupom(";

            if (cupom.IdPedido != 0)
            {
                pst.CommandText += "cupom_pedido_fk, ";
            }
            if (cupom.IdCliente != 0)
            {
                pst.CommandText += "cupom_cliente_fk, ";
            }

            pst.CommandText += "codigo_cupom, tipo_cupom_fk, status_cupom, valor_cupom) VALUES (";

            if (cupom.IdPedido != 0)
            {
                pst.CommandText += ":1, ";
            }
            if (cupom.IdCliente != 0)
            {
                pst.CommandText += ":2, ";
            }

            pst.CommandText += ":3, :4, :5, :6)";

            parameters = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", cupom.IdPedido),
                new NpgsqlParameter("2", cupom.IdCliente),
                new NpgsqlParameter("3", cupom.CodigoCupom),
                new NpgsqlParameter("4", cupom.Tipo.ID),
                new NpgsqlParameter("5", cupom.Status),
                new NpgsqlParameter("6", cupom.ValorCupom)
            };

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;
            pst.ExecuteNonQuery();

            if (ctrlTransaction == true)
            {
                pst.CommandText = "COMMIT WORK";
                connection.Close();
            }

            return;
        }
예제 #23
0
        public string Processar(EntidadeDominio entidade)
        {
            if (entidade.GetType().Name.Equals("Pedido"))
            {
                Pedido pedido = (Pedido)entidade;

                if (pedido.ValorTotalPedido < 0.00)
                {
                    List <Cupom> cuponsASeremUtilizados = new List <Cupom>();
                    double       valorTotalPedido       = pedido.ValorTotalPedido;

                    valorTotalPedido += pedido.CupomPromocional.Valor;
                    if (valorTotalPedido >= 0.00)
                    {
                        pedido.CupomPromocional = new Cupom();
                        return("Cupom promocional desnecessário. Os cupons de troca selecionados cobrem a compra.");
                    }

                    pedido.CuponsTroca = pedido.CuponsTroca.OrderByDescending(x => x.Valor).ToList();

                    foreach (var item in pedido.CuponsTroca)
                    {
                        valorTotalPedido += item.Valor;
                        if (valorTotalPedido >= 0)
                        {
                            cuponsASeremUtilizados.Add(item);
                            break;
                        }
                    }
                    pedido.CuponsTroca = cuponsASeremUtilizados;

                    Cupom cupomTroca = new Cupom
                    {
                        UsuarioId     = pedido.UsuarioId,
                        Tipo          = 'T',
                        Valor         = Math.Round(pedido.ValorTotalPedido * -1, 2),
                        Usado         = 0,
                        DataCadastro  = DateTime.Now,
                        DataExpiracao = null
                    };
                    cupomTroca.Codigo  = "T";
                    cupomTroca.Codigo += pedido.UsuarioId;
                    cupomTroca.Codigo += DateTime.Now.Year;
                    cupomTroca.Codigo += DateTime.Now.Month;
                    cupomTroca.Codigo += DateTime.Now.Day;

                    pedido.CupomTrocaGerado = cupomTroca;
                    pedido.ValorTotalPedido = 0;
                }
            }
            else
            {
                return("Deve ser registrado um pedido");
            }
            return(null);
        }
예제 #24
0
        public IEntity Salvar(IEntity entity)
        {
            Cupom cupom = (Cupom)entity;

            _context.Add(cupom);

            _context.SaveChanges();

            return(cupom);
        }
예제 #25
0
 public ActionResult Edit([Bind(Include = "Codigo,DescontoQuantidade,DescontoPorcentagem,Valido,Quantidade,Descricao")] Cupom cupom)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cupom).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(cupom));
 }
예제 #26
0
        public void Deletar(int id)
        {
            Cupom CupomDeletado = ctx.Cupom.FirstOrDefault(C => C.IdCupom == id);

            if (CupomDeletado != null)
            {
                ctx.Cupom.Remove(CupomDeletado);
                ctx.SaveChanges();
            }
        }
예제 #27
0
        protected void btnAplicaCupomPromo_Click(object sender, EventArgs e)
        {
            Cupom cupomPromo = new Cupom();

            cupomPromo.CodigoCupom = txtCupomPromo.Text;

            entidades = commands["CONSULTAR"].execute(cupomPromo).Entidades;

            // verifica se veio APENAS 1
            if (entidades.Count == 1)
            {
                cupomPromo = (Cupom)entidades.ElementAt(0);

                //se o código é IGUAL ao que foi digitado
                if (cupomPromo.CodigoCupom.Trim().Equals(txtCupomPromo.Text.Trim()))
                {
                    // verifica se é um cupom promocional
                    if (cupomPromo.Tipo.ID == 2)
                    {
                        // verifica se cupom está ativo
                        if (cupomPromo.Status == 'A')
                        {
                            Session["idCupomPromo"] = cupomPromo.ID;
                            lblResultadoAplicaCupomPromo.Visible = false;
                            lblResultadoAplicaCupomPromo.Text    = "";
                            AplicaCupom();
                        }
                        else
                        {
                            lblResultadoAplicaCupomPromo.Visible = true;
                            lblResultadoAplicaCupomPromo.Text    = "CUPOM INATIVO!";
                            Session["idCupomPromo"] = null;
                        }
                    }
                    else
                    {
                        lblResultadoAplicaCupomPromo.Visible = true;
                        lblResultadoAplicaCupomPromo.Text    = "NÃO É UM CUPOM PROMOCIONAL!";
                        Session["idCupomPromo"] = null;
                    }
                }
                else
                {
                    lblResultadoAplicaCupomPromo.Visible = true;
                    lblResultadoAplicaCupomPromo.Text    = "CUPOM INEXISTENTE!";
                    Session["idCupomPromo"] = null;
                }
            }
            else
            {
                lblResultadoAplicaCupomPromo.Visible = true;
                lblResultadoAplicaCupomPromo.Text    = "CUPOM INEXISTENTE!";
                Session["idCupomPromo"] = null;
            }
        }
예제 #28
0
        public async Task <IActionResult> Create([Bind("Id,Codigo,Data,Validade,Desconto,Utilizado")] Cupom cupom)
        {
            if (ModelState.IsValid)
            {
                _context.Add(cupom);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(cupom));
        }
예제 #29
0
        public async Task <IActionResult> Create([Bind("Id,Description,Validity,Discount")] Cupom cupom)
        {
            if (ModelState.IsValid)
            {
                _context.Add(cupom);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(cupom));
        }
예제 #30
0
        public IHttpActionResult GetCupom(int id)
        {
            Cupom cupom = db.Cupoms.Find(id);

            if (cupom == null)
            {
                return(NotFound());
            }

            return(Ok(cupom));
        }
예제 #31
0
        private Cupom DTOtoCupom(CupomDTO c)
        {
            Cupom cupom = new Cupom();

            cupom.DataUtilizacao = c.DataUtilizacao;
            cupom.DataValidade = c.DataValidade;
            cupom.Id = c.Id;
            //cupom.Oferta = DTOtoOferta(c.Oferta);
            cupom.Valor = c.Valor;

            return cupom;
        }
예제 #32
0
        private CupomDTO CupomToDTO(Cupom c)
        {
            if (c == null)
            {
                return null;
            }

            CupomDTO cupom = new CupomDTO();

            cupom.DataUtilizacao = c.DataUtilizacao;
            cupom.DataValidade = c.DataValidade;
            cupom.Id = c.Id;
            //cupom.Oferta = OfertaToDTO(c.Oferta);
            cupom.Valor = c.Valor;

            return cupom;
        }