Skip to content
Loading
Calculate the working hours of an employee while format is in 12 Hours  
  • class="col-md-3">  
  •   
  • @*"datetime-local" id="CheckOut" name="CheckOut">*@  
  • class="input-group date form_datetime2" data-date="" data-date-format="mm/dd/yyyy HH:ii p" data-link-field="dtp_input3" data-link-format="mm/dd/yyyy HH:ii ">  
  • @Html.TextBoxFor(model => model.CheckOut, new { @class = "form-control", autocomplete = "off" })  
  • class="input-group-addon">class="glyphicon glyphicon-remove">  
  • class="input-group-addon">class="glyphicon glyphicon-time">  
  •   
  • "hidden" id="dtp_input3" value="" />  
  •   
  • class="row">  
  • class="col-md-12">  
  • "button" id="save" class="btn btn-primary" value="Mark Attendance" />  
  • @Html.ActionLink("My Attendance""Index""Attendance")  
  •   
  •   
  •   
  • And Here's my Controller Code
    1. [HttpPost]  
    2. public JsonResult Create(Attendance attendance)  
    3. {  
    4. // if (attendance.Date == todayDate) return BadRequest("Too late or too early");  
    5. // var hasAttendance = db.Attendance.Any(i => i.Emp_Id = attendance.Emp_Id && i.Date == todayDate);  
    6. //DateTime tempDate = Convert.ToDateTime(attendance.Date);  
    7. if (ModelState.IsValid)  
    8. {  
    9. try  
    10. {  
    11. attendance.CheckIn = Convert.ToDateTime(attendance.CheckIn.ToString("yyyy-MM-dd HH:mm:ss"));  
    12. attendance.CheckOut = Convert.ToDateTime(attendance.CheckOut.Value.ToString("yyyy-MM-dd HH:mm:ss"));  
    13. attendance.Date = DateTime.Now;  
    14. var attdate = attendance.Date;  
    15. var nextdate = attdate.AddDays(1);  
    16. var id = Convert.ToInt32(Session["UserID"]);  
    17. var isExist = db.Attendance.FirstOrDefault(i => i.Emp_Id == id && i.Date == attdate && i.Date < nextdate);  
    18. if (isExist != null)  
    19. {  
    20. //return Content("alert('Your Attendance is Already Marked');");  
    21. //ViewBag.isExist = false;  
    22. //TempData["Msg"] = ("Your Attendance is Already Marked");  
    23. var kMessage = "Your Attendance is Already Marked";  
    24. //return RedirectToAction("Index", "Attendance", new { message = kMessage });  
    25. return Json(new { isError = false, message = kMessage });  
    26. }  
    27. else  
    28. {  
    29. //attendance.Emp_Id = id;  
    30. //var res = tempDate.Date;  
    31. db.Attendance.Add(attendance);  
    32. db.SaveChanges();  
    33. ViewBag.kMessage = "";  
    34. }  
    35. }  
    36. catch (Exception ex)  
    37. {  
    38. Console.WriteLine(ex.InnerException.Message);  
    39. }  
    40. }  
    41. return Json(new {isError=false,message="YAAAAAAAAAAAAY" });  
    42. //return RedirectToAction("Index", "Attendance");  
    43. }

    1 Reply

    Know the answer? Post it — somebody with the same question will find it here.