public ActionResult Edit([Bind(Include = "Id,LogInTime,LogOutTime")] LogDataInfoViewModel logInfo)
 {
     if (ModelState.IsValid)
     {
         LogDataInfo updatedInfo = db.LogDataInfos.Where(c => c.Id == logInfo.Id).FirstOrDefault();
         updatedInfo.LogTime         = logInfo.LogInTime;
         updatedInfo.LogOutTime      = logInfo.LogOutTime;
         updatedInfo.UpdatedDate     = DateTime.Now;
         updatedInfo.UpdatedBy       = User.Identity.GetUserName();
         db.Entry(updatedInfo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(logInfo));
 }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LogDataInfo          logInfo      = db.LogDataInfos.Where(c => c.Id == id).Include("UserInfo.Department").Include("UserInfo.CommunityCenter").Include("UserInfo").FirstOrDefault();
            LogDataInfoViewModel LogViewModel = logInfo;

            if (logInfo == null)
            {
                return(HttpNotFound());
            }
            return(View(LogViewModel));
        }
Ejemplo n.º 3
0
        private void SaveLog()
        {
            ApplicationDbContext db = new ApplicationDbContext();
            var results             =
                from l in logs
                group l by new { l.EnrollNum, l.LogDate } into g
                select new { Num = g.Key.EnrollNum, Date = g.Key.LogDate, Times = g.OrderBy(c => c.LogTime).ToList() };
            List <LogDataInfo> lastLogs = new List <LogDataInfo>();
            LogDataInfo        log      = new LogDataInfo();

            foreach (var r in results)
            {
                for (int i = 0; i <= r.Times.Count - 1;)
                {
                    log           = new LogDataInfo();
                    log.EnrollNum = r.Num;
                    log.LogDate   = r.Date;
                    log.LogTime   = r.Times[i].LogTime;
                    if (i + 1 < r.Times.Count)
                    {
                        log.LogOutTime = r.Times[i + 1].LogTime;
                        i += 2;
                    }
                    else
                    {
                        log.LogOutTime = TimeSpan.Zero;
                        i++;
                    }
                    log.CreatedBy = "admin";
                    //المارتيني
                    log.CommunityCenterId = 1;
                    var user = db.UserInfos.Where(c => c.EnrollNumber == log.EnrollNum).FirstOrDefault();
                    if (user != null)
                    {
                        log.UserInfoId = user.Id;
                        db.LogDataInfos.Add(log);
                        db.SaveChanges();
                        lastLogs.Add(log);
                    }
                }
            }
            lastLogs           = lastLogs.OrderBy(c => c.EnrollNum).OrderBy(c => c.LogDate).ToList();
            DGVLogs.DataSource = lastLogs;
        }
Ejemplo n.º 4
0
        /// <summary>
        ///Get All Log Data For All User
        /// </summary>
        /// <param name="machineNumber"></param>
        /// <returns></returns>
        public static ICollection <LogDataInfo> GetAllLogInfo(int machineNumber, int centerId, DateTime fromDate, DateTime toDate)
        {
            DeviceCzkem.ReadAllGLogData(machineNumber);
            ICollection <LogDataInfo> LogInfoList = new List <LogDataInfo>();
            string num;
            int    vmode;
            int    outMode;
            int    year;
            int    month;
            int    day;
            int    Hour, Min, Second;
            int    workCode = 0;

            while (DeviceCzkem.SSR_GetGeneralLogData(machineNumber, out num, out vmode, out outMode,
                                                     out year, out month, out day, out Hour, out Min, out Second, ref workCode))
            {
                var date = new DateTime(year, month, day);
                if (date >= fromDate && date <= toDate)
                {
                    LogDataInfo log = new LogDataInfo()
                    {
                        EnrollNum         = num,
                        LogDate           = new DateTime(year, month, day),
                        LogTime           = new TimeSpan(Hour, Min, Second),
                        CommunityCenterId = centerId
                    };
                    LogInfoList.Add(log);
                }
            }
            LogInfoList = LogInfoList.OrderBy(c => c.EnrollNum).ThenBy(c => c.LogDate).ThenBy(c => c.LogTime).ToList();

            var result =
                from l in LogInfoList
                group l by new { l.EnrollNum, l.LogDate } into g
                select new { Num = g.Key.EnrollNum, Date = g.Key.LogDate, Times = g.ToList() };

            foreach (var r in result)
            {
            }
            return(LogInfoList);
        }