//public ChartViewModel GetChartForUsers (DateTime beg, DateTime end) //{ // var data = db.Definitions.Where(def => def.Insert_date >= beg && def.Insert_date <= end) // .Select(def => new StatsViewModel(){ User = def.User, Definition = def }).ToList(); // var info = db.Users.Select(user => new UserTableViewModel{ FullName = user.First_name + " " + user.Last_name, // Email = user.Email, Count = user.Definitions.Count // //(def=>def.Insert_date>=dates[0]&&def.Insert_date<=dates[1]) // }) // .OrderByDescending(user=>user.Count).ToList(); // return new ChartViewModel(beg, end, data); //} //public ChartViewModel GetChartForUsers() //{ // var data = db.Definitions // .Select(def => new StatsViewModel() { User = def.User, Definition = def }).ToList(); // return new ChartViewModel(data); //} //public object GetUsersStatistics() //{ // var def = db.Users.Select(user => new { UserID = user.ID, // UserName = user.First_name + " " + user.Last_name, Count = user.Definitions.Count }).ToList(); // return def; //} public async Task <List <UserTableViewModel> > GetUsersStatistics(DateTime beg, DateTime end) { using (DEDatabaseEntities db = new DEDatabaseEntities()) { //var list = await db.Users.ToArrayAsync(); // var info = list.Select(user => new UserTableViewModel // { // FullName = user.First_name + " " + user.Last_name, // Email = user.Email, // Count = user.Definitions.Where(def => def.Insert_date >= beg && def.Insert_date <= end).Count() // //(def=>def.Insert_date>=dates[0]&&def.Insert_date<=dates[1]) // }) // .Where(usertable => usertable.Count > 0) // .OrderByDescending(user => user.Count).ToList(); var experiment = (from table in (from user in db.Users select new UserTableViewModel { FullName = user.First_name + " " + user.Last_name, Email = user.Email, Count = (from def in user.Definitions where def.Insert_date >= beg && def.Insert_date <= end select def).Count() }) where table.Count > 0 orderby table.Count descending select table).ToList(); return(experiment); } //var info = db.Definitions.Where(def => def.Insert_date >= beg && def.Insert_date <= end) // .GroupBy(def =>def.User_ID).Select(group=>new UserTableViewModel { FullName = group.Key.}) }
public ActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { // поиск пользователя в бд User user = null; using (DEDatabaseEntities db = new DEDatabaseEntities()) { string passHash = GetHash(model.Password); user = db.Users.FirstOrDefault(u => u.Email == model.Email && u.Password_hash == passHash); } if (user != null) { ViewBag.ShowModal = null; FormsAuthentication.SetAuthCookie(model.Email, true); return(Redirect(Request.UrlReferrer.ToString())); //return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", "Пользователя с таким логином и паролем нет"); } } return(View(model)); }
//DEDatabaseEntities db = new DEDatabaseEntities(); public List <Definition> GetDefinitions(DateTime beg, DateTime end, int relID, int relDescID) { List <Definition> def; using (DEDatabaseEntities db = new DEDatabaseEntities()) { def = db.Definitions .Where (definition => definition.Insert_date >= beg && definition.Insert_date <= end && (definition.Descriptor.Relations.Where(r => r.Descriptor1.ID == relDescID).Select(r => r.Relation_types).Where(r => r.ID == relID).Count() > 0 || definition.Descriptor.Relations1.Where(r => r.Descriptor.ID == relDescID).Select(r => r.Relation_types).Where(r => r.ID == relID).Count() > 0) ) .ToList(); return(def); } }
public ActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { User user = null; using (DEDatabaseEntities db = new DEDatabaseEntities()) { user = db.Users.FirstOrDefault(u => u.Email == model.Email); } if (user == null) { // создаем нового пользователя using (DEDatabaseEntities db = new DEDatabaseEntities()) { db.Users.Add(new User { Email = model.Email, First_name = model.FirstName, Last_name = model.LastName, Password_hash = GetHash(model.Password), registration_date = DateTime.Now }); db.SaveChanges(); string passHash = GetHash(model.Password); user = db.Users.Where(u => u.Email == model.Email && u.Password_hash == passHash).FirstOrDefault(); } // если пользователь удачно добавлен в бд if (user != null) { FormsAuthentication.SetAuthCookie(model.Email, true); return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "Пользователь с таким логином уже существует"); } } return(View(model)); }