Example #1
0
        //
        // GET: /Account/

        public ActionResult LogIn()
        {
            if (Request.IsAuthenticated)
            {
                //var context = DbHelper.getInstance().createDbContext();

                //var employees = context.GetTable<Employee>();
                var db    = new ARSEntitis();
                var query = from e in db.Employees
                            where e.username == User.Identity.Name
                            select e;

                Session["user"] = query.Single();

                return(RedirectToAction("Index", "AttendanceRecord"));
            }



            //.Departments.Add(dep);
            //db.SaveChanges();


            return(View());
        }
Example #2
0
        public ActionResult Signout()
        {
            //未登录用户,不允许签退
            if (Session["user"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var db = new ARSEntitis();

            //var context = DbHelper.getInstance().createDbContext();

            //var attendanceRecords = context.GetTable<AttendanceRecord>();
            var todayDate = DateTime.Now.Date;
            var nextDate  = todayDate.AddDays(1).Date;
            var id        = ((Employee)Session["user"]).id.Value;
            //没有签到记录,不允许签退
            var query = from ar in db.AttendanceRecords
                        where ar.user_id == id &&
                        ar.sign_time > todayDate &&
                        ar.sign_time < nextDate &&
                        ar.type == 1
                        select ar;

            if (query.Count() == 0)
            {
                TempData["SignOutSuccess"] = false;
                TempData["ErrorInfo"]      = "还未签到!";
            }
            else
            {
                TimeSpan ts = DateTime.Now - query.Single().sign_time;
                if (ts.TotalMinutes < 30)
                {
                    TempData["SignOutSuccess"] = false;
                    TempData["ErrorInfo"]      = "签到还未满30分钟!";
                }
                else
                {
                    TempData["SignOutSuccess"] = true;
                    var signoutRecord = new AttendanceRecord()
                    {
                        user_id = ((Employee)Session["user"]).id.Value, type = 2, sign_time = DateTime.Now
                    };

                    db.AttendanceRecords.Add(signoutRecord);
                    db.SaveChanges();
                }
            }

            return(RedirectToAction("Index"));
        }
Example #3
0
        //
        // GET: /AttendanceRecord/

        public ActionResult Index()
        {
            Employee user = (Employee)Session["user"];

            ViewBag.truename = user.truename;

            var db = new ARSEntitis();

            //var attendanceRecords = DbHelper.getInstance().getDB().AttendanceRecords;



            //查找当天的签到记录
            var todayDate = DateTime.Now.Date;
            var nextDate  = todayDate.AddDays(1).Date;
            var query2    = from ar2 in db.AttendanceRecords
                            where ar2.user_id == user.id.Value &&
                            ar2.sign_time > todayDate &&
                            ar2.sign_time < nextDate &&
                            ar2.type == 1
                            select ar2;

            ViewBag.isSignIn = (query2.Count() > 0);

            //查找当天的签退记录
            var query3 = from ar3 in db.AttendanceRecords
                         where ar3.user_id == user.id.Value &&
                         ar3.sign_time > todayDate &&
                         ar3.sign_time < nextDate &&
                         ar3.type == 2
                         select ar3;

            ViewBag.isSignOut = (query3.Count() > 0);



            var query = from ar in db.AttendanceRecords
                        where ar.user_id == user.id.Value
                        orderby ar.sign_time descending
                        select ar;

            return(View(query.ToList()));
        }
Example #4
0
        public ActionResult SignIn()
        {
            //未登录用户,不允许签到
            if (Session["user"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }


            var db = new ARSEntitis();

            var todayDate = DateTime.Now.Date;
            var nextDate  = todayDate.AddDays(1).Date;

            var id = ((Employee)Session["user"]).id.Value;
            //已存在签到记录,不允许签到
            var query = from ar in db.AttendanceRecords
                        where ar.user_id == id &&
                        ar.sign_time > todayDate &&
                        ar.sign_time < nextDate &&
                        ar.type == 1
                        select ar;

            if (query.Count() > 0)
            {
                TempData["SignInSuccess"] = false;
                TempData["ErrorInfo"]     = "今日已经签到!";
            }
            else
            {
                TempData["SignInSuccess"] = true;
                var signinRecord = new AttendanceRecord()
                {
                    user_id = ((Employee)Session["user"]).id.Value, type = 1, sign_time = DateTime.Now
                };

                db.AttendanceRecords.Add(signinRecord);
                db.SaveChanges();
                //context.SubmitChanges();
            }

            return(RedirectToAction("Index"));
        }
Example #5
0
        public ActionResult LogIn(string username, string encryptPassword, bool rememberMe)
        {
            //string connectionString = "server=localhost;port=3306;database=ars;uid=root;";

            //using (MySqlConnection connection = new MySqlConnection(connectionString))
            //{
            //    // Create database if not exists
            //    using (ARSEntitis contextDB = new ARSEntitis(connection, false))
            //    {
            //        contextDB.Database.CreateIfNotExists();
            //    }

            //    connection.Open();
            //    MySqlTransaction transaction = connection.BeginTransaction();

            //    try
            //    {
            //        // DbConnection that is already opened
            //        using (ARSEntitis context = new ARSEntitis(connection, false))
            //        {

            //            // Interception/SQL logging
            //            context.Database.Log = (string message) => { Console.WriteLine(message); };

            //            // Passing an existing transaction to the context
            //            context.Database.UseTransaction(transaction);

            //            // DbSet.AddRange
            //            //List<Employee> Employees = new List<Employee>();

            //            //Employees.Add(new Employee { Manufacturer = "Nissan", Model = "370Z", Year = 2012 });
            //            //Employees.Add(new Employee { Manufacturer = "Ford", Model = "Mustang", Year = 2013 });
            //            //Employees.Add(new Employee { Manufacturer = "Chevrolet", Model = "Camaro", Year = 2012 });
            //            //Employees.Add(new Employee { Manufacturer = "Dodge", Model = "Charger", Year = 2013 });
            //            Employee em = new Employee {  username = username, password = encryptPassword, truename = "sdd" };

            //            context.Employees.Add(em);

            //            context.SaveChanges();
            //        }

            //        transaction.Commit();
            //    }
            //    catch
            //    {
            //        transaction.Rollback();
            //        throw;
            //    }
            //}


            string ip;

            if (this.HttpContext.Request.ServerVariables["HTTP_VIA"] != null)
            {
                ip = this.HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                ip = this.HttpContext.Request.ServerVariables["REMOTE_ADDR"].ToString();
            }


            var db = new ARSEntitis();
            //var employees = ;

            var query = from e in db.Employees
                        where e.username == username &&
                        e.password == encryptPassword
                        select e;

            if (query.Count() > 0)
            {
                var user = query.Single();
                FormsAuthentication.SetAuthCookie(user.username, true);

                Session["user"] = query.Single();
                //TempData["user"] = query.Single();
                return(RedirectToAction("Index", "AttendanceRecord"));
            }

            return(View());
        }