/// <summary> /// Creates a Availability from a ViewModel /// </summary> /// <param name="availabilityViewModel"></param> /// <returns></returns> public static Availability CreateAvailability(AvailabilityViewModel availabilityViewModel) { if (availabilityViewModel == null) { return(null); } Availability availability = new Availability(availabilityViewModel.Id) { ParticipationId = availabilityViewModel.ParticipationId, ShiftId = availabilityViewModel.ShiftId, Type = availabilityViewModel.Type, Preference = availabilityViewModel.Preference, PushEmailSend = availabilityViewModel.PushEmailSend, LastEditDate = availabilityViewModel.LastEditDate, LastEditBy = availabilityViewModel.LastEditBy, RowVersion = availabilityViewModel.RowVersion }; if (availabilityViewModel.Participation != null) { availability.Participation = ParticipationViewModel.CreateParticipation(availabilityViewModel.Participation); } if (availabilityViewModel.Shift != null) { availability.Shift = ShiftViewModel.CreateShift(availabilityViewModel.Shift); } return(availability); }
/// <summary> /// Creates a Shift from a ViewModel. /// </summary> /// <param name="shiftViewModel"></param> /// <returns></returns> public static Shift CreateShift(ShiftViewModel shiftViewModel) { if (shiftViewModel?.Project == null || shiftViewModel.Task == null) { return(null); } List <Availability> availabilities = new List <Availability>(); if (shiftViewModel.Availabilities != null && shiftViewModel.Availabilities.Count > 0) { availabilities.AddRange(shiftViewModel.Availabilities.Select(AvailabilityViewModel.CreateAvailability)); } return(new Shift(shiftViewModel.Id) { StartTime = TimeSpan.ParseExact(shiftViewModel.StartTime, "h\\:mm", CultureInfo.CurrentCulture), EndTime = TimeSpan.ParseExact(shiftViewModel.EndTime, "h\\:mm", CultureInfo.CurrentCulture), Date = shiftViewModel.Date, Task = TaskViewModel.CreateTask(shiftViewModel.Task), Project = ProjectDetailsViewModel.CreateProject(shiftViewModel.Project), ParticipantsRequired = shiftViewModel.ParticipantsRequired, TaskId = shiftViewModel.Task.Id, ProjectId = shiftViewModel.Project.Id, Availabilities = availabilities, LastEditDate = shiftViewModel.LastEditDate, LastEditBy = shiftViewModel.LastEditBy, RowVersion = shiftViewModel.RowVersion }); }
/// <summary> /// Creates a ViewModel from a Availability /// </summary> /// <param name="availability"></param> /// <returns></returns> public static AvailabilityViewModel CreateVm(Availability availability) { if (availability == null) { return(null); } AvailabilityViewModel vm = new AvailabilityViewModel { Id = availability.Id, ParticipationId = availability.ParticipationId, ShiftId = availability.ShiftId, Type = availability.Type, Preference = availability.Preference, PushEmailSend = availability.PushEmailSend, LastEditDate = availability.LastEditDate, LastEditBy = availability.LastEditBy, RowVersion = availability.RowVersion }; if (availability.Participation != null) { vm.Participation = ParticipationViewModel.CreateVm(availability.Participation); } if (availability.Shift != null) { vm.Shift = ShiftViewModel.CreateVm(availability.Shift); } return(vm); }
/// <summary> /// Creates a ViewModel from a Shift. /// </summary> /// <param name="shift"></param> /// <returns></returns> public static ShiftViewModel CreateVm(Shift shift) { if (shift == null) { return(null); } ShiftViewModel vm = new ShiftViewModel { Id = shift.Id, Date = shift.Date, StartTime = shift.StartTime.ToString("hh\\:mm"), EndTime = shift.EndTime.ToString("hh\\:mm"), ParticipantsRequired = shift.ParticipantsRequired, LastEditDate = shift.LastEditDate, LastEditBy = shift.LastEditBy, RowVersion = shift.RowVersion }; if (shift.Project != null) { vm.Project = ProjectDetailsViewModel.CreateVm(shift.Project); } if (shift.Task != null) { vm.Task = TaskViewModel.CreateVm(shift.Task); } if (shift.Availabilities != null && shift.Availabilities.Count > 0) { vm.Availabilities = shift.Availabilities.Select(AvailabilityViewModel.CreateVm).ToList(); } return(vm); }