public async Task <IActionResult> DeleteUser() { //user löschen var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var tbUser = await _context.TblUsers.AsNoTracking().FirstOrDefaultAsync(a => a.Id == userId); RestAccess ra = new RestAccess(tbUser.Id.ToString(), tbUser.RestPasswort, Constants.ServiceClientEndPointWithApiPrefix); var res = await ra.DeleteUserWeb(new ExDeleteRequest { Id = userId, CheckPassword = WebAppSettings.CheckPassword, }); if (res.Ok) { if (res.Result.Result == EnumSaveDataResult.Error) { TempData["message"] = res.Result.Description; return(RedirectToAction("Index")); } //user ausloggen return(RedirectToAction("Logout", "Account")); } TempData["message"] = "Benutzer konnte nicht gelöscht werden"; return(RedirectToAction("Index")); }
public ActionResult Reciepts() { { if (CommonData()) { return(RedirectToAction("Login", "Account")); } ViewData["lgnusr"] = getCurrentUser(); RestAccess ra = RestAccess.GetInstance(); SQLite_Database sd = SQLite_Database.GetInstance(); List <InventoryBook> IBooks = sd.GetInventoryBooks(); List <Book> books = new List <Book>(); for (int i = 0; i < IBooks.Count; i++) { // books.Add(ra.GetBook(IBooks[i].GetBook())); } List <List <String> > bookInfo = new List <List <String> >(); for (int i = 0; i < books.Count; i++) { bookInfo.Add(new List <String>()); bookInfo[i].Add(books[i].Name); bookInfo[i].Add(books[i].Author); bookInfo[i].Add(books[i].desc); bookInfo[i].Add("$" + books[i].Price.ToString()); bookInfo[i].Add(books[i].BookId.ToString()); } ViewData["bookInfo"] = bookInfo; return(View()); } }
public async Task <IActionResult> DeleteStore() { //Geschäft löschen var storeId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var res = await ra.DeleteShop(new ExDeleteRequest { Id = storeId, CheckPassword = WebAppSettings.CheckPassword, }); if (res.Ok) { if (!res.Result) { TempData["message"] = "Geschäft konnte nicht gelöscht werden"; return(RedirectToAction(nameof(StoreData))); } //user ausloggen return(RedirectToAction("Logout", "Account")); } TempData["message"] = "Geschäft konnte nicht gelöscht werden"; return(RedirectToAction(nameof(StoreData))); }
public async Task <IActionResult> RegisterShop(RegisterShopViewModel form) { if (!ModelState.IsValid) { return(View(form)); } try { if (String.IsNullOrEmpty(form.UserName)) { ModelState.AddModelError("Username", "Bitte eine E-Mail Adresse angeben."); return(View(form)); } var email = form.UserName.Trim().Replace(" ", "").ToLower(); var store = await _context.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == email && a.Activated); if (store != null) { ModelState.AddModelError("Username", "Diese E-Mail existiert bereits im System."); return(View(form)); } RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.RegisterShop(new ExShopRegistration { EMail = email }); ViewBag.Message = "Danke! Um die Registrierung abzuschließen überprüfe bitte deinen Posteingang!"; return(View("Message")); } catch (Exception ex) { ModelState.AddModelError("Password", ex.Message); return(View(form)); } }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); RestAccess ra = RestAccess.GetInstance(); Database_Test.SQLite_Database db = Database_Test.SQLite_Database.GetInstance(); }
//[HttpPost] public async Task <IActionResult> TblAppointments_ReadJson(string storeId, string filterFromDate) //string storeId, string filterFromDate) { int sId = int.Parse(storeId); DateTime datFilterFromDate = DateTime.Now; bool success = DateTime.TryParse(filterFromDate, CultureInfo.GetCultureInfo("de-DE"), DateTimeStyles.None, out datFilterFromDate); RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var shop = await ra.GetMeetingsForDate(sId, datFilterFromDate.Date); var slots = shop.Result.Where(a => a.Id == -1).ToList(); List <AppointmentEntryViewModel> lstAppointmentEntryViewModels = new List <AppointmentEntryViewModel>(); int id = 1; foreach (var exMeeting in slots) { var employee = _context.TblEmployees.First(x => x.Id == exMeeting.Staff.Id); AppointmentEntryViewModel vm = new AppointmentEntryViewModel(); vm.Id = id++; vm.EmployeeName = exMeeting.Staff.Name; vm.StartTime = exMeeting.Start.AddHours(2); vm.EndTime = exMeeting.End.AddHours(2); vm.ShopId = sId; vm.OptionalText = ""; vm.PreviewText = employee.DefaultAnnotation; vm.StaffId = exMeeting.Staff.Id; vm.ImageUrl = string.IsNullOrEmpty(exMeeting.Staff.ImageUrl) ? "" : exMeeting.Staff.ImageUrl; lstAppointmentEntryViewModels.Add(vm); } return(Json(lstAppointmentEntryViewModels)); }
/// <summary> /// Anmelden /// </summary> /// <param name="httpContext"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="isPersistent"></param> /// <returns></returns> public async Task <bool> SignInAdmin(HttpContext httpContext, string username, string password, bool isPersistent = false) { try { RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var user = await ra.UserCheck(username); //if (user.Ok && user.Result != null && !user.Result.UserIsLocked && user.Result.UserId > 0) if (username.ToLower() == "admin" && password == "[PASSWORT]") { //var hash = PasswordHelper.CumputeHash(password); //var userAccountData = await ra.UserAccountData(new ExPostUserPasswortData {UserId = user.Result.UserId, PasswordHash = hash}); //if (userAccountData.Ok && userAccountData.Result != null && userAccountData.Result.UserAccountData != null) var tmp = new ExUserAccountData { IsAdmin = true, FirstName = "Admin", LastName = "Admin", UserId = 1, PhoneNumber = "+43" }; { ClaimsIdentity identity = new ClaimsIdentity(GetUserClaims(tmp), CookieAuthenticationDefaults.AuthenticationScheme); ClaimsPrincipal principal = new ClaimsPrincipal(identity); await httpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); return(true); } } } catch (Exception) { return(false); } return(false); }
public void getNonExistent() { RestAccess db = RestAccess.GetInstance(); Book b = db.GetBook(999999999); Assert.AreEqual(b, null); }
public void updateNonExistent() { RestAccess db = RestAccess.GetInstance(); Boolean b = db.UpdateBook(999999999, "", 3, "", ""); Assert.AreEqual(b, false); }
/// <summary> /// Anmelden /// </summary> /// <param name="httpContext"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="isPersistent"></param> /// <returns></returns> public async Task <bool> SignInUser(HttpContext httpContext, string username, string password, bool isPersistent = false) { try { RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var user = await ra.UserCheck(username); if (user.Ok && user.Result != null && !user.Result.UserIsLocked && user.Result.UserId > 0) { var hash = PasswordHelper.CumputeHash(password); var userAccountData = await ra.UserAccountData(new ExPostUserPasswortData { UserId = user.Result.UserId, PasswordHash = hash }); if (userAccountData.Ok && userAccountData.Result != null && userAccountData.Result.UserAccountData != null) { ClaimsIdentity identity = new ClaimsIdentity(GetUserClaims(userAccountData.Result.UserAccountData), CookieAuthenticationDefaults.AuthenticationScheme); ClaimsPrincipal principal = new ClaimsPrincipal(identity); await httpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); return(true); } } } catch (Exception) { return(false); } return(false); }
public async Task <bool> SignInUserForAdmin(HttpContext httpContext, int userId) { await httpContext.SignOutAsync(); RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); using (Db db = new Db()) { var user = await db.TblUsers.FirstOrDefaultAsync(a => a.Id == userId); if (user == null) { return(false); } ExUserAccountData ud = new ExUserAccountData { UserId = user.Id, FirstName = user.Firstname, LastName = user.Lastname, IsAdmin = false, PhoneNumber = user.PhoneNumber }; ClaimsIdentity identity = new ClaimsIdentity(GetUserClaims(ud), CookieAuthenticationDefaults.AuthenticationScheme); ClaimsPrincipal principal = new ClaimsPrincipal(identity); await httpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); } return(true); }
public async Task <IActionResult> Send(ExPushNotificationData notification) { //PushNachricht versenden RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.NotificationSendToDevice(notification); return(RedirectToAction("Index", "Device")); }
/// <summary> /// Geräte lesen /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <IActionResult> Devices_Read([DataSourceRequest] DataSourceRequest request) { RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var da = await ra.DeviceAllWithUser(); return(Json(da.Result.ToDataSourceResult(request))); }
public ActionResult Catalog(String showid = null) { CommonData(); RestAccess ra = RestAccess.GetInstance(); SQLite_Database sd = SQLite_Database.GetInstance(); List <InventoryBook> IBooks = sd.GetInventoryBooks(); List <String> showline = null; int sbid = -99; ViewData["showmodal"] = false; if (showid != null) { sbid = Convert.ToInt32(showid); ViewData["showmodal"] = true; } List <List <String> > bookInfo = new List <List <String> >(); for (int i = 0; i < IBooks.Count; i++) { //System.Diagnostics.Debug.Print(IBooks[i].GetBook().ToString()); Book b = ra.GetBook(IBooks[i].GetBook()); bookInfo.Add(new List <String>()); bookInfo[i].Add(b.Name); bookInfo[i].Add(b.Author); bookInfo[i].Add(b.desc); bookInfo[i].Add("$" + b.Price.ToString()); bookInfo[i].Add(b.BookId.ToString()); bookInfo[i].Add(IBooks[i].GetStock().ToString()); bookInfo[i].Add(IBooks[i].IsEnabled.ToString()); if (b.BookId == sbid) { showline = bookInfo[i]; ViewData["reviews"] = IBooks[i].reviews; } } ViewData["bookInfo"] = bookInfo; ViewData["showline"] = null; if (showid != null) { if (showline == null) { ViewData["showline"] = new List <String>() { "dummy", "dummy", "dummy", "dummy", "dummy", "dummy" }; ViewData["reviews"] = new List <Review>(); } else { ViewData["showline"] = showline; } } ViewData["convert"] = RestAccess.GetInstance().CurrRates; return(View()); }
private User getCurrentUser() { if (Request.Cookies["LoginEmail"] != null) { String value = Request.Cookies["LoginEmail"].Value; return(RestAccess.GetInstance().GetUserByEmail(value)); } return(new User(-99, "*****@*****.**", "Unknown", "User", "dummy")); }
private User getCurrentUser() { if (Request.Cookies["LoginEmail"] != null) { String value = Request.Cookies["LoginEmail"].Value; ViewData["LoginEmail"] = value; return(RestAccess.GetInstance().GetUserByEmail(value)); } return(new User(-99, "dummy", "Please", "Login", "dummy")); }
public async Task <IActionResult> DeleteConfirmed(int id) { int userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var tbUser = await _context.TblUsers.AsNoTracking().FirstOrDefaultAsync(a => a.Id == userId); RestAccess ra = new RestAccess(tbUser.Id.ToString(), tbUser.RestPasswort, Constants.ServiceClientEndPointWithApiPrefix); await ra.DeleteMeetingWeb(new ExRemoveMeetingRequest { MeetingId = id, UserType = EnumUserType.Customer, UserId = userId, CheckPassword = WebAppSettings.CheckPassword }); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> DeleteConfirmed(int id) { var res = new RestAccess("", "", Constants.ServiceClientEndPointWithApiPrefix); await res.DeleteShop(new ExDeleteRequest { Id = id, CheckPassword = WebAppSettings.CheckPassword, }); return(RedirectToAction("Logout", "Account")); }
public Boolean AddToShoppingCart(int bookid, string email) { String command = "insert into ShoppingCartBook(BookID, BookStoreID, Date, UserID) values (@BOOKID, 1, @DATE, @USERID)"; SQLiteCommand insert = new SQLiteCommand(command, dbConnection); insert.Parameters.Add(new SQLiteParameter("@BOOKID", bookid)); insert.Parameters.Add(new SQLiteParameter("@DATE", DateTimeSQLite(DateTime.Now))); insert.Parameters.Add(new SQLiteParameter("@USERID", RestAccess.GetInstance().GetUserByEmail(email).GetUid())); insert.ExecuteNonQuery(); return(true); }
public async Task <IActionResult> LoadStores() { RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var request = new ExGetShopsRequest { MyPosition = new BissPosition(47, 16), Range = 2500 }; var allShops = await ra.GetShops(request); ShopViewModel vm = new ShopViewModel(); vm.features = new List <Feature>(); vm.type = "FeatureCollection"; if (allShops != null && allShops.Ok) { foreach (var exShop in allShops.Result) { Feature f = new Feature(); f.geometry = new Geometry(); f.geometry.type = "Point"; f.geometry.coordinates = new List <double>(); f.geometry.coordinates.Add(exShop.Position.Longitude); f.geometry.coordinates.Add(exShop.Position.Latitude); f.type = "Feature"; f.properties = new Properties(); f.properties.category = String.Join(", ", exShop.Categories.Select(a => a.Name)); f.properties.name = exShop.Name; f.properties.storeid = exShop.Id.ToString(); f.properties.isopen = exShop.IsOpen; var color = exShop.IsOpen ? "%23FF228B22" : "%23FFDC143C"; var glyph = exShop.MainCategory?.Glyph ?? "E994"; f.properties.symbol = $"{Constants.ServiceClientEndPointWithApiPrefix}GlyphToIcon/{glyph}/{color}/%23FFFFFFFF/%20%2300FFFFFF/32/false"; vm.features.Add(f); } } // Get the data string ret = vm.ToJson(); return(Content(ret, "application/json")); }
public static bool PurchaseShoppingCart(List <ShoppingCartBook> sBooks) { SQLite_Database localAccess = SQLite_Database.GetInstance(); RestAccess remoteAccess = RestAccess.GetInstance(); //Loop through each book and create a transaction foreach (var sBook in sBooks) { var price = remoteAccess.GetBook(sBook.bookID).Price; //Get book's price localAccess.CreateTransaction(sBook.UserID, sBook.bookID, price); } return(false); }
public async Task <IActionResult> Device_Destroy([DataSourceRequest] DataSourceRequest request, ExExtendedUserDeviceInfo device) { RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); ExPostUserDeviceDelete model = new ExPostUserDeviceDelete(); model.UserId = device.UserId; model.DeviceToken = device.DeviceToken; model.Plattform = device.Plattform; model.CheckPassword = WebAppSettings.CheckPassword; var res = await ra.UserDeviceDeleteWeb(model); return(Json(true)); }
public async Task <IActionResult> RegisterUser(RegisterUserViewModel form) { if (!ModelState.IsValid) { return(View(form)); } try { var success = ValidationHelper.ProoveValidPhoneNumber(form.PhoneNumber, out string telNumber); if (!success) { ModelState.AddModelError("PhoneNumber", "Die Telefonnummer hat ein ungültiges Format"); return(View(form)); } var user = await _context.TblUsers.FirstOrDefaultAsync(a => a.PhoneNumber == telNumber); if (user != null) { //ModelState.AddModelError("PhoneNumber", "Diese Telefonnumer existiert bereits im System."); //return View(form); TempData["message"] = "Du bist bereits registriert. Bitte logge dich ein!"; return(RedirectToAction("LoginUser")); } RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var res = await ra.UserCheck(telNumber); if (res.Ok) { if (!res.Result.IsNewUser) { TempData["message"] = "Du bist bereits registriert. Bitte logge dich ein!"; return(RedirectToAction("LoginUser")); } TempData["message"] = "Danke! Um die Registrierung abzuschließen überprüfe bitte deine SMS Nachrichten!"; return(RedirectToAction("LoginUser")); } ViewData["message"] = "Registrierung war nicht erfolgreich. Bitte Eingabe überprüfen!"; return(View(form)); } catch (Exception ex) { ModelState.AddModelError("PhoneNumber", ex.Message); return(View(form)); } }
public void CreateBook() { RestAccess db = RestAccess.GetInstance(); db.CreateBook("name", 999, "name", "desc"); System.Diagnostics.Debug.WriteLine("after creation"); List <Book> list = db.GetBooks(); System.Diagnostics.Debug.WriteLine("AFTER GETBOOKS"); Book book = list.Last(); System.Diagnostics.Debug.WriteLine("GOT TO DELETE"); db.DeleteLastBook(); Assert.AreEqual(book.Author, "name"); }
public void UpdateBook() { RestAccess db = RestAccess.GetInstance(); List <Book> list = db.GetBooks(); int id = list.First().BookId; String auth = list.First().Author; float price = list.First().Price; String name = list.First().Name; String desc = list.First().desc; db.UpdateBook(id, "name", 11037, "44", "desc"); Book book = db.GetBook(id); db.UpdateBook(id, auth, price, name, desc); Assert.AreEqual(book.Author, "name"); }
public async Task <IActionResult> Index(string guid) { using (Db db = new Db()) { var e = db.TblStores.FirstOrDefault(a => a.ActivationCode == guid); if (e == null) { return(RedirectToAction("RegisterShop", "Account")); } RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.ForgotPasswordShop(new ExShopForgotPassword { EMail = e.EMail, Step = EnumShopForgotPassword.Step2 }); } TempData["message"] = "Bitte überprüfe deinen Posteingang! Dir wurde ein neues Passwort zugesandt!"; return(RedirectToAction("LogInShop", "Account")); }
public async Task <IActionResult> ForgotPasswordShop(RegisterShopViewModel form) { if (!ModelState.IsValid) { return(View(form)); } try { if (String.IsNullOrEmpty(form.UserName)) { ModelState.AddModelError("Username", "Bitte eine E-Mail Adresse angeben."); return(View(form)); } var email = form.UserName?.Trim().Replace(" ", "").ToLower(); RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.ForgotPasswordShop(new ExShopForgotPassword { EMail = email, Step = EnumShopForgotPassword.Step1 }); var store = await _context.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == email && a.Activated); if (store == null) { ModelState.AddModelError("Username", "Diese E-Mail existiert nicht im System."); return(View(form)); } if (!store.Activated) { await ra.RegisterShop(new ExShopRegistration { EMail = email }); } TempData["message"] = "Bitte überprüfe deinen Posteingang. Dir wurde ein Bestätigungs-Link zugesandt."; return(RedirectToAction("LogInShop")); } catch (Exception e) { ModelState.AddModelError("Username", "Unbekannter Fehler. Bitte versuche es in wenigen Minuten erneut."); return(View(form)); } }
public async Task <IActionResult> Index() { try { var res = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var result = await res.GetMaintenanceInfo(); if (result.Ok && !string.IsNullOrEmpty(result.Result)) { ViewData["maintenance"] = result.Result; } } catch (Exception ex) { } return(View("IndexV2")); }
public async Task <IActionResult> DeleteConfirmed(int id) { var tableAppointment = await _context.TblAppointments.FindAsync(id); var tbUser = await _context.TblUsers.AsNoTracking().FirstOrDefaultAsync(a => a.Id == tableAppointment.UserId); RestAccess ra = new RestAccess(tbUser.Id.ToString(), tbUser.RestPasswort, Constants.ServiceClientEndPointWithApiPrefix); var r = new ExRemoveMeetingRequest { MeetingId = id, UserId = tableAppointment.UserId, UserType = EnumUserType.ShopEmployee, CheckPassword = WebAppSettings.CheckPassword, }; var xxx = await ra.DeleteMeetingWeb(r); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> ForgotPasswordUser(RegisterUserViewModel form) { if (!ModelState.IsValid) { return(View(form)); } try { var success = ValidationHelper.ProoveValidPhoneNumber(form.PhoneNumber, out string telNumber); if (!success) { ModelState.AddModelError("PhoneNumber", "Die Telefonnummer hat ein ungültiges Format"); return(View(form)); } var user = await _context.TblUsers.FirstOrDefaultAsync(a => a.PhoneNumber == telNumber); if (user == null) { ModelState.AddModelError("PhoneNumber", "Diese Telefonummer existiert nicht!"); return(View(form)); } RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var res = await ra.UserStartResetPassword(user.Id); if (res.Ok) { TempData.Add("message", "Überprüfe bitte deine SMS Nachrichten!"); return(RedirectToAction("LoginUser")); } ViewData["message"] = "Passwort konnte nicht verschickt werden!"; return(View(form)); } catch (Exception ex) { ModelState.AddModelError("PhoneNumber", ex.Message); return(View(form)); } }