public TaskOversiktViewModel(int userId, int week, int year) { Dictionary<String, Dictionary<int, double>> tmp = new Dictionary<string, Dictionary<int, double>>(); _repo = new TimeforingRepository(); User = _repo.GetUser(userId); Dates = Util.GenerateDates(week, year); GenerateTasks(week, year); foreach (var date in Dates) { if (!tmp.ContainsKey(date.ToString("ddMMyyyy"))) tmp.Add(date.ToString("ddMMyyyy"), new Dictionary<int, double>()); var timeføringer = from t in User.HourRegs where t.Date == date select t; foreach (var timeføring in timeføringer) { if (!tmp[date.ToString("ddMMyyyy")].ContainsKey(timeføring.Task.TaskID)) tmp[date.ToString("ddMMyyyy")][timeføring.Task.TaskID] = timeføring.TimeSpent; else tmp[date.ToString("ddMMyyyy")][timeføring.Task.TaskID] += timeføring.TimeSpent; } } Timer = tmp; }
// // GET: /Report/Oversikt public ActionResult TimeOversikt() { TimeforingRepository repo = new TimeforingRepository (); ViewData["Users"] = SelectListMaker.Users(); ViewData["Weeks"] = Util.GenerateWeekDropdown(DateTime.Today); return View(); }
public BurndownReportViewModel(int sprintId) { TimeforingRepository repo = new TimeforingRepository(); Sprint = repo.GetSprint(sprintId); GenerateDates(); var org = from t in Sprint.Tasks select t.OrgEstimate; OrgTimer = (double)org.Sum(); Timer = new List<double>(); foreach (var date in Dates ) { var hourRegs = from h in Sprint.HourRegs where h.Date.Equals(date) select h; var startedTasksIDs = hourRegs.Select(p => p.TaskID); var nonStartedTasks = from t in Sprint.Tasks where !startedTasksIDs.Contains(t.TaskID) select t; var timerIgjen = from t in hourRegs select t.TimeLeft; if (timerIgjen.Count() != 0) { double timerHourRegs = timerIgjen.Sum(); double unstartedTimer = nonStartedTasks.Sum(p => p.TimeLeft ?? 0); Timer.Add(timerHourRegs + unstartedTimer); } else { Timer.Add(0); } } }
public IndexViewModel() { TimeforingRepository repo = new TimeforingRepository(); var ctx = System.Web.HttpContext.Current; var c = ctx.Request.Cookies["TimeRegUser"]; if (c != null) { int userId; if (int.TryParse(c.Value, out userId)) { User last = repo.GetUser(int.Parse(c.Value)); Users = SelectListMaker.UsersWithSelected(last); } else { Users = SelectListMaker.Users(); } } else { Users = SelectListMaker.Users(); } Weeks = Util.GenerateWeekDropdown(DateTime.Today); }
public TimeOversiktViewModel(int userId, int weekNum, int year) { Dictionary<String, Dictionary<String, double>> tmp = new Dictionary<string, Dictionary<String, double>>(); _repo = new TimeforingRepository(); User = _repo.GetUser(userId); Week = weekNum.ToString(); Dates = Util.GenerateDates(weekNum, year); GenerateTasks(weekNum, year); foreach (var date in Dates) { if (!tmp.ContainsKey(date.ToString("ddMMyyyy"))) tmp.Add(date.ToString("ddMMyyyy"), new Dictionary<String, double>()); var timeføringer = User.HourRegs.Where(t => t.Date == date); foreach (var timeføring in timeføringer) { if (!tmp[date.ToString("ddMMyyyy")].ContainsKey(timeføring.Task.Code.GetProjectAndCodenumber())) tmp[date.ToString("ddMMyyyy")][timeføring.Task.Code.GetProjectAndCodenumber()] = timeføring.TimeSpent; else tmp[date.ToString("ddMMyyyy")][timeføring.Task.Code.GetProjectAndCodenumber()] += timeføring.TimeSpent; } } Timer = tmp; }
public TaskFormViewModel(Task task , Sprint sprint , User user, Code code, Story story) { TimeforingRepository repo = new TimeforingRepository(); Task = task; Sprint = SelectListMaker.SprintsWithSelected(Task); User = SelectListMaker.UsersWithSelected(Task); Code = SelectListMaker.CodesWithSelected(Task); Story = SelectListMaker.StoriesWithSelected(Task); }
public TaskIndexViewModel(bool showAll) { TimeforingRepository repo = new TimeforingRepository(); if (showAll) Stories = (repo.FindAllStories() .Where(s => s.Tasks.Count > 0)) .OrderBy( s => s.Name ) .ToList(); else Stories = (repo.FindAllStories() .Where(s => s.Tasks.Count > 0)) .Where( s => s.Tasks.Select(t=>t.TimeLeft ).Sum() > 0) .OrderBy(s => s.Name) .ToList(); ShowDoneTasks = showAll; }
public ActionResult Index(int user,string command, FormCollection collection) { TimeRegViewModel model; DateTime selectedDate = DateTime.Parse(collection["Date"]); int week = Util.WeekInYear(selectedDate); TimeforingRepository repo = new TimeforingRepository(); //string command = collection["command"]; bool showDoneTasks = collection["ShowDoneTasks"].Contains("true"); if (command == "update" ) { model = new TimeRegViewModel(user, week, selectedDate, "Oppdatert",showDoneTasks ); return View(model); } else //save { Task currTask; string[] timerBrukt = collection.GetValues("TimerBrukt"); string[] timerIgjen = collection.GetValues("TimerIgjen"); string[] taskIds = collection.GetValues("TaskId"); //var userDateRegs = repo.GetHourRegsForUserDateSprint (user,d,sprint ); var userDateRegs = repo.GetHourRegs().Where(r => r.User.UserID == user && r.Date == selectedDate).Select(r => r); if (userDateRegs.Count() > 0) // skal oppdatere { for (int i = 0; i < taskIds.Count(); i++) { int taskId = int.Parse(taskIds[i]); var currHourReg = from h in userDateRegs where h.TaskID == taskId select h; currTask = repo.GetTask(taskId); HourReg hourReg; if (currHourReg.Count() > 0) { //update hourReg = currHourReg.ToList().ElementAt(0); } else { // new hourReg = new HourReg(); } hourReg.Date = selectedDate; hourReg.SprintID = (int)currTask.SprintID; hourReg.TaskID = currTask.TaskID; hourReg.TimeLeft = Double.Parse(timerIgjen[i]); hourReg.TimeSpent = Double.Parse(timerBrukt[i]); hourReg.UserID = user; currTask.TimeLeft = Double.Parse(timerIgjen[i]); if (currHourReg.Count() == 0) //new repo.AddHourReg(hourReg); } } else { for (int i = 0; i < taskIds.Count(); i++) { int taskId = int.Parse(taskIds[i]); currTask = repo.GetTask(taskId); HourReg h = new HourReg(); h.Date = selectedDate; h.SprintID = (int)currTask.SprintID; h.TaskID = currTask.TaskID; h.TimeLeft = Double.Parse(timerIgjen[i]); h.TimeSpent = Double.Parse(timerBrukt[i]); h.UserID = user; currTask.TimeLeft = Double.Parse(timerIgjen[i]); repo.AddHourReg(h); } } repo.Save(); } model = new TimeRegViewModel(user, week, selectedDate, "Lagret",showDoneTasks ); return View(model); }
// //Get /Report/Burndown public ActionResult Burndown() { TimeforingRepository repo = new TimeforingRepository(); ViewData["Sprints"] = SelectListMaker.Sprints(); return View(); }
public CodeFormViewModel(Code code) { TimeforingRepository repo = new TimeforingRepository (); Code = code; ProjectCodes = SelectListMaker.Projects(); }
private void InitClass(int user, int week, DateTime date, string mess,bool showDoneTasks) { _repo = new TimeforingRepository(); User = _repo.GetUser(user); Week = week.ToString(); ShowDoneTasks = showDoneTasks; GenerateDatesInWeek(week, date); SetupTasks(user); FindHoursSpent(date); Message = mess; }