// POST: api/Tickets //[ResponseType(typeof(void))] public IHttpActionResult PostTicket(PomModelForAddTicketPayPal pom) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Ticket ticket = new Ticket(); AppUser appUser = _unitOfWork.AppUsers.Find(user => user.Email == pom.pomModelForBuyTicket.Email).FirstOrDefault(); TypeOfTicket tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.pomModelForBuyTicket.TypeOfTicket).FirstOrDefault(); PriceList pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => a.TypeOfTicketId == tt.Id && pList.Id == a.PriceListId).FirstOrDefault(); double coeff = _unitOfWork.PassangerTypes.Find(dd => dd.Id == appUser.PassangerTypeId).FirstOrDefault().RoleCoefficient; double c = ticketPrice.Price - (ticketPrice.Price * coeff); ticket.PriceOfTicket = c; ticket.AppUserId = appUser.Id; ticket.TicketPriceId = ticketPrice.Id; ticket.Valid = true; ticket.PurchaseDate = DateTime.Now; ticket.TypeOfTicketId = tt.Id; ticket.Email = pom.pomModelForBuyTicket.Email; ticket.PayPalModelId = pom.PayPalModelId; _unitOfWork.Tickets.Add(ticket); _unitOfWork.Complete(); return(Ok(ticket.Id)); }
public string PriceForPayPal(PomModelForBuyTicket pom) { //Pokusaj za dobijenje cijena aktivnog cjenovnika double c = 0; TypeOfTicket tt = new TypeOfTicket(); TicketPrice ticketPrice = new TicketPrice(); PriceList pList = new PriceList(); if (pom.Email != "") { AppUser appUser = _unitOfWork.AppUsers.Find(user => user.Email == pom.Email).FirstOrDefault(); tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.TypeOfTicket).FirstOrDefault(); //1 - TimeLimited //pList = _unitOfWork.PriceLists.Find(a => a.ToTime >= DateTime.Now).FirstOrDefault(); pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); if (pList == null) { return("null"); } ticketPrice = _unitOfWork.TicketPrices.Find(aa => aa.PriceListId == pList.Id && aa.TypeOfTicketId == tt.Id).FirstOrDefault(); double coeff = _unitOfWork.PassangerTypes.Find(dd => dd.Id == appUser.PassangerTypeId).FirstOrDefault().RoleCoefficient; c = ticketPrice.Price - (ticketPrice.Price * coeff); } else { tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.TypeOfTicket).FirstOrDefault(); //1 - TimeLimited pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); if (pList == null) { return("null"); } ticketPrice = _unitOfWork.TicketPrices.Find(aa => aa.PriceListId == pList.Id && aa.TypeOfTicketId == tt.Id).FirstOrDefault(); c = ticketPrice.Price; } return(c.ToString()); }
public string SendMail(PomModelForAddTicketPayPal ticket) { if (!ModelState.IsValid) { return(BadRequest(ModelState).ToString()); } PriceList pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); if (pList == null) { return("null"); } TypeOfTicket tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == ticket.pomModelForBuyTicket.TypeOfTicket).FirstOrDefault(); TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => pList.Id == a.PriceListId && a.TypeOfTicketId == tt.Id).FirstOrDefault(); string subject = "Ticket purchase"; string desc = $"Dear {ticket.pomModelForBuyTicket.Email},\nYour purchase is successfull.\n " + $"Ticket price: {ticketPrice.Price} din\n " + $"Type of ticket:Time Limited\n" + $"Time of purchase: {DateTime.Now}\n" + $"Ticket is valid for the next hour.\n\n" + $"Thank you."; var email = ticket.pomModelForBuyTicket.Email; //TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => a.TypeOfTicketId == tt.Id).FirstOrDefault(); Ticket storeTicket = new Ticket(); storeTicket.Email = email; storeTicket.PriceOfTicket = ticketPrice.Price; storeTicket.PurchaseDate = DateTime.Now; storeTicket.TypeOfTicketId = tt.Id; storeTicket.Valid = true; storeTicket.TicketPriceId = ticketPrice.Id; storeTicket.PayPalModelId = ticket.PayPalModelId; _unitOfWork.Tickets.NotifyViaEmail(email, subject, desc); _unitOfWork.Tickets.Add(storeTicket); _unitOfWork.Complete(); return("Ok"); }
public PomModelTicketPrices GetValidPrices(int id) { PomModelTicketPrices ticketPrice = new PomModelTicketPrices(); var p = _unitOfWork.TicketPrices.Find(x => x.PriceListId == id); TypeOfTicket typeOfTicket = _unitOfWork.TypeOfTickets.Find(m => m.Name == "Daily").FirstOrDefault(); ticketPrice.Daily = (int)p.First(x => x.TypeOfTicketId == typeOfTicket.Id).Price; typeOfTicket = _unitOfWork.TypeOfTickets.Find(m => m.Name == "Monthly").FirstOrDefault(); ticketPrice.Monthly = (int)p.First(x => x.TypeOfTicketId == typeOfTicket.Id).Price; typeOfTicket = _unitOfWork.TypeOfTickets.Find(m => m.Name == "Annual").FirstOrDefault(); ticketPrice.Annual = (int)p.First(x => x.TypeOfTicketId == typeOfTicket.Id).Price; typeOfTicket = _unitOfWork.TypeOfTickets.Find(m => m.Name == "TimeLimited").FirstOrDefault(); ticketPrice.TimeLimited = (int)p.First(x => x.TypeOfTicketId == typeOfTicket.Id).Price; ticketPrice.IdPriceList = id; return(ticketPrice); }
protected override void Seed(WebApp.Persistence.ApplicationDbContext context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. if (!context.Roles.Any(r => r.Name == "Admin")) { var store = new RoleStore <IdentityRole>(context); var manager = new RoleManager <IdentityRole>(store); var role = new IdentityRole { Name = "Admin" }; manager.Create(role); } if (!context.Roles.Any(r => r.Name == "Controller")) { var store = new RoleStore <IdentityRole>(context); var manager = new RoleManager <IdentityRole>(store); var role = new IdentityRole { Name = "Controller" }; manager.Create(role); } if (!context.Roles.Any(r => r.Name == "AppUser")) { var store = new RoleStore <IdentityRole>(context); var manager = new RoleManager <IdentityRole>(store); var role = new IdentityRole { Name = "AppUser" }; manager.Create(role); } var userStore = new UserStore <ApplicationUser>(context); var userManager = new UserManager <ApplicationUser>(userStore); if (!context.Users.Any(u => u.UserName == "*****@*****.**")) { var user = new ApplicationUser() { Id = "admin", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Admin123!") }; AppUser appUser = new AppUser(); appUser.Activated = true; appUser.Id = user.Id; appUser.UserTypeId = 1; appUser.Email = user.Email; //user.AppUserId = appUser.Id; userManager.Create(user); userManager.AddToRole(user.Id, "Admin"); } if (!context.Users.Any(u => u.UserName == "*****@*****.**")) { var user = new ApplicationUser() { Id = "appu", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Appu123!") }; userManager.Create(user); userManager.AddToRole(user.Id, "AppUser"); } if (!context.Users.Any(u => u.UserName == "*****@*****.**")) { var user = new ApplicationUser() { Id = "controller", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Controller123!") }; userManager.Create(user); userManager.AddToRole(user.Id, "Controller"); } if (!context.PassangerTypes.Any(u => u.Name == "Student")) { PassangerType p = new PassangerType("Student"); p.RoleCoefficient = 0.6; context.PassangerTypes.Add(p); //context.RoleCoefficients.Add(new RoleCoefficient(0.5)); } if (!context.PassangerTypes.Any(u => u.Name == "Pensioner")) { PassangerType p = new PassangerType("Pensioner"); p.RoleCoefficient = 0.5; context.PassangerTypes.Add(p); //context.RoleCoefficients.Add(new RoleCoefficient(0.6)); } if (!context.PassangerTypes.Any(u => u.Name == "Default")) { PassangerType p = new PassangerType("Default"); p.RoleCoefficient = 0; context.PassangerTypes.Add(p); //context.RoleCoefficients.Add(new RoleCoefficient(1)); } if (!context.PassangerTypes.Any(u => u.Name == "None")) { PassangerType p = new PassangerType("None"); p.RoleCoefficient = 0; context.PassangerTypes.Add(p); //context.RoleCoefficients.Add(new RoleCoefficient(1)); //context.RoleCoefficients.Add(r); } if (!context.UserTypes.Any(u => u.Name == "Admin")) { UserType p = new UserType("Admin"); context.UserTypes.Add(p); } if (!context.UserTypes.Any(u => u.Name == "Controller")) { UserType p = new UserType("Controller"); context.UserTypes.Add(p); } if (!context.UserTypes.Any(u => u.Name == "AppUser")) { UserType p = new UserType("AppUser"); context.UserTypes.Add(p); } if (!context.Days.Any(u => u.Name == "Workday")) { Day d = new Day("Workday"); context.Days.Add(d); } if (!context.Days.Any(u => u.Name == "Saturday")) { Day d = new Day("Saturday"); context.Days.Add(d); } if (!context.Days.Any(u => u.Name == "Sunday")) { Day d = new Day("Sunday"); context.Days.Add(d); } /* * TimeLimited, * Daily, * Monthly, * Annual */ if (!context.TypeOfTickets.Any(u => u.Name == "TimeLimited")) { TypeOfTicket tt = new TypeOfTicket("TimeLimited"); context.TypeOfTickets.Add(tt); } if (!context.TypeOfTickets.Any(u => u.Name == "Daily")) { TypeOfTicket tt = new TypeOfTicket("Daily"); context.TypeOfTickets.Add(tt); } if (!context.TypeOfTickets.Any(u => u.Name == "Monthly")) { TypeOfTicket tt = new TypeOfTicket("Monthly"); context.TypeOfTickets.Add(tt); } if (!context.TypeOfTickets.Any(u => u.Name == "Annual")) { TypeOfTicket tt = new TypeOfTicket("Annual"); context.TypeOfTickets.Add(tt); } }