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); } }
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)); }
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); }
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); } }
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); }