public virtual void AddItem(Tour tour) { AppointmentLine line = Lines.Where(t => t.Tour.TourId == tour.TourId).FirstOrDefault(); // Checking if anything is currently stored in the cart if (line == null) { Lines.Add(new AppointmentLine { Tour = tour, }); } }
public void CreateAppointment(Appointment appointment) { if (appointment != null) { var shoppingCartItems = _shoppingCart.ShoppingCartItems; decimal appointmentTotalSum = 0; foreach (var shoppingCartItem in shoppingCartItems) { appointmentTotalSum += shoppingCartItem.Amount * shoppingCartItem.Service.Price; } appointment.AppointmentPlaced = DateTime.Now; appointment.TotalSum = appointmentTotalSum; appointment.PatientId = _httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier); appointment.DiagnosisId = 3; ApplicationUser user = _userManager.Users.Where(x => x.Id == appointment.PatientId).First(); appointment.PatientFullName = user.FirstName + " " + user.LastName; appointment.DiagnosName = applicationDbContext.Diagnoses.Where(x => x.DiagnosisId == appointment.DiagnosisId).First().Name; applicationDbContext.Appointments.Add(appointment); applicationDbContext.SaveChanges(); foreach (var shoppingCartItem in shoppingCartItems) { var appointmentLine = new AppointmentLine() { Amount = shoppingCartItem.Amount, ServiceId = shoppingCartItem.Service.ServiceId, AppointmentId = appointment.AppointmentId, Price = shoppingCartItem.Service.Price }; applicationDbContext.AppointmentLines.Add(appointmentLine); } applicationDbContext.SaveChanges(); } }