public async Task <HttpResponseMessage> Get(int id = -1) { if (id != -1) { Payment res = await _db.Payments.Where(b => b.Id == id && !b.Deleted).FirstOrDefaultAsync(); if (res == null) { return(Request.CreateErrorResponse(HttpStatusCode.NoContent, "No Payment Found With ID")); } LibBookingService.Dtos.Payment payment = CreatePaymentFromDbPayment(res); return(Request.CreateResponse(HttpStatusCode.OK, payment)); } else { IEnumerable <Payment> res = await _db.Payments.Where(b => b.Deleted != true).ToListAsync(); IEnumerable <LibBookingService.Dtos.Payment> payments = res.Select(b => CreatePaymentFromDbPayment(b)); return(payments.Any() ? Request.CreateResponse(HttpStatusCode.OK, payments) : Request.CreateErrorResponse(HttpStatusCode.NoContent, "No Payments")); } }
public async Task <HttpResponseMessage> Post(LibBookingService.Dtos.Payment payment) { try { Payment newPayment = _db.Payments.Add(new Payment { Booking_id = payment.BookingId, Customer_id = payment.CustomerId, PaymentMethod_id = payment.PaymentMethod.Id, Amount = payment.Amount, Comments = payment.Comments }); await _db.SaveChangesAsync(); if (!isTesting) { _db.Entry(newPayment).Reload(); } return(Request.CreateResponse(HttpStatusCode.OK, CreatePaymentFromDbPayment(newPayment))); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Failed")); } }
public async Task <HttpResponseMessage> Update(int id, LibBookingService.Dtos.Payment payment) { try { Payment p = await _db.Payments.Where(bb => bb.Id == id).FirstOrDefaultAsync(); p.Amount = payment.Amount; p.Comments = payment.Comments; p.PaymentMethod_id = payment.PaymentMethod.Id; _db.SetModified(p); await _db.SaveChangesAsync(); LibBookingService.Dtos.Payment res = CreatePaymentFromDbPayment(p); return(Request.CreateResponse(HttpStatusCode.OK, res)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Failed")); } }