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;
        }
Beispiel #2
0
 //
 // 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);
                }
            }
        }
Beispiel #4
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;
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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;
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
 //
 //Get /Report/Burndown
 public ActionResult Burndown()
 {
     TimeforingRepository repo = new TimeforingRepository();
     ViewData["Sprints"] = SelectListMaker.Sprints();
     return View();
 }
Beispiel #10
0
 public CodeFormViewModel(Code code)
 {
     TimeforingRepository repo = new TimeforingRepository ();
     Code = code;
     ProjectCodes = SelectListMaker.Projects();
 }
Beispiel #11
0
 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;
 }