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")); } }
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")); } }