public ActionResult DeleteConfirmed(int id) { try { using (var ctx = new SaasDbContext()) { //Get tenant from db Tenant tenant = ctx.Tenants.Find(id); ctx.Tenants.Remove(tenant); ctx.SaveChanges(); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Tenants", Link = "/Tenants" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Delete Confirm" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Tenants not found", ex.Message, ex.InnerException); } return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { try { using (var ctx = new SaasDbContext()) { //Get application from db Application application = ctx.Applications.Find(id); if (application.TenantId == CurrentTenant.TenantId || User.IsInRole("SystemAdministrator")) { if (ModelState.IsValid) { // Remove application from db ctx.Applications.Remove(application); ctx.SaveChanges(); return(RedirectToAction("Index")); } } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(RedirectToAction("Index")); }
public ActionResult Index() { // Create the model var model = new TenantListViewModel(); try { using (var ctx = new SaasDbContext()) { // Get tenants from the db var tenants = ctx.Tenants.Include("Applications").ToList(); // Fill the view object model.Tenants = tenants.Select(t => new TenantViewModel() { Tenant = t }).ToList(); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Tenants" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Tenants not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult Edit([Bind(Include = "TenantId,Code,Name,Description,Culture,TimeZone,Created,Status")] EditTenantViewModel tenantViewModel) { try { using (var ctx = new SaasDbContext()) { // Get existing tenant from db var tenant = ctx.Tenants.Where(t => t.TenantId == tenantViewModel.TenantId).FirstOrDefault(); tenant.Code = tenantViewModel.Code; tenant.Name = tenantViewModel.Name; tenant.Description = tenantViewModel.Description; tenant.Culture = tenantViewModel.Culture; tenant.TimeZone = tenantViewModel.TimeZone; tenant.Status = tenantViewModel.Status; if (ModelState.IsValid) { ctx.Entry(tenant).State = EntityState.Modified; ctx.SaveChanges(); return(RedirectToAction("Index")); } } } catch (Exception ex) { LogService.Info("Tenants not found", ex.Message, ex.InnerException); } return(View(tenantViewModel)); }
public ActionResult ChangePassword([Bind(Include = "Id,Password,NewPassword,NewPasswordConfirm,Created")] ChangePasswordViewModel model, int id) { try { using (var ctx = new SaasDbContext()) { //Check the user role if (id == CurrentUser.Id) { if (model.NewPassword == model.NewPasswordConfirm) { //Change password UserManager.ChangePassword(id, model.Password, model.NewPassword); LogService.Info("User password changed", model.User.Id.ToString(), model.User.Firstname + "" + model.User.Lastname); return(RedirectToAction("Index")); } } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("User not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult Create() { using (var ctx = new SaasDbContext()) { ViewBag.TenantId = new SelectList(ctx.Tenants.ToList(), "TenantId", "Name"); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Applications", Link = "/Applications" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "New" }); ViewBag.Breadcrumb = breadcrumb; ViewBag.CurrentTenantId = CurrentTenant.TenantId; return(View()); }
public ActionResult Create([Bind(Include = "Id,TenantId,Code,Domain,Name,Culture,TimeZone,Updated,Created,Status")] Application application) { try { using (var ctx = new SaasDbContext()) { if (application.TenantId == CurrentTenant.TenantId || User.IsInRole("SystemAdministrator")) { if (ModelState.IsValid) { // Add application to db ctx.Applications.Add(application); ctx.SaveChanges(); return(RedirectToAction("Index")); } } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("Application do not create", ex.Message, ex.InnerException); } return(View(application)); }
public ActionResult Edit([Bind(Include = "Id,UserId,TenantId,Firstname,LastName,Username,Email,PasswordHash,SecurityStamp,MobileNumber,Gender,Birthdate,Created")] EditUserViewModel userviewmodel) { try { using (var ctx = new SaasDbContext()) { // Get existing user from db var user = ctx.Users.Where(u => u.Id == userviewmodel.UserId).FirstOrDefault(); user.Firstname = userviewmodel.Firstname; user.Lastname = userviewmodel.Lastname; user.Email = userviewmodel.Email; user.UserName = userviewmodel.Email; user.Gender = userviewmodel.Gender; user.MobileNumber = userviewmodel.MobileNumber; //Get the user role from db var userRoleold = ctx.UserRoles.Where(ui => ui.UserId == userviewmodel.UserId).FirstOrDefault(); //Remove user role from db ctx.UserRoles.Remove(userRoleold); ctx.SaveChanges(); //Create a new user role var modelRole = new LidiaUserRole() { UserId = userviewmodel.UserId, RoleId = userviewmodel.Id, TenantId = userviewmodel.TenantId }; if (userviewmodel.UserId == CurrentUser.Id || User.IsInRole("SystemAdministrator") || User.IsInRole("TenantAdministrator")) { if (ModelState.IsValid) { //Update the user ctx.Entry(user).State = EntityState.Modified; ctx.UserRoles.Add(modelRole); ctx.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TenantId = new SelectList(ctx.Tenants.ToList(), "TenantId", "Name"); } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(View(userviewmodel)); }
public ActionResult Details(int?id) { // Create the model var model = new TenantViewModel(); var tenant = new Tenant(); try { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } using (var ctx = new SaasDbContext()) { // Get tenant from db tenant = ctx.Tenants.Include("Applications").Where(i => i.TenantId == id).FirstOrDefault(); } if (tenant == null) { return(HttpNotFound()); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Tenants", Link = "/Tenants" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = tenant.Name, Link = "/Tenants/" + tenant.TenantId + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Details" }); ViewBag.Breadcrumb = breadcrumb; // Set the tenant model.Tenant = tenant; } catch (Exception ex) { LogService.Info("Tenants not found", ex.Message, ex.InnerException); } return(View(model)); }
// GET: Users public ActionResult Index() { //Create the model var model = new UserListViewModel(); try { // Get the users from the database var users = new List <LidiaUser>(); if (User.IsInRole("SystemAdministrator")) { using (var ctx = new SaasDbContext()) { users = ctx.Users.ToList(); } } else { using (var ctx = new SaasDbContext()) { users = ctx.UserRoles.Where(ur => ur.TenantId == CurrentTenant.TenantId).Select(ur => ur.User).ToList(); } } // Set the user collection into the model model.Users = users.Select(u => new UserViewModel() { User = u }).ToList(); // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Users" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Users not found", ex.Message, ex.InnerException); } return(View(model)); }
public static SchedulerUserManager Create(IdentityFactoryOptions <SchedulerUserManager> options, IOwinContext context) { var manager = new SchedulerUserManager(new SchedulerUserStore(SaasDbContext.Create())); // Configure validation logic for usernames manager.UserValidator = new UserValidator <LidiaUser, int>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure validation logic for passwords manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = false, RequireUppercase = false, }; // Register two factor authentication providers. This application uses Phone // and Emails as a step of receiving a code for verifying the user // You can write your own provider and plug in here. manager.RegisterTwoFactorProvider("PhoneCode", new PhoneNumberTokenProvider <LidiaUser, int> { MessageFormat = "Your security code is: {0}" }); manager.RegisterTwoFactorProvider("EmailCode", new EmailTokenProvider <LidiaUser, int> { Subject = "Security Code", BodyFormat = "Your security code is: {0}" }); //manager.EmailService = new EmailService(); //manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <LidiaUser, int>(dataProtectionProvider.Create("FFIdentity")); } return(manager); }
public ActionResult DeleteConfirmed(int id) { //Create the user var user = new LidiaUser(); try { using (var ctx = new SaasDbContext()) { //Get the user from db user = ctx.Users.Where(u => u.Id == id).FirstOrDefault(); //Get user's tenant from db var tenantId = user.Roles.Where(tı => tı.UserId == id).FirstOrDefault().TenantId; if (User.IsInRole("SystemAdministrator")) { // Delete user from db ctx.Users.Remove(user); ctx.SaveChanges(); return(RedirectToAction("Index")); } else if (User.IsInRole("TenantAdministrator") && CurrentTenant.TenantId == tenantId) { // Delete user from db ctx.Users.Remove(user); ctx.SaveChanges(); return(RedirectToAction("Index")); } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(RedirectToAction("Index")); }
public ActionResult Create([Bind(Include = "CollectionId,TenantId,ApplicationId,Name,Created,Status")] JobCollection collection) { try { using (SchedulerDbContext ctx = new SchedulerDbContext()) { if (User.IsInRole("SystemAdministrator") || collection.TenantId == CurrentTenant.TenantId) { if (ModelState.IsValid) { ctx.Collections.Add(collection); ctx.SaveChanges(); return(RedirectToAction("Index")); } } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("Collections not found", ex.Message, ex.InnerException); } using (var saasDb = new SaasDbContext()) { if (User.IsInRole("SystemAdministrator")) { ViewBag.TenantId = new SelectList(saasDb.Tenants.ToList(), "TenantId", "Name"); ViewBag.ApplicationId = new SelectList(saasDb.Applications.ToList(), "Id", "Name"); } else { ViewBag.TenantId = new SelectList(saasDb.Tenants.Where(i => i.TenantId == CurrentTenant.TenantId).ToList(), "TenantId", "Name"); ViewBag.ApplicationId = new SelectList(saasDb.Applications.Where(a => a.TenantId == CurrentTenant.TenantId).ToList(), "Id", "Name"); } } return(View(collection)); }
public ActionResult Create() { try { using (var ctx = new SaasDbContext()) { if (User.IsInRole("SystemAdministrator")) { ViewBag.TenantId = new SelectList(ctx.Tenants.ToList(), "TenantId", "Name"); ViewBag.Id = new SelectList(ctx.Roles.ToList(), "Id", "Name"); } else if (User.IsInRole("TenantAdministrator")) { ViewBag.TenantId = new SelectList(ctx.Tenants.Where(t => t.TenantId == CurrentTenant.TenantId).ToList(), "TenantId", "Name"); ViewBag.Id = new SelectList(ctx.Roles.Where(t => t.Id != 3).ToList(), "Id", "Name"); } else { return(View("Authorize")); } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Users", Link = "/Users" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "New" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Users create error", ex.Message, ex.InnerException); } return(View()); }
public ActionResult Edit([Bind(Include = "CollectionId,ApplicationId,TenantId,Name,Created,Status")] EditJobCollectionViewModel collectionViewModel) { try { if (User.IsInRole("SystemAdministrator") || collectionViewModel.TenantId == CurrentTenant.TenantId) { using (var ctx = new SchedulerDbContext()) { // Get existing collection from db var collection = ctx.Collections.Where(c => c.CollectionId == collectionViewModel.CollectionId).FirstOrDefault(); collection.Name = collectionViewModel.Name; collection.Status = collectionViewModel.Status; if (ModelState.IsValid) { //Update collection ctx.Entry(collection).State = EntityState.Modified; ctx.SaveChanges(); return(RedirectToAction("Index")); } } } else { return(View("Authorize")); } using (var saaSctx = new SaasDbContext()) { ViewBag.TenantId = new SelectList(saaSctx.Tenants.ToList(), "TenantId", "Name"); ViewBag.ApplicationId = new SelectList(saaSctx.Applications.ToList(), "Id", "Name"); } } catch (Exception ex) { LogService.Info("Collections not found", ex.Message, ex.InnerException); } return(View(collectionViewModel)); }
public ActionResult Edit([Bind(Include = "Id,TenantId,Code,Domain,Name,Culture,TimeZone,Updated,Created,Status")] EditApplicationViewModel applicationViewModel) { try { using (var ctx = new SaasDbContext()) { if (applicationViewModel.TenantId == CurrentTenant.TenantId || User.IsInRole("SystemAdministrator")) { //Get existing application from db var application = ctx.Applications.Where(a => a.Id == applicationViewModel.Id).FirstOrDefault(); application.Name = applicationViewModel.Name; application.Code = applicationViewModel.Code; application.Domain = applicationViewModel.Domain; application.Culture = applicationViewModel.Culture; application.TimeZone = applicationViewModel.TimeZone; application.Status = applicationViewModel.Status; if (ModelState.IsValid) { // Update application ctx.Entry(application).State = EntityState.Modified; ctx.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TenantId = new SelectList(ctx.Tenants.ToList(), "TenantId", "Name"); } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(View(applicationViewModel)); }
public ActionResult Create() { try { //Get tenantId and ApplicationId using (SaasDbContext saasCtx = new SaasDbContext()) { if (User.IsInRole("SystemAdministrator")) { ViewBag.TenantId = new SelectList(saasCtx.Tenants.ToList(), "TenantId", "Name"); ViewBag.ApplicationId = new SelectList(saasCtx.Applications.ToList(), "Id", "Name"); } else { ViewBag.TenantId = new SelectList(saasCtx.Tenants.Where(t => t.TenantId == CurrentTenant.TenantId).ToList(), "TenantId", "Name"); ViewBag.ApplicationId = new SelectList(saasCtx.Applications.Where(at => at.TenantId == CurrentTenant.TenantId).ToList(), "Id", "Name"); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Collections", Link = "/Collections" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "New" }); ViewBag.Breadcrumb = breadcrumb; } } catch (Exception ex) { LogService.Info("Collections not found", ex.Message, ex.InnerException); } return(View()); }
public ActionResult Create([Bind(Include = "Code,Name,Description,Culture,TimeZone,Created,Status")] Tenant tenant) { try { using (var ctx = new SaasDbContext()) { if (ModelState.IsValid) { ctx.Tenants.Add(tenant); ctx.SaveChanges(); return(RedirectToAction("Index")); } } } catch (Exception ex) { LogService.Info("Tenants not found", ex.Message, ex.InnerException); } return(View(tenant)); }
public ActionResult ForgotPassword(int?id) { if (id != null) { using (var ctx = new SaasDbContext()) { // Get the user from db var user = ctx.Users.Where(u => u.Id == id).FirstOrDefault(); var tenantid = ctx.UserRoles.Where(t => t.UserId == id).FirstOrDefault().TenantId; if (CurrentTenant.TenantId == tenantid && User.IsInRole("TenantAdministrator")) { ViewBag.Email = user.Email; } else if (User.IsInRole("SystemAdministrator")) { ViewBag.Email = user.Email; } } } return(View()); }
// GET: Applications public ActionResult Index() { List <Application> applications = new List <Application>(); try { using (var ctx = new SaasDbContext()) { if (User.IsInRole("SystemAdministrator")) { //Get all applications from db applications = ctx.Applications.Include(xi => xi.Tenant).ToList(); } else { //Get current tenant applications from db applications = ctx.Applications.Where(i => i.TenantId == CurrentTenant.TenantId).Include(xi => xi.Tenant).ToList(); } //test // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Applications" }); ViewBag.Breadcrumb = breadcrumb; } } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(View(applications)); }
public ActionResult Delete(int id) { //Create the model var model = new UserViewModel(); //Create the user var user = new LidiaUser(); try { using (var ctx = new SaasDbContext()) { // Get the users from the database user = ctx.Users.Include("Roles").Where(u => u.Id == id).FirstOrDefault(); //Get tenant id from db var tenantid = ctx.UserRoles.Where(t => t.UserId == id).FirstOrDefault().TenantId; if (User.IsInRole("SystemAdministrator")) { //Add user to model model.User = user; } else if (User.IsInRole("TenantAdministrator") && CurrentTenant.TenantId == tenantid) { //Add user to model model.User = user; } else { return(View("Authorize")); } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Users", Link = "/Users" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = user.Firstname + " " + user.Lastname, Link = "/Users/" + user.Id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Delete Confirm" }); ViewBag.Breadcrumb = breadcrumb; if (model.User != null) { return(View(model)); } else { return(View("Authorize")); } } catch (Exception ex) { LogService.Info("User not found to delete"); return(RedirectToAction("Home/Index", ex.Message, ex.InnerException)); } }
public ActionResult Delete(int?id) { // Create the model var model = new ApplicationViewModel(); try { using (var ctx = new SaasDbContext()) { // Get application from db var application = ctx.Applications.Where(i => i.Id == id).Include("Tenant").FirstOrDefault(); if (application.TenantId == CurrentTenant.TenantId || User.IsInRole("SystemAdministrator")) { // Add application to model model.Application = application; } else { return(View("Authorize")); } if (model == null) { return(View("Error")); } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Applications", Link = "/Applications" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = model.Application.Name.ToString(), Link = "/Application/" + id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Delete Confirm" }); ViewBag.Breadcrumb = breadcrumb; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult Details(int id) { //Create the model var model = new UserViewModel(); //Create the user var user = new LidiaUser(); try { using (var ctx = new SaasDbContext()) { // Get the user from the database user = ctx.Users.Include("Roles").Where(u => u.Id == id).FirstOrDefault(); //Get user's tenant from db var tenantId = user.Roles.Where(tı => tı.UserId == id).FirstOrDefault().TenantId; if (User.IsInRole("SystemAdministrator")) { //Add user to model model.User = user; } else if (User.IsInRole("TenantAdministrator") && CurrentTenant.TenantId == tenantId) { //Add user to model model.User = user; } else if (id == CurrentUser.Id) { //Add user to model model.User = user; } else { return(View("Authorize")); } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); // Set breadcrumb item breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Users", Link = "/Users" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = user.Firstname + " " + user.Lastname, Link = "/Users/" + user.Id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Details" }); //set breadcrumb item to Viewbag ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("User not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Create the model var model = new EditApplicationViewModel(); try { using (var ctx = new SaasDbContext()) { //Get application from db var application = ctx.Applications.Find(id); if (User.IsInRole("SystemAdministrator") || application.TenantId == CurrentTenant.TenantId) { // Add application item to model model.Id = application.Id; model.Name = application.Name; model.ParentId = application.ParentId; model.TenantId = application.TenantId; model.TimeZone = application.TimeZone; model.Code = application.Code; model.Culture = application.Culture; model.Domain = application.Domain; model.Created = application.Created; model.Status = application.Status; } else { return(View("Authorize")); } if (model == null) { return(View("Error")); } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Applications", Link = "/Applications" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = model.Name.ToString(), Link = "/Application/" + id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Edit" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Application not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult ChangePassword(int id) { var model = new ChangePasswordViewModel(); try { using (var ctx = new SaasDbContext()) { //Get user from db var user = ctx.Users.Where(u => u.Id == id).FirstOrDefault(); //Get tenant ıd from db var userRole = ctx.UserRoles.Where(ur => ur.UserId == id).FirstOrDefault().TenantId; //Add user to model if (CurrentUser.Id == id) { model.User = user; ViewBag.TenantId = new SelectList(ctx.Tenants.ToList(), "TenantId", "Name"); } else if (userRole == CurrentTenant.TenantId && User.IsInRole("TenantAdministrator")) { return(View("ResetPasswordMail")); } else if (User.IsInRole("SystemAdministrator")) { return(View("ResetPasswordMail")); } else { return(View("Authorize")); } } } catch (Exception ex) { LogService.Info("User not found", ex.Message, ex.InnerException); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Users", Link = "/Users" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = model.User.Firstname + " " + model.User.Lastname, Link = "/Users/" + model.User.Id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Change Password", }); ViewBag.Breadcrumb = breadcrumb; return(View(model)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Create the model var model = new EditTenantViewModel(); var tenant = new Tenant(); try { using (var ctx = new SaasDbContext()) { tenant = ctx.Tenants.Find(id); } if (tenant == null) { return(HttpNotFound()); } //Add tenant to model model.TenantId = tenant.TenantId; model.Code = tenant.Code; model.Name = tenant.Name; model.Description = tenant.Description; model.Culture = tenant.Culture; model.TimeZone = tenant.TimeZone; model.Created = tenant.Created; model.Status = tenant.Status; // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Tenants", Link = "/Tenants" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = tenant.Name, Link = "/Tenants/" + tenant.TenantId + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Edit" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Jobs not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Create the model var model = new ApplicationViewModel(); try { using (var saaSctx = new SaasDbContext()) { using (var scHctx = new SchedulerDbContext()) { var application = saaSctx.Applications.Where(a => a.Id == id).Include("Tenant").FirstOrDefault(); if (User.IsInRole("SystemAdministrator")) { // Get application from db model.Application = application; // Get collections from db model.Collections = scHctx.Collections.Where(i => i.ApplicationId == id).Include("Application").ToList(); } else if (application.TenantId == CurrentTenant.TenantId) { // Get application from db model.Application = application; // Get collections from db model.Collections = scHctx.Collections.Where(i => i.ApplicationId == id).Where(t => t.TenantId == CurrentTenant.TenantId).Include("Application").ToList(); } else { return(View("Authorize")); } } } if (model.Application == null) { return(View("Error")); } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Applications", Link = "/Applications" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = model.Application.Name.ToString() }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Details" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Applications not found", ex.Message, ex.InnerException); } return(View(model)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Create the model var model = new EditJobCollectionViewModel(); var collection = new JobCollection(); try { using (var ctx = new SchedulerDbContext()) { //Get collection from db collection = ctx.Collections.Find(id); if (collection == null) { return(HttpNotFound()); } using (var saaSctx = new SaasDbContext()) { ViewBag.TenantId = new SelectList(saaSctx.Tenants.ToList(), "TenantId", "Name"); ViewBag.ApplicationId = new SelectList(saaSctx.Applications.ToList(), "Id", "Name"); //Add collection to model model.ApplicationId = collection.ApplicationId; model.CollectionId = collection.CollectionId; model.Name = collection.Name; model.Created = collection.Created; model.Updated = collection.Updated; model.Status = collection.Status; if (User.IsInRole("SystemAdministrator") || collection.TenantId == CurrentTenant.TenantId) { model.TenantId = collection.TenantId; } else { return(View("Authorize")); } } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Collections", Link = "/Collections" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = collection.Name, Link = "/Collections/" + id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Edit" }); ViewBag.Breadcrumb = breadcrumb; } catch (Exception ex) { LogService.Info("Collections not found", ex.Message, ex.InnerException); } return(View(model)); }
public HeadstoneUserStore(SaasDbContext context) : base(context) { }
public ActionResult Edit(int?id) { //Create the model var model = new EditUserViewModel(); // Create the user var user = new LidiaUser(); var userRole = new LidiaUserRole(); try { using (var ctx = new SaasDbContext()) { //Get user from db user = ctx.Users.Where(u => u.Id == id).Include("Roles").FirstOrDefault(); //Get user role from db userRole = ctx.UserRoles.Where(s => s.UserId == user.Id).FirstOrDefault(); if (User.IsInRole("SystemAdministrator")) { model.Firstname = user.Firstname; model.Lastname = user.Lastname; model.Email = user.Email; model.MobileNumber = user.MobileNumber; model.Gender = user.Gender; model.UserId = user.Id; model.Id = userRole.RoleId; model.TenantId = userRole.TenantId; model.PasswordHash = user.PasswordHash; model.Birthdate = user.Birthdate; model.SecurityStamp = user.SecurityStamp; //Add user to model ViewBag.Id = new SelectList(ctx.Roles.ToList(), "Id", "Name"); } else if (CurrentTenant.TenantId == userRole.TenantId && User.IsInRole("TenantAdministrator")) { model.Firstname = user.Firstname; model.Lastname = user.Lastname; model.Email = user.Email; model.MobileNumber = user.MobileNumber; model.Gender = user.Gender; model.UserId = user.Id; model.Id = userRole.RoleId; model.TenantId = userRole.TenantId; model.PasswordHash = user.PasswordHash; model.Birthdate = user.Birthdate; model.SecurityStamp = user.SecurityStamp; ViewBag.Id = new SelectList(ctx.Roles.Where(r => r.Id != 3).ToList(), "Id", "Name"); } else if (CurrentUser.Id == user.Id) { model.Firstname = user.Firstname; model.Lastname = user.Lastname; model.Email = user.Email; model.MobileNumber = user.MobileNumber; model.Gender = user.Gender; model.UserId = user.Id; model.Id = userRole.RoleId; model.TenantId = userRole.TenantId; model.PasswordHash = user.PasswordHash; model.Birthdate = user.Birthdate; model.SecurityStamp = user.SecurityStamp; ViewBag.Id = new SelectList(ctx.Roles.Where(r => r.Id == 1).ToList(), "Id", "Name"); } else { return(View("Authorize")); } } // Create the breadcrumb var breadcrumb = new List <BreadcrumbItemViewModel>(); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Users", Link = "/Users" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = user.Firstname + " " + user.Lastname, Link = "/Users/" + user.Id + "/Details" }); breadcrumb.Add(new BreadcrumbItemViewModel() { Text = "Edit" }); ViewBag.Breadcrumb = breadcrumb; // Add currentUserId to model ViewBag.CurrentUser = CurrentUser.Id; ViewBag.CurrentTenant = CurrentTenant.TenantId; if (model != null) { return(View(model)); } else { return(RedirectToAction("Home/Index")); } } catch (Exception ex) { LogService.Info("User not found to edit", ex.Message, ex.InnerException); return(RedirectToAction("Home/Index")); } }