/
h0tnanny
/
DeliveryService
Обзор
Документация
Войти
/
h0tnanny
/
DeliveryService
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
DeliveryService.API/Controllers/PaymentController.cs
171 строка
7 KB
Хатнянский Максим
Поправлены все связи EF Core
16 мар 2024, 12:47
16 мар 2024, 12:47
3434e4b
Код
Авторство
О чём код?
// using System.Globalization; // using DeliveryService.API.Models; // using DeliveryService.Persistence; // using DeliveryService.Persistence.Models.Payments; // using Microsoft.AspNetCore.Mvc; // using Microsoft.EntityFrameworkCore; // // namespace DeliveryService.API.Controllers; // // [ApiController] // [Route("[controller]")] // public sealed class PaymentController(ILogger<PaymentController> logger, DeliveryDbContext context) : ControllerBase // { // [HttpGet("Get/{id:guid}")] // [ProducesResponseType<Payment>(StatusCodes.Status200OK)] // public async Task<IActionResult> GetPayment(Guid id) // { // var payment = await context.Payments.FirstOrDefaultAsync(p => p.Id == id); // if (payment == null) return NotFound(); // // return Ok(payment); // } // // [HttpGet("Get/method/{id:guid}")] // [ProducesResponseType<PaymentMethod>(StatusCodes.Status200OK)] // public async Task<IActionResult> GetPaymentMethod(Guid id) // { // var paymentMethod = await context.PaymentMethods.FirstOrDefaultAsync(p => p.Id == id); // if (paymentMethod == null) return NotFound(); // // return Ok(paymentMethod); // } // // [HttpGet("GetAllPayments")] // [ProducesResponseType<IEnumerable<Payment>>(StatusCodes.Status200OK)] // public async Task<IActionResult> GetAllPayments() // { // var payments = await context.Payments.ToListAsync(); // return Ok(payments); // } // // [HttpGet("GetAllPaymentMethods")] // [ProducesResponseType<IEnumerable<PaymentMethod>>(StatusCodes.Status200OK)] // public async Task<IActionResult> GetAllPaymentMethods() // { // var paymentMethods = await context.PaymentMethods.ToListAsync(); // return Ok(paymentMethods); // } // // [HttpPost("Create")] // [ProducesResponseType<Payment>(StatusCodes.Status200OK)] // public async Task<IActionResult> CreatePayment([FromBody] PaymentModel paymentModel) // { // var order = await context.Orders.FirstOrDefaultAsync(o => o.Id == paymentModel.OrderId); // if (order == null) return NotFound("Заказ не найден"); // // var paymentMethod = await context.PaymentMethods.FirstOrDefaultAsync(p => p.Id == paymentModel.PaymentMethodId); // if (paymentMethod == null) return NotFound("Метод платежа не найден"); // // var isSuccess = new Random().Next(0, 2) == 1; // // var payment = new Payment() // { // Id = Guid.NewGuid(), // Order = order, // OrderId = order.Id, // DatePayment = DateTime.Now, // IsSuccess = isSuccess, // PaymentMethodId = paymentMethod.Id, // PaymentMethod = paymentMethod // }; // // return Ok(payment); // } // // [HttpPost("CreatePaymentMethod")] // [ProducesResponseType<PaymentMethod>(StatusCodes.Status200OK)] // public async Task<IActionResult> CreatePaymentMethod([FromBody] PaymentMethodModel paymentMethodModel) // { // if (paymentMethodModel.ValidityPeriod < DateTime.Now) return BadRequest("Недействительный период действия"); // // var client = await context.Clients.FirstOrDefaultAsync(c => c.Id == paymentMethodModel.ClientId); // if (client == null) return BadRequest("Клиент не найден"); // // var paymentMethod = new PaymentMethod // { // Id = Guid.NewGuid(), // Title = paymentMethodModel.Title, // Owner = paymentMethodModel.Owner, // NumberCard = paymentMethodModel.NumberCard.ToString(), // CSV = paymentMethodModel.CSV.ToString(), // Description = paymentMethodModel.Description, // ClientId = paymentMethodModel.ClientId, // Client = client, // ValidityPeriod = paymentMethodModel.ValidityPeriod.ToString(CultureInfo.InvariantCulture), // }; // // await context.PaymentMethods.AddAsync(paymentMethod); // await context.SaveChangesAsync(); // // return Ok(paymentMethod); // } // // [HttpPut("Update/{id:guid}")] // [ProducesResponseType<Payment>(StatusCodes.Status200OK)] // public async Task<IActionResult> UpdatePayment(Guid id, [FromBody] PaymentModel paymentModel) // { // var payment = await context.Payments.FirstOrDefaultAsync(p => p.Id == id); // if (payment == null) return NotFound("Платеж не найден"); // // var paymentMethod = await context.PaymentMethods.FirstOrDefaultAsync(p => p.Id == paymentModel.PaymentMethodId); // if (paymentMethod == null) return NotFound("Метод платежа не найден"); // // payment.PaymentMethodId = paymentModel.PaymentMethodId; // payment.PaymentMethod = paymentMethod; // payment.IsSuccess = paymentModel.IsSuccess; // // context.Payments.Update(payment); // await context.SaveChangesAsync(); // // return Ok(payment); // } // // [HttpPut("UpdatePaymentMethod/{id:guid}")] // [ProducesResponseType<PaymentMethod>(StatusCodes.Status200OK)] // public async Task<IActionResult> UpdatePaymentMethod(Guid id, [FromBody] PaymentMethodModel paymentMethodModel) // { // var paymentMethod = await context.PaymentMethods.FirstOrDefaultAsync(p => p.Id == id); // if (paymentMethod == null) return NotFound("Метод платежа не найден"); // // if(DateTime.Parse(paymentMethod.ValidityPeriod) < DateTime.Now) return BadRequest("Недействительный период действия"); // // paymentMethod.Title = paymentMethodModel.Title; // paymentMethod.Description = paymentMethodModel.Description; // paymentMethod.Owner = paymentMethodModel.Owner; // paymentMethod.NumberCard = paymentMethodModel.NumberCard.ToString(); // paymentMethod.CSV = paymentMethodModel.CSV.ToString(); // paymentMethod.ValidityPeriod = paymentMethodModel.ValidityPeriod.ToString(CultureInfo.InvariantCulture); // // context.PaymentMethods.Update(paymentMethod); // await context.SaveChangesAsync(); // // return Ok(paymentMethodModel); // } // // [HttpDelete("Delete/{id:guid}")] // [ProducesResponseType(StatusCodes.Status204NoContent)] // public async Task<IActionResult> DeletePayment(Guid id) // { // var payment = await context.Payments.FirstOrDefaultAsync(p => p.Id == id); // if (payment == null) return NoContent(); // // context.Payments.Remove(payment); // await context.SaveChangesAsync(); // // return NoContent(); // } // // [HttpDelete("DeletePaymentMethod/{id:guid}")] // [ProducesResponseType(StatusCodes.Status204NoContent)] // public async Task<IActionResult> DeletePaymentMethod(Guid id) // { // var paymentMethod = await context.PaymentMethods.FirstOrDefaultAsync(p => p.Id == id); // if (paymentMethod == null) return NoContent(); // // context.PaymentMethods.Remove(paymentMethod); // await context.SaveChangesAsync(); // // return NoContent(); // } // }