public UserAppointmentsViewModel GetUserAppointmentsViewModel(string userId)
        {
            var userAppointmentsViewModel = new UserAppointmentsViewModel();

            var userAppointments = _iAppointmentDao.GetUserAppointments(userId);

            foreach (var userAppointment in userAppointments)
            {
                var horseAd        = _iHorseAdDao.GetById(userAppointment.AdvertismentId);
                var appointmentDTO = AppointmentConverter.FromAppointmentToAppointmentDTO(userAppointment, horseAd);

                if (userAppointment.InitiatorId == userId && userAppointment.IsAccepted == false)
                {
                    userAppointmentsViewModel.UserPendingWhenInitiator.Add(appointmentDTO);
                    if (!userAppointment.SeenByInitiator)
                    {
                        userAppointmentsViewModel.UnseenAppointmentIds.Add(userAppointment.Id);
                    }
                }

                if (userAppointment.InitiatorId == userId && userAppointment.IsAccepted == true)
                {
                    userAppointmentsViewModel.UserUpcomingWhenInitiator.Add(appointmentDTO);
                    if (!userAppointment.SeenByInitiator)
                    {
                        userAppointmentsViewModel.UnseenAppointmentIds.Add(userAppointment.Id);
                    }
                }

                if (userAppointment.AdvertismentOwnerId == userId && userAppointment.IsAccepted == false)
                {
                    userAppointmentsViewModel.UserPendingWhenOwner.Add(appointmentDTO);
                    if (!userAppointment.SeenByOwner)
                    {
                        userAppointmentsViewModel.UnseenAppointmentIds.Add(userAppointment.Id);
                    }
                }

                if (userAppointment.AdvertismentOwnerId == userId && userAppointment.IsAccepted == true)
                {
                    userAppointmentsViewModel.UserUpcomingWhenOwner.Add(appointmentDTO);
                    if (!userAppointment.SeenByOwner)
                    {
                        userAppointmentsViewModel.UnseenAppointmentIds.Add(userAppointment.Id);
                    }
                }
            }

            return(userAppointmentsViewModel);
        }
Exemple #2
0
        public async Task EditHorseAd(int id, HorseAdDTO horseAdDTO, string userId)
        {
            ValidateHorseAd(horseAdDTO);

            var horseAd = _iHorseAdDao.GetById(id);

            CheckHorseAdAndUserIdentity(horseAd, userId);

            var updatedHorseAd = UpdateHorseAd(horseAd, horseAdDTO);

            await _iHorseAdDao.EditHorseAdAsync(updatedHorseAd);
        }
Exemple #3
0
        public async Task DeleteUserById(string userId)
        {
            var userModel = _iUserDao.FindUserById(userId);

            CheckIfUserExists(userModel);

            if (userModel.HorseAds?.Count > 0)
            {
                foreach (var horseAdsId in userModel.HorseAds.Select(x => x.Id))
                {
                    var horseAd = _iHorseAdDao.GetById(horseAdsId);

                    horseAd.IsDeleted = true;

                    await _iHorseAdDao.UpdateAsync(horseAd);
                }

                userModel.HorseAds.Clear();
            }

            await _iUserDao.DeleteUser(userModel);
        }