public HttpResponseMessage Put(int PaymentID, [FromBody] PointPayment pointPayment) { try { using (PointDBEntities entities = new PointDBEntities()) { var entity = entities.PointPayments.FirstOrDefault(pay => pay.PaymentID == PaymentID); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "PointPayment with PaymentID " + PaymentID.ToString() + " not found to update")); } else { PointFee pointFee = entities.PointFees.FirstOrDefault(pf => pf.FeeID == pointPayment.FeeID); if (pointFee == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "FeeID = " + pointPayment.FeeID.ToString() + " does not exist ")); } else { int NumberOfDaysLate = Convert.ToInt32((pointPayment.DepositDate - pointFee.DueDate).TotalDays); int TotalPayable = pointFee.TransportFee + NumberOfDaysLate * pointFee.FineCharges; entity.FeeID = pointFee.FeeID; entity.StudentID = pointPayment.StudentID; entity.NumberofDaysLate = NumberOfDaysLate; entity.DepositDate = pointPayment.DepositDate; entity.TotalPayable = TotalPayable; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, entity)); } } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Post([FromBody] PointPayment pointPayment) { using (PointDBEntities entities = new PointDBEntities()) { try { PointFee pointFee = entities.PointFees.FirstOrDefault(pf => pf.FeeID == pointPayment.FeeID); if (pointFee != null) { int NumberOfDaysLate = Convert.ToInt32((pointPayment.DepositDate - pointFee.DueDate).TotalDays); int TotalPayable = pointFee.TransportFee + NumberOfDaysLate * pointFee.FineCharges; PointPayment p = new PointPayment() { StudentID = pointPayment.StudentID, DepositDate = pointPayment.DepositDate, NumberofDaysLate = NumberOfDaysLate, TotalPayable = TotalPayable, FeeID = pointFee.FeeID }; entities.PointPayments.Add(p); entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, p); message.Headers.Location = new Uri(Request.RequestUri + p.PaymentID.ToString()); return(message); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Point Fee FeeID = " + pointPayment.FeeID.ToString() + " does not exist ")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } } }