示例#1
0
        public async Task <IActionResult> Create(AppointmentModel appointmentM)
        {
            if (!ModelState.IsValid)
            {
                IEnumerable <Activity> activities = activityService.GetAll();
                appointmentM.Activities = activities.ToList();

                return(View(appointmentM));
            }
            else
            {
                var entity = await userManager.FindByEmailAsync(User.Identity.Name);

                if (User.Identity.Name == entity.Email)
                {
                    if (appointmentM.StartDateTime < DateTime.Now || appointmentM.StartDateTime > appointmentM.EndDateTime ||
                        appointmentM.EndDateTime < DateTime.Now)
                    {
                        IEnumerable <Activity> activities = activityService.GetAll();
                        appointmentM.Activities = activities.ToList();

                        return(View(appointmentM));
                    }
                    else
                    {
                        appointmentM.UserId = entity.Id;
                        Appointment appointment = mapper.Map <Appointment>(appointmentM);
                        appointment.Activities = new List <AppointmentActivity>();
                        if (appointmentM.ChosenActivities != null)
                        {
                            foreach (var item in appointmentM.ChosenActivities)
                            {
                                AppointmentActivity appointmentActivity = new AppointmentActivity();
                                Activity            activity            = activityService.GetById(item);
                                appointmentActivity.ActivityId  = item;
                                appointmentActivity.Activity    = activity;
                                appointmentActivity.Appointment = appointment;
                                appointment.Activities.Add(appointmentActivity);
                            }
                        }

                        appointmentService.Insert(appointment);
                    }
                }
                else
                {
                    IEnumerable <Activity> activities = activityService.GetAll();
                    appointmentM.Activities = activities.ToList();

                    return(View(appointmentM));
                }

                return(RedirectToAction("Index"));
            }
        }
示例#2
0
        public async Task <IActionResult> Edit(AppointmentModel appointmentModel)
        {
            if (!ModelState.IsValid)
            {
                appointmentModel.Activities = activityService.GetAll().ToList();

                return(View(appointmentModel));
            }
            else
            {
                var entity = await userManager.FindByEmailAsync(User.Identity.Name);

                var app = appointmentService.GetById(appointmentModel.Id);

                if (User.Identity.Name == entity.Email)
                {
                    if (appointmentModel.StartDateTime != app.StartDateTime && appointmentModel.StartDateTime < DateTime.Now ||
                        appointmentModel.EndDateTime != app.EndDateTime && appointmentModel.EndDateTime < DateTime.Now ||
                        appointmentModel.StartDateTime > appointmentModel.EndDateTime)
                    {
                        appointmentModel.Activities = activityService.GetAll().ToList();

                        return(View(appointmentModel));
                    }
                    else
                    {
                        appointmentModel.UserId = entity.Id;
                        Appointment appointment = mapper.Map <Appointment>(appointmentModel);

                        if (appointmentModel.ChosenActivities != null)
                        {
                            foreach (var item in appointmentModel.ChosenActivities)
                            {
                                AppointmentActivity appointmentActivity = new AppointmentActivity();
                                Activity            activity            = activityService.GetById(item);
                                appointmentActivity.ActivityId  = item;
                                appointmentActivity.Activity    = activity;
                                appointmentActivity.Appointment = appointment;
                                appointment.Activities.Add(appointmentActivity);
                            }
                        }

                        appointmentService.Edit(appointment);
                    }
                }
                else
                {
                    appointmentModel.Activities = activityService.GetAll().ToList();

                    return(View(appointmentModel));
                }

                return(RedirectToAction("Index"));
            }
        }