private void Controller() { int menu; using (var db = new ProgramContext()) { menu = SelectOption(); do { switch (menu) { case 1: db.Products.Add(Product()); db.SaveChanges(); break; case 2: db.Customers.Add(Client()); db.SaveChanges(); break; case 3: db.Manufacturers.Add(Manufacturer()); db.SaveChanges(); break; case 4: ShowProducts(); break; case 5: ShowCustomers(); break; case 6: ShowManufacturers(); break; case 7: Environment.Exit(0); break; default: Console.WriteLine("Key error, introduce 1/2/3/4/5/6/7"); break; } menu = SelectOption(); } while (menu != 7); } }
public IActionResult AddTestToDb() { User test = new User() { ID = 0, Name = "Liphi", Password = "******", Role = "Admin", Email = "*****@*****.**" }; _db.Users.Add(test); Token testToken = new Token() { ID = "dekdieweie238h2ubnono9dh2303nd2i3nr", Created = DateTime.Now, ExpiresOn = DateTime.Now.AddYears(10), UploadImg = true, UploadFiles = true, GenTokens = true, CustomUrl = true, UseUrlShortener = true, Owner = test }; _db.Tokens.Add(testToken); _db.SaveChanges(); return(Ok()); }
public async Task <IActionResult> SignIn([FromForm] string userName, [FromForm] string password) { User user = _db.Users.FirstOrDefault(x => x.Name == userName && x.Password == password); if (user == default) { return(NotFound()); } Token sessionToken = TokenGenerator.GenerateToken(_db); sessionToken.Name = "SessioToken"; if (user.Role == "admin" || user.Role == "moderator") { sessionToken.CustomUrl = true; } sessionToken.UseUrlShortener = true; sessionToken.GenTokens = true; sessionToken.UploadFiles = true; sessionToken.UploadImg = true; sessionToken.ViewUrls = true; sessionToken.ExpiresOn = DateTime.Now.AddDays(1); sessionToken.Owner = user; _db.Tokens.Add(sessionToken); _db.SaveChanges(); CookieOptions authOptions = new CookieOptions(); authOptions.Secure = true; authOptions.Expires = DateTime.Now.AddDays(1); Response.Cookies.Append("SessionToken", sessionToken.ID, authOptions); return(Ok()); }
public ActionResult Create(FormCollection formCollection) { if (Session["Email"] != null) { Programs programs = new Programs(); ProgramContext context = new ProgramContext(); programs.Name = formCollection["Name"]; programs.Type = formCollection["Type"]; context.Programs.Add(programs); context.SaveChanges(); return(RedirectToAction("Index")); } return(RedirectToAction("Index", "Home")); }
public void UpdatePackages() { var ser = new XmlSerializer(typeof(XMLClasses.feed)); var link = "http://chocolatey.org/api/v2/Packages"; using (var db = new ProgramContext()) { while (link != null && link.Length > 15) { XMLClasses.feed mainfeed = ReadFromMainfeed(link, ser); foreach (var item in mainfeed.Items.Where(x => x.GetType() == typeof(XMLClasses.feedEntry))) { var val = item as XMLClasses.feedEntry; if (val != null) { var queryProgram = GetStoredProgramPackagesFromDatabase(db, val); var queryProgramVersion = GetStoredProgramPackageVersionsFromDatabase(db, val); if (!queryProgram.Any()) { AddProgramPackageToDatabase(val, db); } else if (!queryProgramVersion.Any()) { AddProgramPackageVersionToDatabase(queryProgram, db, val); } db.SaveChanges(); } } var feedLink = mainfeed.Items.Last(x => x.GetType() == typeof(XMLClasses.feedLink)) as XMLClasses.feedLink; link = feedLink != null ? feedLink.href : null; } } }
public void AddInRoutes() { using (ProgramContext context = new ProgramContext()) { Car Car = new Car() { CarName = "УАЗ", AverageSpeed = 100, LiftingCapacity = 20, PricePerKilometer = 80 }; City CityStart = new City() { Name = "Калуга", XCoordinate = 0, YCoordinate = 0 }; City CityFinish = new City() { Name = "Москва", XCoordinate = 2000, YCoordinate = 4000 }; Route q = new Route(Car, CityStart, CityFinish); context.Routes.Add(q); context.SaveChanges(); } }
public ActionResult Delete(int?id, FormCollection formCollection) { if (Session["Email"] != null) { if (id != null) { ProgramContext context = new ProgramContext(); Programs program = context.Programs.Single(pro => pro.Id == id); context.Programs.Remove(program); context.SaveChanges(); return(RedirectToAction("Index")); } else { return(RedirectToAction("Index", "Program")); } } return(RedirectToAction("Index", "Home")); }
public ActionResult Edit(FormCollection formCollection, int?id) { if (Session["Email"] != null) { if (id != null) { ProgramContext context = new ProgramContext(); Programs program = context.Programs.Single(pro => pro.Id == id); program.Name = formCollection["Name"]; program.Type = formCollection["Type"]; context.SaveChanges(); return(RedirectToAction("Index")); } else { return(RedirectToAction("Index", "Program")); } } return(RedirectToAction("Index", "Home")); }
protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { string tokenString = Request.Headers["Token"]; if (string.IsNullOrEmpty(tokenString)) { tokenString = Request.Cookies["SessionToken"]; if (string.IsNullOrEmpty(tokenString)) { return(AuthenticateResult.NoResult()); } } using (ProgramContext _db = new ProgramContext()) { Token token = _db.Tokens.FirstOrDefault(x => x.ID == tokenString); if (token == default) { return(AuthenticateResult.Fail("Bad Token")); } if (token.ExpiresOn < System.DateTime.Now) { _db.Tokens.Remove(token); _db.SaveChanges(); return(AuthenticateResult.Fail("Bad Token")); } var claims = new List <Claim> { new Claim("Token", token.ID), }; var identity = new ClaimsIdentity(claims, Scheme.Name); var principal = new System.Security.Principal.GenericPrincipal(identity, null); var ticket = new AuthenticationTicket(principal, Scheme.Name); return(AuthenticateResult.Success(ticket)); } }
private static void NewCarRent() { try { Console.WriteLine("CustomerID:"); var CustomerID = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Rental location:"); var Location = Console.ReadLine(); Console.WriteLine("Start date:"); var StartDate = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", CultureInfo.InvariantCulture); Console.WriteLine("Finish date:"); var FinishDate = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", CultureInfo.InvariantCulture); Console.WriteLine("CarID:"); var CarID = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Coupon code(press 0 for no coupon code):"); var CouponCode = Console.ReadLine(); var DateCompare = DateTime .Compare(StartDate, FinishDate); var CustomerIDValidator = _context.Customers .Any(x => x.CustomerID == CustomerID); var objCustomer = _context.Customers.Find(CustomerID); var CarIDValidator = _context.Cars .Any(x => x.CarID == CarID); var objCar = _context.Cars.Find(CarID); var CarLocationValidator = _context.Cars .Where(x => x.CarID == CarID) .FirstOrDefault(); var CustomerLocationValidator = _context.Customers .Any(x => x.CustomerLocation == Location); var CouponValidator = _context.Coupons .Any(x => x.CouponCode == CouponCode); var objCoupon = _context.Coupons.Find(CouponCode); if (CarLocationValidator.CarLocation != Location) { throw new Exception("Car Unavailable in your location!"); } if (DateCompare > 0) { Console.WriteLine(""); Console.WriteLine("Start Date: {0} is greater than Finish Date: {1}!", StartDate.ToString("dd/MM/yyyy"), FinishDate.ToString("dd/MM/yyyy")); Console.WriteLine("Press any key to return."); Console.ReadKey(); Console.Clear(); NewCarRent(); } if (CustomerLocationValidator == false) { throw new Exception("Invalid Location!"); } var AvailableStatus = _context.Cars .Where(c => c.CarID == CarID) .FirstOrDefault(); if (AvailableStatus.Available == false) { throw new Exception("Car Unavailable!"); } var UpdateAvailable = _context.Cars .Where(c => c.CarID == CarID) .FirstOrDefault(); UpdateAvailable.Available = false; _context.SaveChanges(); var InsertReservation = new Reservations() { Location = Location, StartDate = StartDate, FinishDate = FinishDate, CouponCode = objCoupon.CouponCode, CarID = objCar.CarID, CustomerID = objCustomer.CustomerID, ReservStatusID = 1, }; _context.Reservations .Add(InsertReservation); _context.SaveChanges(); Console.WriteLine("Rent Registered."); Console.WriteLine("Press any key to return to main menu."); Console.ReadKey(); Console.Clear(); Menu(); } catch (Exception ex) { Console.WriteLine(""); Console.WriteLine(ex.Message); Console.WriteLine("Press any key to return."); Console.ReadKey(); Console.Clear(); NewCarRent(); } }
public IActionResult ShortenUrl([FromQuery] string fullurl, [FromQuery] string shortUrl) { if (string.IsNullOrEmpty(fullurl)) { return(BadRequest("Missing parameter: full url")); } fullurl = fullurl.ToLower(); if (!CheckUrl(fullurl)) { fullurl = "http://" + fullurl; if (!CheckUrl(fullurl)) { return(BadRequest("Bad full url")); } } Url url = _db.Urls.FirstOrDefault(x => x.Content == fullurl); var response = new Dictionary <string, string>();; if (url != default) { response.Add("ShortenUrl", Program.Domain + "/" + url.ID); return(new JsonResult(response)); } string token = User.Claims.FirstOrDefault(y => y.Type == "Token").Value; Token tokendb = _db.Tokens .FirstOrDefault(x => x.ID == token); if (!tokendb.UseUrlShortener) { return(Forbid("Missing scope: UseUrlShortener")); } if (string.IsNullOrEmpty(shortUrl) && !tokendb.CustomUrl) { return(Forbid("Missing scope: CustomUrl")); } if (!string.IsNullOrEmpty(shortUrl)) { try { url = GenCustomUrl(shortUrl); } catch (ShortenUrlAlreadyExistsException) { return(Conflict("Shorten Url Already Exists")); } catch (BadShortenUrlException) { return(BadRequest("Bad short url")); } } else { url = GenRandomUrl(); } url.Creator = tokendb.Owner; url.ContentType = "text/redirect"; url.Content = fullurl; url.TimeUsed = 0; _db.Urls.Add(url); tokendb.Owner.Urls.Append(url); _db.SaveChanges(); response.Add("ShortenUrl", Program.Domain + "/" + url.ID); return(new JsonResult(response)); }