예제 #1
0
        public HttpResponseMessage Post([FromBody] Sale sale)
        {
            if (sale == null)
                Request.CreateResponse(HttpStatusCode.NoContent);

            ISession session = NHibernateHelper.OpenSession();
            SaleDAO saleDAO = new SaleDAO(session);
            CardDAO cardDAO = new CardDAO(session);
            StudentDAO studentDAO = new StudentDAO(session);
            Student student;

            if (sale.IsReload || sale.WasRefunded)
            {
                student = studentDAO.Get(sale.Student.Id);
                if (student == null)
                    return ReturnResponse(session, HttpStatusCode.NotFound);

                saleDAO.Add(sale);
                student.Balance += sale.Value;
                studentDAO.Update(student);
                return ReturnResponse(session, HttpStatusCode.OK);
            }
            else //sale
            {
                Card card = cardDAO.Get(sale.Card.PAN);
                if (card == null)
                    return ReturnResponse(session, HttpStatusCode.NotFound);

                student = card.Student;

                if (card.Blocked)
                    return ReturnResponse(session, HttpStatusCode.UpgradeRequired);
                else if (!student.CheckPassword(sale.Password))
                    return ReturnResponse(session, HttpStatusCode.Conflict);
                else if (student.Balance < sale.Value)
                    return ReturnResponse(session, HttpStatusCode.Unauthorized);
                else
                {
                    sale.Student = student;
                    student.Sales.Add(sale);
                    saleDAO.Add(sale);
                    student.Balance -= sale.Value;
                    studentDAO.Update(student);

                    EmailSender.sendEmail(sale);

                    return ReturnResponse(session, HttpStatusCode.OK);
                }
            }
        }
        private void buttonConfirm_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(textBoxPassword.Text))
            {
                SystemSounds.Beep.Play();
                MessageBox.Show("Senha vazia", "Erro");
            }
            else if (textBoxPassword.Text != textBoxPasswordConfirm.Text)
            {
                SystemSounds.Beep.Play();
                MessageBox.Show("Senhas não conferem", "Erro");
            }
            else
            {
                ISession session = NHibernateHelper.OpenSession();
                StudentDAO studentDAO = new StudentDAO(session);
                Student student = studentDAO.Get(this.studentId);
                student.ChangePassword(Int32.Parse(textBoxPassword.Text));
                studentDAO.Update(student);
                session.Close();

                this.updated = true;

                MessageBox.Show("Senha trocada com sucesso", "Trocar senha");

                this.Close();
            }
        }
예제 #3
0
        private void okMat_Click(object sender, EventArgs e)
        {
            if (matAluno.Text != "")
            {
                FormCard formCard = new FormCard();
                DialogResult showFormCard;

                this.Hide();
                showFormCard = formCard.ShowDialog();

                if (showFormCard == DialogResult.OK)
                {
                    ISession session = NHibernateHelper.OpenSession();
                    StudentDAO studentDAO = new StudentDAO(session);
                    Student student = studentDAO.Get(Int32.Parse(matAluno.Text));
                    if (student == null)
                        MessageBox.Show("Aluno inexistente");
                    else
                    {
                        Card card = formCard.ReturnValueCard;
                        CardDAO cardDAO = new CardDAO(session);

                        if (cardDAO.Get(card.PAN) == null)
                        {
                            foreach (Card c in student.Cards)
                                if (!c.Blocked)
                                {
                                    MessageBox.Show("Já existe um cartão ativo.", "Erro");
                                    return;
                                }

                            student.Cards.Add(card);
                            cardDAO.Add(card);
                            studentDAO.Update(student);
                            MessageBox.Show("Cartão cadastrado com sucesso para "+student.Name+" "+student.LastName+".","Cadastro de cartão");
                        }
                        else
                            MessageBox.Show("Cartão já cadastrado para um aluno.", "Erro" );
                    }
                    session.Close();
                }
            }
        }