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)); }
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; }
/// <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); }