public void SetDone()
    {
        String     key   = DateTime.Now.ToShortDateString();
        DailyModel model = m_pDb.GetDailyState(key);
        Boolean    ret   = model.MissionComplete(Id);

        if (ret)
        {
            PocketModule pocket = m_pDb.GetPocketModel();
            pocket.Point.UpdatePoint(Award);

            List <DailyMissionAssociatedAchievementModel> assolist = m_pModel.AssociatedAchievementModelList;
            foreach (DailyMissionAssociatedAchievementModel tmp in assolist)
            {
                AchievementGroupModel achi_model = m_pDb.GetAchievementsModel().GetAchievementGroup(tmp.AchievementId);
                if (achi_model != null)
                {
                    achi_model.SetProgress(tmp.Progress);
                }
            }

            DateTime          time     = DateTime.Now;
            GregorianCalendar calendar = new GregorianCalendar();
            int    weekOfYears         = calendar.GetWeekOfYear(time, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
            String weekKey             = time.Year + "-" + weekOfYears;

            WeeksModel weekModel = m_pDb.GetWeekyState(weekKey);
            weekModel.UpdateProgress(Award);
        }
    }
Ejemplo n.º 2
0
        public ActionResult Weeks()
        {
            ViewBag.AllowDuplicates = ConfigurationManager.AppSettings["AllowDuplicate"] == "1";
            WeeksModel model = new WeeksModel();

            //Get the previous 5 weeks worth
            for (int i = 0; i < 5; i++)
            {
                Tuple <DateTime, DateTime> dates = Utilities.GetWeekStartEndDates(_EndDay, DateTime.Today.AddDays(i * -7));

                using (TimeLineDB db = new TimeLineDB())
                {
                    List <TimeLineModel> lines = db.TimeLines.Where(x => x.UserID == User.Identity.Name)
                                                 .Where(x => x.LineDate >= dates.Item1)
                                                 .Where(x => x.LineDate <= dates.Item2)
                                                 .ToList();

                    WeekModel week = new WeekModel
                    {
                        WeekStart    = dates.Item1,
                        WeekEnd      = dates.Item2,
                        TotalHours   = lines.Sum(x => (x.Hours)),
                        TotalClients = lines.Select(x => x.ClientID).Distinct().Count()
                    };

                    model.Weeks.Add(week);
                }
            }

            return(View("Weeks", model));
        }
Ejemplo n.º 3
0
    public WeekController(String userid)
    {
        m_pDb = MainDatabaseManager.GetDatabase(userid);

        DateTime          time     = DateTime.Now;
        GregorianCalendar calendar = new GregorianCalendar();
        int    weekOfYears         = calendar.GetWeekOfYear(time, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
        String weekKey             = time.Year + "-" + weekOfYears;

        m_pModel = m_pDb.GetWeekyState(weekKey);
    }
Ejemplo n.º 4
0
    private void InitWeekyState()
    {
        m_pWeekState = new Dictionary <String, WeeksModel>();

        XmlNodeList list = m_pDoc.SelectNodes(@"root/weeks/week");

        foreach (XmlNode tmp in list)
        {
            WeeksModel d = new WeeksModel(tmp, this);
            m_pWeekState.Add(d.Id, d);
        }
    }
Ejemplo n.º 5
0
    public WeeksModel GetWeekyState(String Id)
    {
        WeeksModel model = null;

        Lock();

        if (m_pWeekState.ContainsKey(Id))
        {
            model = m_pWeekState[Id];
        }
        else
        {
            XmlElement   e    = m_pDoc.CreateElement(@"week");
            XmlAttribute attr = m_pDoc.CreateAttribute(@"id");
            attr.Value = Id;
            e.Attributes.Append(attr);

            attr       = m_pDoc.CreateAttribute(@"number");
            attr.Value = "0";
            e.Attributes.Append(attr);


            XmlNode dailys = m_pDoc.SelectSingleNode(@"root/weeks");
            dailys.AppendChild(e);

            model = new WeeksModel(e, this);

            m_pWeekState.Add(Id, model);

            SaveDbToFile();
        }

        Unlock();

        return(model);
    }