public JsonResult getTimeReg(DataTablesParam param, DateTime dFrom, DateTime dTo, int customerId, int projectId) { //Init and calculate variables int pageNo = 1; string crit = ""; if (param.sSearch != null) { crit = param.sSearch.ToUpper(); } if (param.iDisplayStart >= param.iDisplayLength) { pageNo = (param.iDisplayStart / param.iDisplayLength) + 1; } pdsTidRedLiveEntities db = new pdsTidRedLiveEntities(); int userId = Convert.ToInt32(Session["userId"]); int totalRecords = 0; int totalDisplayRecords = 0; CTimeTrack ctt = new CTimeTrack(); List <CTimeTrack> listTT = ctt.getMyTimeTracks(param, userId, dFrom, dTo, customerId, projectId, ref totalRecords, ref totalDisplayRecords); return(Json(new { aaData = listTT, sEcho = param.sEcho, iTotalDisplayRecords = totalDisplayRecords, iTotalRecords = totalRecords }, JsonRequestBehavior.AllowGet)); }
public JsonResult updateTimeTrack(CTimeTrack model) { string message = ""; if (Session["userId"] == null) { message = "Ej inloggad"; } if (message == "") { int userId = Convert.ToInt32(Session["userId"]); CTimeTrack ct = new CTimeTrack(); pdsTidRedLiveEntities db = new pdsTidRedLiveEntities(); try { if (model.timeTrackRowID == 0) { ct.addTimeTrack(model, userId); } else { ct.editTimeTrack(model, userId); } } catch (Exception ex) { message = ex.Message; } } return(Json(message, JsonRequestBehavior.AllowGet)); }
public ActionResult GetProjectList(int CustomerId) { int userId = Convert.ToInt32(Session["userId"]); CTimeTrack ctc = new CTimeTrack(); SelectList projList = ctc.getMyCustProjects(userId, CustomerId); ViewBag.ProjList = projList; return(PartialView("GetProjectList")); }
public ActionResult AddEditTimeTrack2(int timeTrackRowID, int customerID, int projectID) { pdsTidRedLiveEntities db = new pdsTidRedLiveEntities(); int userId = Convert.ToInt32(Session["userId"]); SelectList custList = null; SelectList projList = null; SelectList subProjList = null; CTimeTrack model = new CTimeTrack(); CSubproject2 cs2 = new CSubproject2(); if (timeTrackRowID == 0) { model.timeTrackRowID = timeTrackRowID; model.tDate = System.DateTime.Today; model.customerID = customerID; //model.projectId = projectID; CTimeTrack ct = new CTimeTrack(); custList = ct.getMyCustomers(userId); //projList = ctc.getMyCustProjects(userId, customerID); //subProjList = cs2.getSubProjects(0); } else { timeTrackRow ttr = db.timeTrackRow.FirstOrDefault(x => x.timeTrackRowID == timeTrackRowID); if (ttr != null) { model.timeTrackHeadID = ttr.timeTrackHeadID; model.customerID = ttr.timeTrackHead.customerID; model.tDate = ttr.timeTrackHead.tDate; model.userId = ttr.timeTrackHead.userId; model.timeTrackRowID = ttr.timeTrackRowID; model.subProjectID = ttr.subProjectID; model.hours = ttr.hours; model.regDate = ttr.regDate; model.note = ttr.note; model.projectId = ttr.subProject2.projectID; model.projectName = ttr.subProject2.project.projectName; model.customerName = ttr.timeTrackHead.customer.custName; model.timeTrackHeadID = ttr.timeTrackHeadID; } // First get the timeTrackHead /* custList = ctc.getMyCustomers(0, model.customerID); * projList = ctc.getMyCustProjects(userId, ttr.timeTrackHead.customerID); */ } ViewBag.custList = custList; ViewBag.projList = projList; subProjList = cs2.getSubProjects(model.projectId); ViewBag.subProjList = subProjList; return(PartialView("AddEditTimeTrack", model)); }
public JsonResult sumHours(DateTime dFrom, DateTime dTo, int customerId, int projectId) { int userId = Convert.ToInt32(Session["userId"]); Decimal sumBefore = 0; Decimal sumInPeriod = 0; Decimal sumAfter = 0; CTimeTrack ctt = new CTimeTrack(); ctt.sumHours(dFrom, dTo, userId, customerId, projectId, ref sumBefore, ref sumInPeriod, ref sumAfter); return(Json(new { sumBefore, sumInPeriod, sumAfter }, JsonRequestBehavior.AllowGet)); }
// GET: TimeReg /// <summary> /// Index view /// </summary> /// <returns></returns> public ActionResult Index() { CDateParameters ct = new CDateParameters(); pdsTidRedLiveEntities db = new pdsTidRedLiveEntities(); DateTime today = DateTime.Today.AddDays(-1); DateTime dtStartDate = today.AddDays(DayOfWeek.Monday - today.DayOfWeek); ct.dFrom = dtStartDate; ct.dTo = dtStartDate.AddDays(6); int userId = Convert.ToInt32(Session["userId"]); CTimeTrack ctc = new CTimeTrack(); ViewBag.myCustomers = ctc.getMyCustomers(userId); return(View(ct)); }
public JsonResult deleteTimeTrack(int timeTrackRowId) { string message = ""; try { CTimeTrack ct = new CTimeTrack(); ct.deleteTimeTrack(timeTrackRowId); } catch (Exception ex) { message = ex.Message; } return(Json(new { message }, JsonRequestBehavior.AllowGet)); }
public ActionResult AddEditTimeTrack(int timeTrackRowID, int customerID, int projectID) { pdsTidRedLiveEntities db = new pdsTidRedLiveEntities(); CTimeTrack model = new CTimeTrack(); int userId = Convert.ToInt32(Session["userId"]); if (timeTrackRowID == 0) { model.timeTrackRowID = 0; model.userId = userId; model.customerID = customerID; model.projectId = projectID; model.tDate = System.DateTime.Today; CTimeTrack ct = new CTimeTrack(); ViewBag.custList = ct.getMyCustomers(userId); ViewBag.projList = ct.getMyCustProjects(userId, customerID); CSubproject2 cs2 = new CSubproject2(); ViewBag.subProjList = cs2.getSubProjects(projectID); return(PartialView("AddTimeTrack", model)); } else { timeTrackRow ttr = db.timeTrackRow.FirstOrDefault(x => x.timeTrackRowID == timeTrackRowID); if (ttr != null) { model.tDate = ttr.timeTrackHead.tDate; model.subProjectID = ttr.subProjectID; model.hours = ttr.hours; model.note = ttr.note; model.projectName = ttr.subProject2.project.projectName; model.customerName = ttr.timeTrackHead.customer.custName; model.tDateStr = ttr.timeTrackHead.tDate.ToShortDateString(); model.timeTrackHeadID = ttr.timeTrackHeadID; model.customerID = ttr.timeTrackHead.customerID; CSubproject2 cs2 = new CSubproject2(); ViewBag.subProjList = cs2.getSubProjects(ttr.subProject2.projectID); } } return(PartialView("EditTimeTrack", model)); }
public JsonResult updateTimeTrack3(CTimeTrack model) { string message = ""; // 2018-04-03 KJBO int userId = Convert.ToInt32(Session["userId"]); CTimeTrack ct = new CTimeTrack(); pdsTidRedLiveEntities db = new pdsTidRedLiveEntities(); try { if (model.timeTrackRowID == 0) { ct.addTimeTrack(model, userId); /* timeTrackHead th = db.timeTrackHead.FirstOrDefault(x => x.customerID == model.customerID * && x.userId == userId && x.tDate == model.tDate); * if (th == null) * { * int ttHeadId = db.timeTrackHead.Max(x => x.timeTrackHeadID); * ttHeadId++; * th = new timeTrackHead(); * th.timeTrackHeadID = ttHeadId; * th.customerID = model.customerID; * th.userId = userId; * th.tDate = model.tDate; * db.timeTrackHead.Add(th); * db.SaveChanges(); * } * model.timeTrackHeadID = th.timeTrackHeadID; * int ttRowId = db.timeTrackRow.Max(x => x.timeTrackRowID); * ttRowId++; * timeTrackRow tr = new timeTrackRow(); * tr.timeTrackHeadID = model.timeTrackHeadID; * tr.timeTrackRowID = ttRowId; * tr.hours = model.hours; * tr.note = model.note; * tr.regDate = System.DateTime.Now; * tr.subProjectID = model.subProjectID; * db.timeTrackRow.Add(tr); * db.SaveChanges(); */ } else { ct.editTimeTrack(model, userId); /* * // First get the timeTrackHead to check if the date is the same as before * timeTrackHead th = db.timeTrackHead.FirstOrDefault(x => x.timeTrackHeadID == model.timeTrackHeadID); * if (th.tDate != model.tDate) * { * int customerId = th.customerID; * int ttHeadId = db.timeTrackHead.Max(x => x.timeTrackHeadID); * ttHeadId++; * th = new timeTrackHead(); * th.timeTrackHeadID = ttHeadId; * th.customerID = customerId; * th.userId = userId; * th.tDate = model.tDate; * db.timeTrackHead.Add(th); * db.SaveChanges(); * model.timeTrackHeadID = th.timeTrackHeadID; * * // Here we have work to do. First check if there are other timeTracks that uses the same timeTrackRow * int cntTTh = db.timeTrackRow.Where(x => x.timeTrackHeadID == model.timeTrackHeadID).Count(); * if (cntTTh == 1) * { * // In this case, only the current row points to this head and we can easily change the date without any problems * th.tDate = model.tDate; * db.SaveChanges(); * } * else * { * // Check if there exists one timeTrackHead with the same values and in that case use that * th = db.timeTrackHead.FirstOrDefault(x => x.customerID == model.customerID * && x.userId == userId && x.tDate == model.tDate); * if (th != null) * model.timeTrackHeadID = th.timeTrackHeadID; * else * { * int ttHeadId = db.timeTrackHead.Max(x => x.timeTrackHeadID); * ttHeadId++; * th = new timeTrackHead(); * th.timeTrackHeadID = ttHeadId; * th.customerID = model.customerID; * th.userId = userId; * th.tDate = model.tDate; * db.timeTrackHead.Add(th); * db.SaveChanges(); * model.timeTrackHeadID = th.timeTrackHeadID; * } * * } * * } * timeTrackRow tr = db.timeTrackRow.FirstOrDefault(x => x.timeTrackRowID == model.timeTrackRowID); * tr.timeTrackHeadID = model.timeTrackHeadID; * tr.subProjectID = model.subProjectID; * tr.hours = model.hours; * tr.note = model.note; * db.SaveChanges(); * * } * * subProject2 p = null; * if (model.subProjectID == 0) * { * p = new subProject2(); * p.projectID = model.projectID; * } * else * p = db.subProject2.SingleOrDefault(x => x.subProjectID == model.subProjectID); * p.subProjectName = model.subProjectName; * if (model.subProjectID == 0) * db.subProject2.Add(p); * db.SaveChanges(); */ } } catch (Exception ex) { message = ex.Message; } return(Json(message, JsonRequestBehavior.AllowGet)); }