public void Delete(RegisterApp entity) { try { var itemToRemove = _context.RegisterApps.SingleOrDefault(x => x.RegisterAppId == entity.RegisterAppId); _context.RegisterApps.Remove(itemToRemove); _context.SaveChanges(); } catch (Exception) { throw; } }
public ClientKeys CreateApp(RegisterApp app, string userId, bool keyExists, IRegisterApp appRegistrar, IClientKeys clientKeyToolkit, int appCallLimit) { app.UserID = userId; app.CreatedOn = DateTime.Now; app.TotalAppCallLimit = appCallLimit; appRegistrar.Add(app); // this code fills RegisterAppId and adds the app to db, and should always auto-increment model.RegisterAppId to > 0 // Generate Clientid and Secret Key // Validating ClientID and ClientSecret already Exists ClientKeys clientkeys; if (keyExists) { // Getting Generate ClientID and ClientSecret Key By UserID clientkeys = clientKeyToolkit.GetGenerateUniqueKeyByUserID(userId); } else { // reload app from DB app = appRegistrar.FindAppByUserId(userId); // Generate Keys String clientSecret, clientID; clientKeyToolkit.GenerateUniqueKey(out clientID, out clientSecret); // Saving Keys Details in Database clientkeys = new ClientKeys(); clientkeys.ClientKeysID = 0; clientkeys.RegisterAppId = app.RegisterAppId; clientkeys.CreatedOn = DateTime.Now; clientkeys.ClientId = clientID; clientkeys.ClientSecret = clientSecret; clientkeys.UserID = userId; clientKeyToolkit.SaveClientIDandClientSecret(clientkeys); // MC121517 quick and dirty hack to address the bug at app creation in ManageApp.cshtml where RegisterApps is null in @clientkeys.RegisterApps.Name // otherwise ManageApp.cshtml will crash clientkeys.RegisterApps = app; } return(clientkeys); }
public bool ValidateAppName(RegisterApp registercompany) { try { var result = (from company in _context.RegisterApps where company.Name == registercompany.Name select company).Count(); if (result > 0) { return(true); } else { return(false); } } catch (Exception) { throw; } }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email }; var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); // Put user in role if (strNewRole != "0") { UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } // create app to use the arabizi var userId = objNewAdminUser.Id; var appLimit = Convert.ToInt32(ConfigurationManager.AppSettings["TotalAppCallLimit"]); var app = new RegisterApp { Name = userId + ".app" }; new AppManager().CreateApp(app, userId, false, new RegisterAppConcrete(), new ClientKeysConcrete(), appLimit); // create registered user using (var db = new ArabiziDbContext()) { var userguid = Guid.Parse(userId); var registeredUser = db.RegisterUsers.SingleOrDefault(m => m.UserGuid == userguid); if (registeredUser == null) { db.RegisterUsers.Add(new RegisterUser { UserGuid = userguid, LastLoginTime = DateTime.Now, Username = Email, Password = Password, CreateOn = DateTime.Now, EmailID = Email, }); } else { registeredUser.LastLoginTime = DateTime.Now; } // commit db.SaveChanges(); } return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
public ActionResult ManageApp(RegisterApp model) { var userId = User.Identity.GetUserId(); // var keyExists = _clientKeyToolkit.IsUniqueKeyAlreadyGenerate(userId); ViewBag.clientExist = keyExists; if (keyExists) { // Getting Generate ClientID and ClientSecret Key By UserID ViewBag.clientkeys = _clientKeyToolkit.GetGenerateUniqueKeyByUserID(userId); } // themes : deserialize/send list of themes, plus send active theme, plus send list of tags/keywords var userXtrctThemes = new Arabizer().loaddeserializeM_XTRCTTHEME_DAPPERSQL(userId); List <M_XTRCTTHEME_KEYWORD> xtrctThemesKeywords = new Arabizer().loaddeserializeM_XTRCTTHEME_KEYWORD_Active_DAPPERSQL(userId); var userActiveXtrctTheme = userXtrctThemes.Find(m => m.CurrentActive == "active"); @ViewBag.UserXtrctThemes = userXtrctThemes; @ViewBag.XtrctThemesPlain = userXtrctThemes.Select(m => new SelectListItem { Text = m.ThemeName.Trim(), Selected = m.ThemeName.Trim() == userActiveXtrctTheme.ThemeName.Trim() ? true : false }); @ViewBag.UserActiveXtrctTheme = userActiveXtrctTheme; @ViewBag.ActiveXtrctThemeNegTags = xtrctThemesKeywords.Where(m => m.Keyword_Type == "NEGATIVE" || m.Keyword_Type == "OPPOSE" || m.Keyword_Type == "EXPLETIVE" || m.Keyword_Type == "SENSITIVE").ToList(); @ViewBag.ActiveXtrctThemePosTags = xtrctThemesKeywords.Where(m => m.Keyword_Type == "POSITIVE" || m.Keyword_Type == "SUPPORT").ToList(); @ViewBag.ActiveXtrctThemeOtherTags = xtrctThemesKeywords.Where(m => m.Keyword_Type != "POSITIVE" && m.Keyword_Type != "SUPPORT" && m.Keyword_Type != "NEGATIVE" && m.Keyword_Type != "OPPOSE" && m.Keyword_Type != "EXPLETIVE" && m.Keyword_Type != "SENSITIVE").ToList(); // Fetch the data for fbPages for all themes for that user var fbFluencerAsTheme = new Arabizer().loadDeserializeT_FB_INFLUENCERs_DAPPERSQL(userId); ViewBag.AllInfluenceVert = fbFluencerAsTheme; // working data entries count List <LM_CountPerThemePerUser> entriesCountsperThemePerUser = new Arabizer().loaddeserializeM_ARABICDARIJAENTRY_CountPerThemePerUser_DAPPERSQL(userId); @ViewBag.EntriesCountsperThemePerUser = entriesCountsperThemePerUser; // fb pages comments count List <LM_CountPerInfluencer> commentsCountsPerInfluencer = new Arabizer().loaddeserializeT_FB_Comments_CountPerInfluencer_DAPPERSQL(userId); @ViewBag.CommentsCountsPerInfluencer = commentsCountsPerInfluencer; // fb pages posts count List <LM_CountPerInfluencer> postsCountsPerInfluencer = new Arabizer().loaddeserializeT_FB_Posts_CountPerInfluencer_DAPPERSQL(userId); @ViewBag.PostsCountsPerInfluencer = postsCountsPerInfluencer; // scocial searc posys count & comment count @ViewBag.PostsCounts = new Arabizer().loaddeserializeT_FB_Posts_Count_DAPPERSQL(); @ViewBag.CommentsCounts = new Arabizer().loaddeserializeT_FB_Comments_Count_DAPPERSQL(); // GET access (ie : check app dashbord) if (Request.HttpMethod.ToUpper() == "GET") { return(View()); } // check if (!ModelState.IsValid) { return(View("ManageApp", model)); } // check app already registered if (_appRegistrar.ValidateAppName(model)) { ModelState.AddModelError("", "App is Already Registered"); return(View("ManageApp", model)); } // check app already registered var app = _appRegistrar.CheckIsAppRegistered(userId); if (app == true) { return(RedirectToAction("Index")); } // register app model coming from html form ClientKeys clientkeys = new AppManager().CreateApp(model, userId, keyExists, _appRegistrar, _clientKeyToolkit, AppCallLimit); // passing them back to the view ViewBag.clientkeys = clientkeys; ViewBag.clientExist = true; // return(View(model)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // Require the user to have a confirmed email before they can log on. var user = await UserManager.FindByNameAsync(model.Email); if (user != null) { // // string callbackUrl = await SendEmailConfirmationTokenAsync(user); if (!await UserManager.IsEmailConfirmedAsync(user.Id)) { ViewBag.errorMessage = "You must have a confirmed email to log on."; return(View("Error")); } } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: goto createDefaultTheme; case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", R.InvalidLoginAttempt); return(View(model)); } createDefaultTheme: // TMP DEV TIME : Create default theme if there is not any one before var userIdentity = SignInManager.AuthenticationManager.AuthenticationResponseGrant.Identity; String userId = SignInManager.AuthenticationManager.AuthenticationResponseGrant.Identity.GetUserId(); var arabizer = new Arabizer(); if (arabizer.loaddeserializeM_XTRCTTHEME_DAPPERSQL(userId).Count == 0) { arabizer.saveserializeM_XTRCTTHEME_EFSQL(new M_XTRCTTHEME { ID_XTRCTTHEME = Guid.NewGuid(), CurrentActive = "active", ThemeName = "Default", UserID = userId }); } // create Default App For Admin (and actually any new user) first time if (arabizer.loaddeserializeRegisterApp_DAPPERSQL(userId).Count == 0) { // create app to use the arabizi var appLimit = Convert.ToInt32(ConfigurationManager.AppSettings["TotalAppCallLimit"]); var app = new RegisterApp { Name = userId + ".app" }; new AppManager().CreateApp(app, userId, false, new RegisterAppConcrete(), new ClientKeysConcrete(), appLimit); } // create registered user using (var db = new ArabiziDbContext()) { var userguid = Guid.Parse(userId); var registeredUser = db.RegisterUsers.SingleOrDefault(m => m.UserGuid == userguid); if (registeredUser == null) { db.RegisterUsers.Add(new RegisterUser { UserGuid = userguid, LastLoginTime = DateTime.Now, Username = model.Email, Password = model.Password, CreateOn = DateTime.Now, EmailID = model.Email, }); } else { registeredUser.LastLoginTime = DateTime.Now; } // commit db.SaveChanges(); } // log login time using (var db = new ArabiziDbContext()) { var userguid = Guid.Parse(userId); var registeredUser = db.RegisterUsers.SingleOrDefault(m => m.UserGuid == userguid); if (registeredUser == null) { db.RegisterUsers.Add(new RegisterUser { UserGuid = userguid, LastLoginTime = DateTime.Now, Username = model.Email, Password = model.Password, CreateOn = DateTime.Now, EmailID = model.Email, }); } else { registeredUser.LastLoginTime = DateTime.Now; } // commit db.SaveChanges(); } // // return RedirectToAction("Index", "Train"); // return RedirectToAction("IndexTranslateArabizi", "Train"); return(RedirectToAction("IndexSplash", "Train")); }