public IActionResult Post([FromBody] PaymentRequest request)
        {
            Model.Pay pay = new Model.Pay()
            {
                Amount    = request.Amount,
                InvoiceId = request.InvoiceId,
                Date      = DateTime.Now
            };

            _service.AddPay(pay);


            //RABBITMQ

            var paymentCommand = new PaymentCreateCommand(
                transactionId: pay.TransactionId,
                invoiceId: pay.InvoiceId,
                amount: pay.Amount,
                date: pay.Date
                );

            _bus.SendCommand(paymentCommand);

            var transactionCommand = new TransactionCreateCommand(
                transactionId: pay.TransactionId,
                invoiceId: pay.InvoiceId,
                amount: pay.Amount,
                date: pay.Date
                );

            _bus.SendCommand(transactionCommand);


            return(Ok());
        }
Exemplo n.º 2
0
        public async Task <Model.Pay> AddPay(Model.Pay pay)
        {
            _context.Pays.Add(pay);
            await _context.SaveChangesAsync();

            return(pay);
        }
Exemplo n.º 3
0
        private void Book_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Button button = (Button)sender;
                string number = (string)button.Tag;

                Random     rand     = new Random();
                int        discount = GetDiscount();
                Model.Pay  pay      = new Model.Pay();
                Model.Room room     = new Model.Room();

                room         = Manipulation.db.Rooms.Find(number);
                room.Booking = "Да";

                Model.Booking booking = new Model.Booking
                {
                    Booking_number = Randomizer(rand, 1000, 100000),
                    Client_code    = client1.Client_code,
                    Client         = client1,
                    Arrivall       = DateTime.Parse(arrival.Text),
                    DateOfBooking  = DateTime.Today,
                    Departuree     = DateTime.Parse(departure.Text),
                    TypeOfFood     = (string)TypeOfFood.SelectedItem,
                    TypeOfFood1    = Manipulation.db.TypeOfFoods.Find((string)TypeOfFood.SelectedItem),
                    Payment_number = Randomizer(rand, 1000, 100000),
                    Room           = room,
                    Room_code      = room.Room_code
                };
                booking.Pay = new Model.Pay()
                {
                    Payment_number = booking.Payment_number,
                    DateOfPay      = DateTime.Today,
                    Client         = client1,
                    Payer          = client1.Client_code,
                    Card_number    = Randomizer(rand, 10000, 100000).ToString(),
                    Summ           = booking.TypeOfFood1.Summa + room.CategoryOfRoom.Cost * Nights - discount * 10 / 100
                };

                Manipulation.db.Bookings.Add(booking);

                MessageBox.Show(String.Concat("Вы зарегестрировали бронь!\n", "Ваша скидка - ", discount, " %"), "Поздравляем!");
                Manipulation.db.SaveChanges();
                ClearItems();
            }
            catch (NullReferenceException ex) { MessageBox.Show("Заполните все данные!"); }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex) { MessageBox.Show("Заполните все данные!"); }
            catch (Exception exp) { MessageBox.Show(exp.Message, "Упс.."); }
        }
Exemplo n.º 4
0
 public async Task <Model.Pay> AddPay(Model.Pay pay)
 {
     return(await _repository.AddPay(pay));
 }
Exemplo n.º 5
0
        public void Add_Click(object sender, EventArgs e)
        {
            try
            {
                Model.Client     client       = new Model.Client();
                Model.Pay        pay          = new Model.Pay();
                Model.Room       room         = new Model.Room();
                Model.TypeOfFood type         = new Model.TypeOfFood();
                Model.Booking    booking      = new Model.Booking();
                string           numberOfRoom = (string)Room_Code.SelectedItem;
                string[]         split        = numberOfRoom.Split(' ');
                Random           rand         = new Random();

                room = Manipulation.db.Rooms.Find(split[0]);
                type = Manipulation.db.TypeOfFoods.Find((string)Type_food.SelectedItem);

                if (ClientExist.IsChecked == true)
                {
                    BindingExpression b = card_number.GetBindingExpression(TextBoxWatermarked.TextProperty);
                    if (b.HasValidationError)
                    {
                        throw new Exception("Исправьте неправильно введенные данные!");
                    }
                    IEnumerable <Model.Client> cli = Manipulation.db.Clients.Where(w => w.Full_name == (string)ListOfClients.SelectedItem);
                    client = cli.First();
                }
                else
                {
                    BindingExpression b = card_number.GetBindingExpression(TextBoxWatermarked.TextProperty);
                    BindingExpression f = Full_Name.GetBindingExpression(TextBoxWatermarked.TextProperty);
                    BindingExpression p = Email.GetBindingExpression(TextBoxWatermarked.TextProperty);
                    BindingExpression s = Phone.GetBindingExpression(TextBoxWatermarked.TextProperty);
                    BindingExpression a = PassNumber.GetBindingExpression(TextBoxWatermarked.TextProperty);
                    if (b.HasValidationError || p.HasValidationError || s.HasValidationError || f.HasValidationError || a.HasValidationError)
                    {
                        throw new Exception("Исправьте неправильно введенные данные!");
                    }

                    int code_client = Randomizer(rand, 1000, 100000);

                    client.Client_code     = code_client;
                    client.Full_name       = Full_Name.Text;
                    client.Phone           = Phone.Text;
                    client.Email           = Email.Text;
                    client.Passport_number = PassNumber.Text;
                    client.Birthdate       = DateTime.Parse(DateBornC.Text);

                    Manipulation.db.Clients.Add(client);
                }
                pay.Payment_number = Randomizer(rand, 10, 500);
                pay.Card_number    = card_number.Text;
                pay.Summ           = type.Summa + room.CategoryOfRoom.Cost * Nights;
                pay.Payer          = client.Client_code;
                pay.DateOfPay      = DateTime.Parse(dateOfPay.Text);
                client.Pays.Add(pay);

                Manipulation.db.Pays.Add(pay);
                room.Booking = "Да";

                booking.Booking_number = Randomizer(rand, 1000, 100000);
                booking.Client_code    = client.Client_code;
                booking.Client         = client;
                booking.Arrivall       = DateTime.Parse(Arrival.Text);
                booking.DateOfBooking  = DateTime.Today;
                booking.Departuree     = DateTime.Parse(Departure.Text);
                booking.Pay            = pay;
                booking.Payment_number = pay.Payment_number;
                booking.Room           = room;
                booking.Room_code      = room.Room_code;
                booking.TypeOfFood     = type.Type_name;
                booking.TypeOfFood1    = type;


                Manipulation.db.Bookings.Add(booking);

                MessageBox.Show("Вы зарегестрировали бронь!");
                Manipulation.db.SaveChanges();
                Close();
            }
            catch (NullReferenceException ex) { MessageBox.Show("Зaполните все данные!"); }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex) { MessageBox.Show("Зaполните все данные!"); }
            catch (Exception exp) { MessageBox.Show(exp.Message); }
        }