public ActionResult CurrentUserEdit(int id, SuncereUser model, string OldPassword) { AjaxResult result; try { FluentModel db = Session.GetFluentModel(); SuncereUserRepository repository = new SuncereUserRepository(db); SuncereUser user = repository.FirstOrDefault(id); if (!string.IsNullOrEmpty(model.Password)) { if (OldPassword == AsymmetricEncryption.Default.Decrypt(user.Password)) { user.Password = AsymmetricEncryption.Default.Encrypt(model.Password); } else { throw new Exception("旧密码错误。"); } } user.EmailAddress = model.EmailAddress; user.PhoneNumber = model.PhoneNumber; user.Remark = model.Remark; user.LastModifierUserId = id; db.SaveChanges(); result = AjaxResult.GetEditAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetEditAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
public ActionResult PermissionEdit(int id, SuncerePermission model) { AjaxResult result; try { FluentModel db = Session.GetFluentModel(); SuncerePermissionRepository repository = new SuncerePermissionRepository(db); SuncerePermission permission = repository.FirstOrDefault(id); permission.Name = model.Name; permission.ParentId = model.ParentId; permission.Controller = model.Controller; permission.Action = model.Action; permission.Order = model.Order; permission.Remark = model.Remark; permission.LastModifierUserId = Session.GetCurrentUser().Id; db.SaveChanges(); result = AjaxResult.GetEditAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetEditAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
static void Main(string[] args) { using (FluentModel db = new FluentModel()) { db.UpdateSchema(); } }
public ActionResult RoleEdit(int id, SuncereRole model) { AjaxResult result; try { int[] permissionIds = Request.Params["SuncerePermissions"].Split(',').Select(o => int.Parse(o)).ToArray(); FluentModel db = Session.GetFluentModel(); SuncereRoleRepository repository = new SuncereRoleRepository(db); SuncerePermissionRepository permissionRepository = new SuncerePermissionRepository(db); SuncereRole role = repository.FirstOrDefault(id); role.Remark = model.Remark; role.LastModifierUserId = Session.GetCurrentUser().Id; foreach (SuncerePermission permission in role.SuncerePermissions) { permission.SuncereRoles.Remove(role); } role.SuncerePermissions.Clear(); foreach (int permissionId in permissionIds) { SuncerePermission permission = permissionRepository.FirstOrDefault(permissionId); role.SuncerePermissions.Add(permission); permission.SuncereRoles.Add(role); } db.SaveChanges(); result = AjaxResult.GetEditAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetEditAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
private void WriteFromMySqlInExcel() { using (var context = new FluentModel()) { var connection = new OleDbConnection(ExcelConnectionString); connection.Open(); var allSalesData = context.Reports; using (connection) { foreach (var item in allSalesData) { var insertCommand = new OleDbCommand("INSERT INTO [Ticket$] (DepartmentPoint, ArravingPoint, TicketsCount, YearOfReport) VALUES (@From, @To, @SellTicketsCount, @Year)", connection); insertCommand.Parameters.AddWithValue("@From", item.From); insertCommand.Parameters.AddWithValue("@To", item.To); insertCommand.Parameters.AddWithValue("@SellTicketsCount", item.SellTicketsCount.ToString()); insertCommand.Parameters.AddWithValue("@Year", item.Year.ToString()); insertCommand.ExecuteNonQuery(); } } Console.WriteLine(MySqlToExcelTransferSuccessMessage); } }
public ActionResult PermissionAdd() { FluentModel db = Session.GetFluentModel(); List <SuncerePermission> modules = db.SuncerePermissions.Where(o => o.Status && o.Type == (int)PermissionType.Module).ToList(); return(View(modules)); }
public ActionResult PermissionAdd(SuncerePermission model) { AjaxResult result; try { FluentModel db = Session.GetFluentModel(); SuncerePermissionRepository repository = new SuncerePermissionRepository(db); if (repository.IsExist(model.Controller, model.Action)) { throw new Exception("权限已存在。"); } if (model.Type == (int)PermissionType.Module) { model.ParentId = 0; model.Action = null; } model.Status = true; model.CreatorUserId = Session.GetCurrentUser().Id; SuncereRole role = db.SuncereRoles.First(); role.SuncerePermissions.Add(model); model.SuncereRoles.Add(role); db.Add(model); db.SaveChanges(); result = AjaxResult.GetAddAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetAddAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
public void ShouldMapToFluentObject_WithoutAttributeNames() { var fluentModel = new FluentModel(true); var fluentObject = fluentModel.MapToFluentObject(); Assert.IsNotNull(fluentObject); Assert.AreEqual(fluentObject.Name, FluentModel.MODEL_NAME); Assert.IsTrue(fluentObject.ContainsKey(FluentModel.BOOLEAN_PROPERTY_NAME)); Assert.IsTrue(fluentObject.ContainsKey(FluentModel.DATE_PROPERTY_NAME)); Assert.IsTrue(fluentObject.ContainsKey(FluentModel.DOUBLE_PROPERTY_NAME)); Assert.IsTrue(fluentObject.ContainsKey(FluentModel.INTEGER_PROPERTY_NAME)); Assert.IsTrue(fluentObject.ContainsKey(FluentModel.OBJECT_PROPERTY_NAME)); Assert.IsFalse(fluentObject.ContainsKey(FluentModel.READONLY_PROPERTY_NAME)); Assert.IsTrue(fluentObject.ContainsKey(FluentModel.CONDITIONED_PROPERTY_NAME)); Assert.IsFalse(fluentObject.ContainsKey(FluentModel.CONDITIONED_REVERSE_PROPERTY_NAME)); Assert.AreEqual(fluentObject[FluentModel.BOOLEAN_PROPERTY_NAME], FluentModel.BOOLEAN_VALUE.ToString()); Assert.AreEqual(fluentObject[FluentModel.DATE_PROPERTY_NAME], FluentModel.DATE_VALUE.ToString()); Assert.AreEqual(fluentObject[FluentModel.DOUBLE_PROPERTY_NAME], FluentModel.DOUBLE_VALUE.ToString()); Assert.AreEqual(fluentObject[FluentModel.INTEGER_PROPERTY_NAME], FluentModel.INTEGER_VALUE.ToString()); Assert.AreEqual(fluentObject[FluentModel.OBJECT_PROPERTY_NAME], FluentModel.OBJECT_VALUE.ToString()); Assert.AreEqual(fluentObject[FluentModel.CONDITIONED_PROPERTY_NAME], FluentModel.CONDITIONED_VALUE); }
public ActionResult UserAdd(SuncereUser model) { AjaxResult result; try { int[] roleIds = Request.Params["SuncereRoles"].Split(',').Select(o => int.Parse(o)).ToArray(); FluentModel db = Session.GetFluentModel(); SuncereUserRepository repository = new SuncereUserRepository(db); if (repository.IsExist(model.UserName)) { throw new Exception("用户名已存在。"); } model.Password = AsymmetricEncryption.Default.Encrypt(model.Password); model.Status = true; model.CreatorUserId = Session.GetCurrentUser().Id; SuncereRoleRepository roleRepository = new SuncereRoleRepository(db); foreach (int roleId in roleIds) { SuncereRole role = roleRepository.FirstOrDefault(roleId); role.SuncereUsers.Add(model); model.SuncereRoles.Add(role); } db.Add(model); db.SaveChanges(); result = AjaxResult.GetAddAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetAddAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
/// <summary> /// Imports data from JSON file /// </summary> /// <param name="path">gets a path of type string</param> public void ImportDbDataFromJson(string path) { var ctx = new FluentModel(); using (ctx) { var files = Directory.GetFiles(path); var teams = ctx.GetAll<TeamReportDto>().ToList(); foreach (var file in files) { var fileText = File.ReadAllText(file); var teamReport = JsonConvert.DeserializeObject<TeamReportDto>(fileText); var teamReportDb = ctx.TeamReports.FirstOrDefault(t => t.Name == teamReport.Name); if (teamReportDb != null) { teamReportDb.Name = teamReport.Name; teamReportDb.NumberOfPlayers = teamReport.NumberOfPlayers; teamReportDb.NumbersOfMatches = teamReport.NumbersOfMatches; teamReportDb.Coach = teamReport.Coach; teamReportDb.Owner = teamReport.Owner; } else { ctx.Add(teamReport); ctx.SaveChanges(); } } } }
public ActionResult PermissionDelete(string ids) { AjaxResult result; try { int[] idArray = ids.Split(',').Select(o => int.Parse(o)).ToArray(); FluentModel db = Session.GetFluentModel(); SuncerePermissionRepository repository = new SuncerePermissionRepository(db); IQueryable <SuncerePermission> query = repository.Query(idArray); foreach (SuncerePermission permission in query) { foreach (SuncereRole role in permission.SuncereRoles) { role.SuncerePermissions.Remove(permission); } permission.SuncereRoles.Clear(); } db.Delete(query); db.SaveChanges(); result = AjaxResult.GetDeleteAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetDeleteAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
public ActionResult RoleAdd(SuncereRole model) { AjaxResult result; try { int[] permissionIds = Request.Params["SuncerePermissions"].Split(',').Select(o => int.Parse(o)).ToArray(); FluentModel db = Session.GetFluentModel(); SuncereRoleRepository repository = new SuncereRoleRepository(db); SuncerePermissionRepository permissionRepository = new SuncerePermissionRepository(db); if (repository.IsExist(model.Name)) { throw new Exception("名称已存在。"); } model.Status = true; model.CreatorUserId = Session.GetCurrentUser().Id; foreach (int permissionId in permissionIds) { SuncerePermission permission = permissionRepository.FirstOrDefault(permissionId); model.SuncerePermissions.Add(permission); permission.SuncereRoles.Add(model); } db.Add(model); db.SaveChanges(); result = AjaxResult.GetAddAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetAddAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
private static void UpdateDatabase() { using (var context = new FluentModel()) { var schemaHandler = context.GetSchemaHandler(); EnsureDB(schemaHandler); } }
public ActionResult RoleAdd() { FluentModel db = Session.GetFluentModel(); List <SuncerePermission> permissionList = db.SuncerePermissions.Where(o => o.Status).ToList(); ViewData["SuncerePermissions"] = permissionList; return(View()); }
public ActionResult UserAdd() { FluentModel db = Session.GetFluentModel(); List <SuncereRole> list = db.SuncereRoles.Where(o => o.Status).ToList(); ViewData["SuncereRoles"] = list; return(View()); }
public ActionResult RoleEdit(int id) { FluentModel db = Session.GetFluentModel(); SuncereRoleRepository repository = new SuncereRoleRepository(db); List <SuncerePermission> permissionList = db.SuncerePermissions.Where(o => o.Status).ToList(); ViewData["SuncerePermissions"] = permissionList; return(View(repository.FirstOrDefault(id))); }
public ActionResult PermissionEdit(int id) { FluentModel db = Session.GetFluentModel(); SuncerePermissionRepository repository = new SuncerePermissionRepository(db); List <SuncerePermission> modules = db.SuncerePermissions.Where(o => o.Status && o.Type == (int)PermissionType.Module).ToList(); ViewData["SuncerePermissions"] = modules; return(View(repository.FirstOrDefault(id))); }
public ActionResult AuditLogList2(DateTime?startTime, DateTime?endTime, string keyword, int draw, int start, int length, Dictionary <string, string>[] order) { FluentModel db = Session.GetFluentModel(); SuncereAuditLogRepository repository = new SuncereAuditLogRepository(db); IQueryable <SuncereAuditLog> query = repository.Query(startTime, endTime, keyword); List <SuncereAuditLog> list = query.Skip(start).Take(length).ToList(); return(Json(new { draw = draw, recordsTotal = query.Count(), recordsFiltered = query.Count(), data = list.Select(o => new string[] { o.UserName, o.Url, o.Referrer, o.HostName, o.HostAddress, o.CreationTime.ToString("yyyy-MM-dd HH:mm") }) }, JsonRequestBehavior.AllowGet)); }
public static void CloseFluentModel(this HttpSessionStateBase session) { FluentModel db = session[FluentModel] as FluentModel; if (db != null) { db.Dispose(); session[FluentModel] = null; } }
public ActionResult AuditLogList(DateTime?startTime, DateTime?endTime, string keyword) { FluentModel db = Session.GetFluentModel(); SuncereAuditLogRepository repository = new SuncereAuditLogRepository(db); List <SuncereAuditLog> list = repository.Query(startTime, endTime, keyword).ToList(); ViewData["startTime"] = startTime; ViewData["endTime"] = endTime; ViewData["keyword"] = keyword; return(View(list)); }
public ActionResult Login2(string cipher, string returnUrl) { AjaxResult ar; try { string text = AsymmetricEncryption.Default.Decrypt(cipher); LoginInfo li = JsonConvert.DeserializeObject <LoginInfo>(text); if (string.IsNullOrEmpty(li.UserName)) { throw new Exception("请输入用户名"); } if (string.IsNullOrEmpty(li.Password)) { throw new Exception("请输入密码"); } FluentModel db = Session.GetFluentModel(); SuncereUserRepository userRepository = new SuncereUserRepository(db); SuncereUser user = userRepository.FirstOrDefault(li.UserName, true); if (user == null) { throw new Exception("用户名不存在或已停用,请核对后重新登录"); } if (AsymmetricEncryption.Default.Decrypt(user.Password) != li.Password) { throw new Exception("密码错误,请核对后重新登录"); } user.LastLoginTime = DateTime.Now; user.LastLoginHostAddress = Request.UserHostAddress; db.SaveChanges(); Session.SetCurrentUser(user); List <SuncerePermission> userPermissions = new List <SuncerePermission>(); foreach (SuncereRole role in user.SuncereRoles.Where(o => o.Status)) { foreach (SuncerePermission permission in role.SuncerePermissions.Where(o => o.Status)) { if (!userPermissions.Contains(permission)) { userPermissions.Add(permission); } } } Session.SetUserPermissions(userPermissions); ar = AjaxResult.GetLoginAjaxResult(true); } catch (Exception e) { ar = new AjaxResult(false, e.Message); } return(Json(ar, JsonRequestBehavior.DenyGet)); }
public static FluentModel GetFluentModel(this HttpSessionStateBase session) { FluentModel db = session[FluentModel] as FluentModel; if (db == null) { db = new FluentModel(); session[FluentModel] = db; } return(db); }
public ActionResult Login(string userName, string password, string returnUrl) { try { if (string.IsNullOrEmpty(userName)) { throw new Exception("请输入用户名"); } if (string.IsNullOrEmpty(password)) { throw new Exception("请输入密码"); } FluentModel db = Session.GetFluentModel(); SuncereUserRepository userRepository = new SuncereUserRepository(db); SuncereUser user = userRepository.FirstOrDefault(userName, true); if (user == null) { throw new Exception("用户名不存在或已停用,请核对后重新登录"); } if (AsymmetricEncryption.Default.Decrypt(user.Password) != password) { throw new Exception("密码错误,请核对后重新登录"); } user.LastLoginTime = DateTime.Now; user.LastLoginHostAddress = Request.UserHostAddress; db.SaveChanges(); Session.SetCurrentUser(user); List <SuncerePermission> userPermissions = new List <SuncerePermission>(); foreach (SuncereRole role in user.SuncereRoles.Where(o => o.Status)) { foreach (SuncerePermission permission in role.SuncerePermissions.Where(o => o.Status)) { if (!userPermissions.Contains(permission)) { userPermissions.Add(permission); } } } Session.SetUserPermissions(userPermissions); return(Redirect(returnUrl)); } catch (Exception e) { ViewData["message"] = e.Message; return(View()); } }
/// <summary> /// Gets reports for teams /// </summary> /// <returns>Returns a list of dto team reports containing id, name, coach, owner, NumberOfPlayers and NumberOfMatches</returns> public IList<DtoTeamReport> GetTeamReports() { var ctx = new FluentModel(); return ctx.TeamReports.Select(tr => new DtoTeamReport { Id = tr.Id, Name = tr.Name, Coach = tr.Coach, Owner = tr.Owner, NumberOfPlayers = tr.NumberOfPlayers, NumbersOfMatches = tr.NumbersOfMatches }).ToList(); }
// This method must be thread-safe since it is called by the thread-safe OnCacheAuthorization() method. protected virtual bool AuthorizeCore(HttpContextBase httpContext) { bool result; if (httpContext == null) { throw new ArgumentNullException("httpContext"); } HttpRequestBase request = httpContext.Request; if (IsDefault) { string[] texts = request.Path.Split('/'); Controller = texts[0]; Action = texts[1]; } FluentModel db = httpContext.Session.GetFluentModel(); db.Add(new SuncereAuditLog() { UserName = httpContext.Session.GetCurrentUser().UserName, Url = request.Url.PathAndQuery, Referrer = request.UrlReferrer == null ? string.Empty : request.UrlReferrer.PathAndQuery, HostName = request.UserHostName, HostAddress = request.UserHostAddress }); db.SaveChanges(); if (string.IsNullOrEmpty(Controller) || string.IsNullOrEmpty(Action)) { result = true; } else { List <SuncerePermission> userPermissions = httpContext.Session.GetUserPermissions(); if (userPermissions == null) { result = false; } else { result = userPermissions.Any(o => o.Controller == Controller && o.Action == Action); } } return(result); }
static void Main(string[] args) { UpdateDatabase(); using (var ctx = new FluentModel()) { var pesho = new Stefan() { Name = "stefannnn" }; ctx.Add(pesho); ctx.Delete(pesho); ctx.SaveChanges(); } Console.Write("Database update complete! Press any key to close."); Console.ReadKey(); }
public void ParseMemberAccessComparisonExpression() { var model = new FluentModel(true); // Named atributes var expressionString = ParseExpression <NamedFluentModel>(x => x.BooleanProperty == model.BooleanProperty); var expectedString = string.Format("{0} = True", NamedFluentModel.BOOLEAN_PROPERTY_NAME); Assert.AreEqual(expressionString, expectedString); expressionString = ParseExpression <NamedFluentModel>(x => x.DoubleProperty > model.DoubleProperty); expectedString = string.Format("{0} > {1}", NamedFluentModel.DOUBLE_PROPERTY_NAME, model.DoubleProperty); Assert.AreEqual(expressionString, expectedString); expressionString = ParseExpression <NamedFluentModel>(x => x.IntegerProperty < model.IntegerProperty); expectedString = string.Format("{0} < {1}", NamedFluentModel.INTEGER_PROPERTY_NAME, model.IntegerProperty); Assert.AreEqual(expressionString, expectedString); // Unnamed attributes expressionString = ParseExpression <FluentModel>(x => x.BooleanProperty == model.BooleanProperty); expectedString = string.Format("{0} = True", FluentModel.BOOLEAN_PROPERTY_NAME); Assert.AreEqual(expressionString, expectedString); expressionString = ParseExpression <FluentModel>(x => x.DoubleProperty > model.DoubleProperty); expectedString = string.Format("{0} > {1}", FluentModel.DOUBLE_PROPERTY_NAME, model.DoubleProperty); Assert.AreEqual(expressionString, expectedString); expressionString = ParseExpression <FluentModel>(x => x.IntegerProperty < model.IntegerProperty); expectedString = string.Format("{0} < {1}", FluentModel.INTEGER_PROPERTY_NAME, model.IntegerProperty); Assert.AreEqual(expressionString, expectedString); // Null comparison model.ObjectProperty = null; expressionString = ParseExpression <NamedFluentModel>(x => x.ObjectProperty == model.ObjectProperty); expectedString = string.Format("{0} = NULL", NamedFluentModel.OBJECT_PROPERTY_NAME); Assert.AreEqual(expressionString, expectedString); expressionString = ParseExpression <FluentModel>(x => x.ObjectProperty != model.ObjectProperty); expectedString = string.Format("{0} != NULL", FluentModel.OBJECT_PROPERTY_NAME); Assert.AreEqual(expressionString, expectedString); }
public ActionResult PermissionEnable(int id, bool status) { AjaxResult result; try { FluentModel db = Session.GetFluentModel(); SuncerePermissionRepository repository = new SuncerePermissionRepository(db); SuncerePermission role = repository.FirstOrDefault(id); role.Status = status; role.LastModifierUserId = Session.GetCurrentUser().Id; db.SaveChanges(); result = AjaxResult.GetEditAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetEditAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
public ActionResult AuditLogDelete(string ids) { AjaxResult result; try { int[] idArray = ids.Split(',').Select(o => int.Parse(o)).ToArray(); FluentModel db = Session.GetFluentModel(); SuncereAuditLogRepository repository = new SuncereAuditLogRepository(db); IQueryable <SuncereAuditLog> query = repository.Query(idArray); db.Delete(query); db.SaveChanges(); result = AjaxResult.GetDeleteAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetDeleteAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
public ActionResult UserEdit(int id, SuncereUser model) { AjaxResult result; try { int[] roleIds = Request.Params["SuncereRoles"].Split(',').Select(o => int.Parse(o)).ToArray(); FluentModel db = Session.GetFluentModel(); SuncereUserRepository repository = new SuncereUserRepository(db); SuncereRoleRepository roleRepository = new SuncereRoleRepository(db); SuncereUser user = repository.FirstOrDefault(id); if (!string.IsNullOrEmpty(model.Password)) { user.Password = AsymmetricEncryption.Default.Encrypt(model.Password); } user.EmailAddress = model.EmailAddress; user.PhoneNumber = model.PhoneNumber; foreach (SuncereRole role in user.SuncereRoles) { role.SuncereUsers.Remove(user); } user.SuncereRoles.Clear(); foreach (int roleId in roleIds) { SuncereRole role = roleRepository.FirstOrDefault(roleId); user.SuncereRoles.Add(role); role.SuncereUsers.Add(user); } user.Remark = model.Remark; user.LastModifierUserId = Session.GetCurrentUser().Id; db.SaveChanges(); result = AjaxResult.GetEditAjaxResult(true); } catch (Exception e) { result = AjaxResult.GetEditAjaxResult(false); } return(Json(result, JsonRequestBehavior.DenyGet)); }
public SuncereAuditLogRepository(FluentModel db) : base(db) { }
public Repository(FluentModel db) { _db = db; }
public SuncereRoleRepository(FluentModel db) : base(db) { }