public AddNewPinViewModel(Position position) { _mapCenter = position; ValidCities = new List <DeserializeCitiesData>(); _pinCategories = new ObservableCollection <PinCategory>(ApplicationSettings.PinCategories.Select(item => { var temp = new PinCategory { CategoriesBranch = item.CategoriesBranch, Color = item.Color, Icon = item.Icon, Id = item.Id, PinIcon = item.PinIcon, IsVisible = true, ItemSelected = false, Name = item.Name, ParentId = item.ParentId }; temp.ItemTapped += Category_ItemTapped; return(temp); })); _pinSubCategories = new ObservableCollection <PinCategory>(ApplicationSettings.PinSubCategories.Select(item => { var temp = new PinCategory { CategoriesBranch = item.CategoriesBranch, Color = item.Color, Icon = item.Icon, PinIcon = item.PinIcon, Id = item.Id, IsVisible = false, ItemSelected = false, Name = item.Name, ParentId = item.ParentId }; temp.ItemTapped += Tag_ItemTapped; return(temp); })); _weekViewModel = new WeekViewModel(); _baseCategoryImage = "empty_object_icon.png"; //_photo = "add_picture_btn.png"; _workTimeViewModels = new List <WorkTimeViewModel>(); _phoneViewModels = new List <PhoneViewModel>(); var firstWoktimeVm = new WorkTimeViewModel(new List <MyDayOfWeek>(), true); firstWoktimeVm.PlusMinusClicked += WoktimeVm_PlusMinusClicked; firstWoktimeVm.CalendarClicked += WoktimeVm_CalendarClicked; _workTimeViewModels.Add(firstWoktimeVm); var firstPhone = new PhoneViewModel(new Phone { Primary = true }, true); firstPhone.PlusMinusClicked += Phone_PlusMinusClicked; _phoneViewModels.Add(firstPhone); _isRedact = false; Photos.CollectionChanged += Photos_CollectionChanged; }
public CreateWeek( IWeekApplicationService weekApplicationService, WeekViewModel week) { _weekApplicationService = weekApplicationService; _week = week; InitializeComponent(); }
public ActionResult ChangeDate(WeekViewModel contextWeekModel) { Session["contextDate"] = contextWeekModel.MyDate; return(RedirectToAction("TimeSheet", new { contextId = EmployeeFunctions.returnWeekofYear(contextWeekModel.MyDate), contextDate = contextWeekModel.MyDate })); }
public ActionResult TimeSheet(int contextId, DateTime contextDate) { WeekViewModel WeekModel = new WeekViewModel(); Debug.WriteLine(contextDate); //Get WeekObject WeekModel.theWeek = GetWeek.ReturnObject(((UserProfile)Session["User"]).UserId, contextId); WeekModel.MyDate = contextDate; return(View(WeekModel)); }
public void Create(WeekViewModel model) { var workItem = _mapper.Map <Week>(model); workItem.SetDescription(); _weekRepository.Add(workItem); _transaction.Commit(); }
private static WeekPage GetPreviousWeek( WeekViewModel currentmodel, WeekModelRepository weekmodels, IKitsTajmService service) { return GetAnotherWeek( currentmodel, weekmodels, service, TimeSpan.FromDays(-7)); }
public ActionResult CreateTimesheet(WeekViewModel contextWeekModel) { //Add UserId to current Week object contextWeekModel.theWeek.UserId = ((UserProfile)Session["User"]).UserId; //contextWeek.WeekId = contextWeek.weekNum; EmployeeFunctions.addWeek(contextWeekModel.theWeek); return(RedirectToAction("TimeSheet", new { contextId = contextWeekModel.theWeek.WeekId, //context session because no other way to preserve date input //from week view when submitting a form via partial contextDate = Session["contextDate"] })); }
public static void AssertAreEqual(WeekViewModel expected, WeekViewModel actual, string messagePrefix = "") { if (expected == null && actual == null) { return; } Assert.IsFalse(expected == null || actual == null, $"{messagePrefix}Instance should not be null."); Assert.AreEqual(expected.Days.Count, actual.Days.Count, $"{messagePrefix}Number of Day entries does not match."); for (var i = 0; i < expected.Days.Count; i++) { ScheduleDayViewModelComparer.AssertAreEqual(expected.Days[i], actual.Days[i], $"{messagePrefix}[Day#{i}]"); } }
public IActionResult Week(DateTime?dateTime) { if (!dateTime.HasValue) { dateTime = DateTime.Now; } var startofweek = dateTime.Value.FirstDayOfWeek(); var endofweek = dateTime.Value.LastDayOfWeek(); var weekDto = new WeekViewModel() { StartDate = startofweek, EndDate = endofweek, LastWeek = startofweek.Subtract(new TimeSpan(7, 0, 0, 0)), NextWeek = endofweek.Add(new TimeSpan(7, 0, 0, 0)) }; return(View(weekDto)); }
private static LinkedListNode<WeekViewModel> Add( WeekViewModel model, LinkedList<WeekViewModel> models) { LinkedListNode<WeekViewModel> node; if (models.Any() == false) { node = models.AddFirst(model); } else if (model.Monday.Date < models.First.Value.Monday.Date) { node = models.AddFirst(model); } else// if (model.Monday.Date > models.Last.Value.Monday.Date) { node = models.AddLast(model); } return node; }
private static List <WeekViewModel> CreateWeeklyReservations( IReadOnlyDictionary <DateTime, IEnumerable <Reservation> > reservationsByDay, int month, DateTime currentDay, string hall) { var weeks = new List <WeekViewModel>(5); for (int i = 0; i < 5; i++) { var days = new List <DayViewModel>(); for (int j = 0; j < 7; j++) { var reservations = new List <Reservation>(); if (reservationsByDay.ContainsKey(currentDay)) { reservations = reservationsByDay[currentDay].OrderBy(x => x.StartHour).ToList(); } var dayModel = new DayViewModel { Reservations = reservations, Day = currentDay, Hall = hall }; currentDay = currentDay.AddDays(1); days.Add(dayModel); } var week = new WeekViewModel { Days = days, Month = month, Hall = hall }; weeks.Add(week); } return(weeks); }
public WeekViewModel GetModel(DateTime date) { var monday = GetMonday(date); var model = this._models .FirstOrDefault(m => m.Monday.Date.Equals(monday)); LinkedListNode<WeekViewModel> modelnode; if (model == null) { model = new WeekViewModel(monday, this._timemodel); modelnode = Add(model, this._models); } else { modelnode = this._models.Find(model); } PadModel(modelnode, this._timemodel); return model; }
private void SaveNewWeek() { if (IncludeDate.SelectedDate == null || EndDate.SelectedDate == null) { MessageBox.Show("The date fields never could be null.", "Warning!"); return; } var weeks = _weekApplicationService.GetAllOrderByDescending(); var sequence = weeks.Max(x => x.Sequence) + 1; var week = new WeekViewModel { CreatedBy = "master", Start = IncludeDate.SelectedDate.GetValueOrDefault(), End = EndDate.SelectedDate.GetValueOrDefault(), Sequence = sequence }; _weekApplicationService.Create(week); MessageBox.Show("Week has created", "Information."); Close(); }
private static async Task Load(WeekViewModel weekmodel, IKitsTajmService service) { var projects = await service.GetProjects(); var trs = await service.GetTimeRecords(weekmodel.Monday.Date, weekmodel.Sunday.Date); var rows = trs .GroupBy( tr => tr.ProjectId, (pid, trs2) => new { Project = projects.FirstOrDefault(p => p.Id == pid), Activities = trs2.GroupBy( tr => tr.ActivityId, (aid, trs3) => new { Activity = projects .Where(p => p.Id == pid) .SelectMany(p => p.Activities) .FirstOrDefault(a => a.Id == aid), TimeRecords = trs3 }) }) .OrderBy(pa => pa.Project.Name) .SelectMany( pa => pa.Activities .OrderBy(at => at.Activity.Name), (pa, at) => new { Project = pa.Project, Activity = at.Activity, TimeRecords = at.TimeRecords }) .Select((pat, rownumber) => new WeekViewModel.RowViewModel( new WeekViewModel.RowViewModel.ProjectViewModel.ProjectViewModelParameters { SelectedItem = pat.Project }, new WeekViewModel.RowViewModel.ActivityViewModel.ActivityViewModelParameters { SelectedItem = pat.Activity }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Monday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Monday.Date }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Tuesday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Tuesday.Date }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Wednesday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Wednesday.Date }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Thursday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Thursday.Date }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Friday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Friday.Date }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Saturday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Saturday.Date }, pat.TimeRecords .Where(tr => tr.ReportedDate.Date.Equals(weekmodel.Sunday.Date)) .Select(tr => new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = tr.ReportedDate, RecordId = tr.RecordId, Text = tr.Time.ToString() }) .FirstOrDefault() ?? new WeekViewModel.RowViewModel.DayViewModel.DayViewModelParameters { Date = weekmodel.Sunday.Date }, weekmodel, rownumber)); weekmodel.Projects = projects .OrderBy(p => p.Name) .ToList(); foreach (var row in rows) { weekmodel.Rows.Add(row); } }
private static WeekViewModel GetNextWeek( WeekViewModel model, TimeViewModel timemodel) { return GetAnotherWeek( model, TimeSpan.FromDays(7), timemodel); }
private static WeekViewModel GetAnotherWeek( WeekViewModel model, TimeSpan span, TimeViewModel timemodel) { var newmodel = new WeekViewModel( model.Monday.Date.Add(span), timemodel); return newmodel; }
public IActionResult Post(int sessionId, int scheduleIndex, [FromBody] WeekViewModel viewModel) { _repository.PostMatchups(sessionId, scheduleIndex, viewModel); return(new JsonResult("Success")); }
public ActionResult Home() { ViewBag.Message = "Ready, Set, Bake!"; var userId = GetId(); var viewModel = new ViewModel { UserId = userId.Value }; using (var context = new RsbContext()) { viewModel.Leagues = context.Leagues.Include("Users").Where(o => o.Users.Any(x => x.UserId == userId)).ToList(); viewModel.Bakers = context.Bakers.ToList(); var pastWeeks = context.Weeks.Include("StarBaker").Include("ExitBaker").ToList(); var lastWeek = pastWeeks.OrderByDescending(o => o.Order).Where(o => o.StarBaker != null && o.ExitBaker != null).FirstOrDefault(o => o.EndDateTime < DateTime.UtcNow); viewModel.LastWeekStarBaker = lastWeek.StarBaker?.Name; viewModel.LastWeekExitBaker = lastWeek.ExitBaker?.Name; var weeks = context.Weeks.ToList(); viewModel.Weeks = new List <WeekViewModel>(); int iterator = 1; foreach (var week in weeks.OrderBy(o => o.Order)) { var weekVM = new WeekViewModel { Week = week }; weekVM.ActualStarBaker = week.StarBaker != null ? week.StarBaker.Id : (Guid?)null; weekVM.ActualExitBaker = week.ExitBaker != null ? week.ExitBaker.Id : (Guid?)null; weekVM.Order = iterator; viewModel.Weeks.Add(weekVM); } viewModel.Leagues.Add(new League { Id = Guid.NewGuid(), Users = context.Users.OrderByDescending(o => o.CurrentScore).ToList(), Name = "All Users" }); if (lastWeek.Order == 1) { return(View(viewModel)); } var user = context.Users.Include("Predictions").Single(o => o.UserId == userId); var predictions = user.Predictions; viewModel.Score = user.CurrentScore; if (user.PreviousScores != null) { viewModel.PreviousScore = user.PreviousScores.LastOrDefault(); } iterator = 1; foreach (var week in viewModel.Weeks.OrderBy(o => o.Order)) { if (predictions != null && predictions.Count != 0) { var prediction = predictions.SingleOrDefault(o => o.WeekId == week.Week.Id); if (prediction != null) { if (prediction.StarBakerId != null && prediction.StarBakerId != Guid.Empty) { week.PredictedStarBakerId = prediction.StarBakerId; } if (prediction.ExitBakerId != null && prediction.ExitBakerId != Guid.Empty) { week.PredictedExitBakerId = prediction.ExitBakerId; } } } } } return(View(viewModel)); }
private static WeekPage GetAnotherWeek( WeekViewModel currentmodel, WeekModelRepository weekmodels, IKitsTajmService service, TimeSpan span) { var newpage = new WeekPage( service, weekmodels.GetModel(currentmodel.Monday.Date.Add(span))); return newpage; }
/// <summary> /// Sets the selected week within the selected season /// </summary> /// <param name="week">The number of the selected week</param> public void SetSelectedWeek(int?week) { SelectedWeek = new WeekViewModel(week); }
public AddNewPinViewModel(UserPinDescriptor pin) { Pin = pin; _mapCenter = new Position(pin.Lat, pin.Lng); ValidCities = new List <DeserializeCitiesData>(); _pinCategories = new ObservableCollection <PinCategory>(ApplicationSettings.PinCategories.Select(item => { var temp = new PinCategory { CategoriesBranch = item.CategoriesBranch, Color = item.Color, Icon = item.Icon, Id = item.Id, PinIcon = item.PinIcon, IsVisible = true, ItemSelected = false, Name = item.Name, ParentId = item.ParentId }; temp.ItemTapped += Category_ItemTapped; return(temp); })); _pinSubCategories = new ObservableCollection <PinCategory>(ApplicationSettings.PinSubCategories.Select(item => { var temp = new PinCategory { CategoriesBranch = item.CategoriesBranch, Color = item.Color, Icon = item.Icon, PinIcon = item.PinIcon, Id = item.Id, IsVisible = false, ItemSelected = false, Name = item.Name, ParentId = item.ParentId }; temp.ItemTapped += Tag_ItemTapped; return(temp); })); foreach (var item in _pinSubCategories.Where(psc => psc.ParentId == Pin.BaseCategoryId)) { item.IsVisible = true; item.ItemSelected = Pin.Subcategories.Any(p => p.Id == item.Id); } OldPhotos = new ObservableCollection <string>(pin.PhotosMini); #region [ Для времени работы ] _weekViewModel = new WeekViewModel(); _workTimeViewModels = new List <WorkTimeViewModel>(); if (Pin.WorkTime != null && Pin.WorkTime.Count > 0) { foreach (var tempListOfDay in Pin.WorkTime.GroupBy(w => w.CloseTime.ToString() + w.OpenTime.ToString())) { var newWorkTimeViewModel = new WorkTimeViewModel(); if (_workTimeViewModels.All(wt => !wt.IsAdd)) { newWorkTimeViewModel.IsAdd = true; } newWorkTimeViewModel.PlusMinusClicked += WoktimeVm_PlusMinusClicked; newWorkTimeViewModel.CalendarClicked += WoktimeVm_CalendarClicked; foreach (var workTime in tempListOfDay) { newWorkTimeViewModel.Days.Add(new MyDayOfWeek((DayOfWeek)(workTime.Id == 7 ? 0 : workTime.Id)) { IsSelected = true }); newWorkTimeViewModel.StartTime = workTime.OpenTime; newWorkTimeViewModel.StopTime = workTime.CloseTime; _weekViewModel.Days.FirstOrDefault( d => d.Day == (DayOfWeek)(workTime.Id == 7 ? 0 : workTime.Id)) .IsSelected = true; } _workTimeViewModels.Add(newWorkTimeViewModel); } } else { var firstWoktimeVm = new WorkTimeViewModel(new List <MyDayOfWeek>(), true); firstWoktimeVm.PlusMinusClicked += WoktimeVm_PlusMinusClicked; firstWoktimeVm.CalendarClicked += WoktimeVm_CalendarClicked; _workTimeViewModels.Add(firstWoktimeVm); } #endregion [ Для времени работы ] #region [ Для телефонов ] _phoneViewModels = new List <PhoneViewModel>(); if (Pin.Phones != null && Pin.Phones.Count > 0) { foreach (var phone in Pin.Phones) { var newPhone = new PhoneViewModel(phone); if (newPhone.Phone.Primary) { newPhone.IsAdd = true; } _phoneViewModels.Add(newPhone); newPhone.PlusMinusClicked += Phone_PlusMinusClicked; } } else { var firstPhone = new PhoneViewModel(new Phone { Primary = true }, true); firstPhone.PlusMinusClicked += Phone_PlusMinusClicked; _phoneViewModels.Add(firstPhone); } #endregion [ Для телефонов ] _baseCategoryString = Pin.BaseCategoryName; _baseCategoryColor = _pinCategories.FirstOrDefault(c => c.Id == Pin.BaseCategoryId).Color; _baseCategoryImage = _pinCategories.FirstOrDefault(c => c.Id == Pin.BaseCategoryId).Icon; BaseCategorySelected = true; PinCategories.FirstOrDefault(c => c.Id == Pin.BaseCategoryId).ItemSelected = true; _isRedact = true; Photos.CollectionChanged += Photos_CollectionChanged; PropertyChanged += AddNewPinViewModel_PropertyChanged; Pin.PropertyChanged += Pin_PropertyChanged; }
public MonthViewModel GetMonthView(int year, PersianMonth month) { var monthView = new MonthViewModel(year, month); int dayNumber = 1; int prevMonthStartNumber = monthView.PreviousMonthStartDayNumber; monthView.Days = new List <DayViewModel>(); bool started = false, finished = false; for (int j = 0; j < 6; j++) { for (int i = 6; i >= 0; i--) { if (j == 0) //means it's first week { if (i == 7 - monthView.FirstDayWeekDayNumber) { started = true; } else { if (!started) { var day = DayViewModel.Init( monthView.PreviousMonth.GetDate( monthView.PreviousMonthYear, prevMonthStartNumber)); day.Disabled = true; monthView.Days.Add(day); prevMonthStartNumber++; } } } if (finished) { var day = DayViewModel.Init( monthView.NextMonth.GetDate(monthView.NextMonthYear, dayNumber)); day.Disabled = true; monthView.Days.Add(day); dayNumber++; } if (started && !finished) { var day = DayViewModel.Init( month.GetDate(year, dayNumber)); monthView.Days.Add(day); if (dayNumber == monthView.LastDayNumber) { finished = true; dayNumber = 0; } dayNumber++; } } } int idx = 0; int w = 1; int wOrder = 1; WeekViewModel week = new WeekViewModel(); foreach (var day in monthView.Days) { if (w == 1) { week = new WeekViewModel { Order = wOrder, StartDate = day.DateValue }; } if (w == 7) { week.FinishDate = day.DateValue; monthView.Weeks.Add(week); w = 0; wOrder++; } week.Days.Add(day); w++; } return(monthView); }
public WeekView(string cityName, string jsonResult, List <Datum2> dailyDetails) { InitializeComponent(); BindingContext = new WeekViewModel(cityName, jsonResult, dailyDetails, Navigation); }
public ActionResult EditableWeeks(bool showWeekType = true) { if (Request.IsAjaxRequest()) { var groups = GetEditableGroups() .ToList(); var yearStartDate = UserProfile.EducationYear.DateStart; var currentWeek = ScheduleHelpers.WeekOfLesson(yearStartDate, DateTime.Now); var viewModel = new ChangeWeekViewModel { EditedWeek = UserProfile.WeekNumber, EditedWeekStartDate = ScheduleHelpers.DateOfLesson(yearStartDate, UserProfile.WeekNumber, 1).ToString("dd.MM.yyyy"), EditedWeekEndDate = ScheduleHelpers.DateOfLesson(yearStartDate, UserProfile.WeekNumber, 7).ToString("dd.MM.yyyy"), CurrentWeek = currentWeek, CurrentWeekStartDate = ScheduleHelpers.DateOfLesson(yearStartDate, currentWeek, 1).ToString("dd.MM.yyyy"), CurrentWeekEndDate = ScheduleHelpers.DateOfLesson(yearStartDate, currentWeek, 7).ToString("dd.MM.yyyy"), Weeks = new List <WeekViewModel>() }; // Необходим график учебного процесса чтобы узнать количество недель var courseSchedules = new List <CourseSchedule>(); foreach (var group in groups) { var courseNumber = group.Course.CourseNumber; var academicPlan = group.ProgramOfEducation.AcademicPlans .OrderByDescending(d => d.UploadedAt) .FirstOrDefault(); if (academicPlan != null) { var courseSchedule = academicPlan.CourseSchedules .SingleOrDefault(x => x.CourseNumber == courseNumber); courseSchedules.Add(courseSchedule); } } // Если для всех групп загружен учебный план if (groups.Count == courseSchedules.Count && showWeekType) { var allEquals = courseSchedules.All(o => o.Schedule == courseSchedules[0].Schedule); if (allEquals) { var courseSchedule = courseSchedules.First(); for (int index = 1; index <= courseSchedule.Schedule.Length; index++) { var weekStartDate = ScheduleHelpers.DateOfLesson(yearStartDate, index, 1); var weekEndDate = ScheduleHelpers.DateOfLesson(yearStartDate, index, 7); var currentAbbr = courseSchedule.Schedule[index - 1]; var scheduleType = ScheduleHelpers.ScheduleTypeByAbbr(currentAbbr); var week = new WeekViewModel { WeekNumber = index, WeekStartDate = weekStartDate.ToString("dd.MM.yyyy"), WeekEndDate = weekEndDate.ToString("dd.MM.yyyy"), ScheduleTypeName = scheduleType["Name"], ScheduleTypeColor = scheduleType["Color"] }; viewModel.Weeks.Add(week); } } } else { int index = 1; while (true) { var weekStartDate = ScheduleHelpers.DateOfLesson(yearStartDate, index, 1); var weekEndDate = ScheduleHelpers.DateOfLesson(yearStartDate, index, 7); var weekInEducationYear = DateHelpers.DatesIsActual(UserProfile.EducationYear, weekStartDate, weekEndDate); if (!weekInEducationYear) { break; } var week = new WeekViewModel { WeekNumber = index, WeekStartDate = weekStartDate.ToString("dd.MM.yyyy"), WeekEndDate = weekEndDate.ToString("dd.MM.yyyy") }; viewModel.Weeks.Add(week); index++; } } return(Json(viewModel)); } return(null); }
public WeekView(WeekViewModel weekViewModel) { InitializeComponent(); DataContext = weekViewModel; }