public async Task <JsonResult> SaveTenant(string tenantName, string userName) { try { var accountContext = new AccountDAL.DataContext(); var accountInfo = accountContext.Accounts.Where(x => x.Name == tenantName).FirstOrDefault(); if (accountInfo == null) { Account account = new Account() { Name = tenantName, Database = tenantName }; accountContext.Accounts.Add(account); accountContext.SaveChanges(); } accountInfo = accountContext.Accounts.Where(x => x.Name == tenantName).FirstOrDefault(); var user = new ApplicationUser { UserName = userName, Email = userName, AccountId = accountInfo.Id, Database = accountInfo.Database }; var result = await UserManager.CreateAsync(user, "12345"); if (result.Succeeded) { var userInfo = accountContext.Users.FirstOrDefault(x => x.Email == User.Identity.Name); if (userInfo != null) { TenantDataCtx systemContext = TenantDataCtx.Create(userInfo.Account.Database); string sqlTenantWithTable = string.Format(@"EXEC CreateTenantWithTable '{0}', 'dbo'", tenantName); string sqlStoredProcedure = string.Format(@"EXEC CreateTenantSP '{0}', 'dbo'", tenantName); systemContext.Database.ExecuteSqlCommand(sqlTenantWithTable); systemContext.Database.ExecuteSqlCommand(sqlStoredProcedure); return(Json(new { success = true, Data = "Tenant Created Successfully" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { success = false, Data = "User not found!" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { success = false, Data = result.Errors }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new { success = false, Data = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public JsonResult GetJobList() { // get the current user: var accountContext = new AccountDAL.DataContext(); var user = accountContext.Users.FirstOrDefault(x => x.Email == User.Identity.Name); if (user != null) { TenantDataCtx systemContext = TenantDataCtx.Create(user.Account.Database); var list = systemContext.Job.ToList(); return(Json(new { success = true, Data = list }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { success = false, Data = "Please login first!" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Index() { var accountContext = new AccountDAL.DataContext(); var user = accountContext.Users.FirstOrDefault(x => x.Email == User.Identity.Name); if (user != null) { TenantDataCtx systemContext = TenantDataCtx.Create(user.Account.Database); // now we have the current user, we can use their Account // to create a new DataContext to access system data: //var systemContext = new SystemDAL.DataContext("Company1",user.Account.Database); var list = systemContext.Job.ToList(); return(PartialView(systemContext.Job));//systemContext.Jobs } return(PartialView()); }
public ActionResult Save(string JobTitle) { try { var accountContext = new AccountDAL.DataContext(); var user = accountContext.Users.FirstOrDefault(x => x.Email == User.Identity.Name); var tenant = user.Account.Database; Job job = new Job() { JobName = JobTitle + ", Created by: " + User.Identity.Name//tenant + " " + User.Identity.Name }; TenantDataCtx systemContext = TenantDataCtx.Create(user.Account.Database); systemContext.Job.Add(job); systemContext.SaveChanges(); return(Json(new { success = true, Data = "Data Save Successfully" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { success = true, Data = ex.Message }, JsonRequestBehavior.AllowGet)); } }