public IHttpActionResult PutPriceFinal(int id, PriceFinal priceFinal) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != priceFinal.ID) { return(BadRequest($"PriceFinal with id: {id} doesnt exist")); } try { unitOfWork.PriceFinal.Update(priceFinal); unitOfWork.Complete(); } catch (DbUpdateConcurrencyException e) { if (!PriceFinalExists(id)) { return(NotFound()); } else { return(BadRequest(e.Message)); } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetPriceFinal(int id) { PriceFinal priceFinal = unitOfWork.PriceFinal.Get(id); if (priceFinal == null) { return(NotFound()); } return(Ok(priceFinal)); }
public IHttpActionResult DeletePriceFinal(int id) { PriceFinal priceFinal = unitOfWork.PriceFinal.Get(id); if (priceFinal == null) { return(NotFound()); } try { unitOfWork.PriceFinal.Remove(priceFinal); unitOfWork.Complete(); } catch { throw; } return(Ok(priceFinal)); }
public IHttpActionResult Buy(string karta, PayPalPaymentDetails paymentDetails) { var userId = User.Identity.GetUserId(); ApplicationUser user = new ApplicationUser(); UserType userType; if (userId == null) { user = this.unitOfWork.User.Get("appu"); userType = this.unitOfWork.UserType.Get(1); } else { user = this.unitOfWork.User.Get(userId); userType = this.unitOfWork.UserType.Get((int)user.UserTypeID); } Pricelist pricelist = unitOfWork.Pricelist.Find(x => x.To == null).FirstOrDefault(); if (pricelist == null) { return(BadRequest("trenutno ne postoji cenovnik")); } PriceFinal priceFinal = unitOfWork.PriceFinal.GetAll().Where(z => z.PricelistID == pricelist.ID).FirstOrDefault(); if (priceFinal == null) { return(BadRequest("trenutno ne postoji cena trenutni cenovnik")); } DateTime dateTimeNow = DateTime.UtcNow; var expires = ExpiresAt(karta); Ticket ticket; if (userId == null) { ticket = new Ticket() { BoughtAt = dateTimeNow, PayPalPaymentDetails = paymentDetails, TicketType = karta, UserID = "appu", User = user, PriceRSD = priceFinal.Price * 1, Expires = expires, //PriceFinal = priceFinal }; } else { ticket = new Ticket() { BoughtAt = dateTimeNow, PayPalPaymentDetails = paymentDetails, PriceRSD = priceFinal.Price * userType.Coefficient, TicketType = karta, UserID = userId, User = user, Expires = expires, //PriceFinal = priceFinal }; if (user.Status == null) { ticket.PriceRSD = priceFinal.Price * 1; } //var str = $"Bought at:{ticket.BoughtAt}\t Price in RSD:{ticket.PriceRSD}\t Ticket type:{ticket.TicketType}\t UserID:{ticket.UserID}\n\n Thank You for using our service."; //SendEMailHelper.Send(user.Email, "Ticket details from transport service", // str); } unitOfWork.Ticket.Add(ticket); //unitOfWork.Ticket.att unitOfWork.Complete(); PriceFinal p = new PriceFinal() { Price = userType.Coefficient * priceFinal.Price, PricelistID = pricelist.ID, Pricelist = pricelist, Ticket = ticket }; unitOfWork.PriceFinal.Add(p); unitOfWork.Complete(); ticket.PriceFinal = p; unitOfWork.Ticket.Update(ticket); unitOfWork.Complete(); return(Ok(ticket)); }