public EmployeeWithStatus(EmployeeToTrip e) { EmployeeID = e.Employee.EmployeeID; Name = e.Employee.Name; Email = e.Employee.Email; Status = e.Status; }
public ActionResult ReadTrip(int id) { EmployeeToTrip employeeToTrip = employeeToTripService.GetByID(id); employeeToTrip.WasRead = true; employeeToTripService.Update(employeeToTrip); return(Ok()); }
public async Task <ActionResult> ApproveTrip(int id, bool needRoom) { EmployeeToTrip employeeToTrip = employeeToTripService.GetByID(id); var UserID = User.GetEmpoeeID(); employeeToTrip.Status = "APPROVED"; employeeToTripService.Update(employeeToTrip); Trip trip = service.Get(employeeToTrip.TripId); if (trip.Status == "CREATED") { trip.Status = "CONFIRMED"; service.Update(trip); } if (needRoom != true) { var home = new Apartment { Name = "HOME", RoomNumber = 1, Price = 0, Currency = "EUR", Address = " ", Type = "HOME", OfficeId = employeeToTrip.Trip.ArrivalOfficeID }; await service.SaveHotelorHome(home); var newReservation = new Reservation { TripID = employeeToTrip.TripId, EmployeeID = employeeToTrip.EmployeeID, ApartmentID = home.ApartmentID, CheckIn = employeeToTrip.Trip.DepartureDate, CheckOut = employeeToTrip.Trip.ReturnDate }; await service.SaveReservation(newReservation); return(Ok()); } return(Ok()); }
public async Task <Trip> Add(Trip item) { var empToTrip = item.EmployeesToTrip; item.EmployeesToTrip = new List <EmployeeToTrip>(); var result = await repository.Add(item); foreach (var employee in empToTrip) { var employeeToTrip = new EmployeeToTrip { EmployeeID = employee.EmployeeID, TripId = result.TripID, Status = "PENDING", WasRead = false, }; await empToTripRepository.Add(employeeToTrip); } return(result); }
public EmployeeToTrip Update(EmployeeToTrip item) { return(repository.Update(item)); }
public Task <EmployeeToTrip> Add(EmployeeToTrip item) { return(repository.Add(item)); }
public async Task <ActionResult> Update([FromBody] UpdateTrip item, int id) { if (!AllowEdit(id)) { return(Forbid()); } Trip trip = service.GetByID(id); trip.IsCarCompensationNeeded = item.IsCarCompensationNeeded; trip.IsPlaneNeeded = item.IsPlaneNeeded; trip.IsCarRentalNeeded = item.IsCarRentalNeeded; foreach (var employee in item.Employees) { if (trip.EmployeesToTrip?.Any(x => x.EmployeeID == employee) == false) { var employeeToTrip = new EmployeeToTrip { EmployeeID = employee, TripId = id, Status = "NEW", WasRead = false, }; await employeeToTripService.Add(employeeToTrip); } } var idsToDelete = new List <int>(); var usersInfoToDelete = new List <int>(); foreach (var e in trip.EmployeesToTrip) { if (!item.Employees.Contains(e.EmployeeID)) { idsToDelete.Add(e.EmployeeToTripID); usersInfoToDelete.Add(e.EmployeeID); //employeeToTripService.Remove(e.EmployeeToTripID); } } foreach (var idToDelete in idsToDelete) { employeeToTripService.Remove(idToDelete); } var tickets = trip.PlaneTickets.Where(x => usersInfoToDelete.Contains(x.EmployeeID)); var gas = trip.GasCompensations.Where(x => usersInfoToDelete.Contains(x.EmployeeID)); var reservations = trip.Reservations.Where(x => usersInfoToDelete.Contains(x.EmployeeID)); trip.Reservations = item.Rooms.Select(x => new Reservation { ApartmentID = trip.ArrivalOffice.Apartaments.First(a => a.RoomNumber == x.RoomID).ApartmentID, EmployeeID = x.EmployeeID, CheckIn = trip.DepartureDate, CheckOut = trip.ReturnDate, TripID = trip.TripID, ReservationUrl = "-", }).ToList(); trip.PlaneTickets = trip.PlaneTickets.Where(x => !tickets.Select(y => y.PlaneTicketID).Contains(x.PlaneTicketID)).ToList(); trip.GasCompensations = trip.GasCompensations.Where(x => !gas.Select(y => y.GasCompensationID).Contains(x.GasCompensationID)).ToList(); var result = service.Update(trip); return(Ok()); }