/// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #4
0
        /// <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);
        }