public async Task <ActionResult> UpdateDateAsync(int id, SaveDateDTO saveDateDTO) { var date = await _unitOfWork.Dates.GetByAsync(id); // Check date exists if (date == null) { return(NotFound(new { Id = "Mã ngày này không tồn tại." })); } // Check departureDate of date exists except self var dateExist = await _unitOfWork.Dates.FindAsync(d => d.DepartureDate == Convert.ToDateTime(saveDateDTO.DepartureDate) && d.Id != id); if (dateExist.Count() != 0) { return(BadRequest(new { DepartureDate = "Ngày khởi hành này đã tồn tại." })); } // Mapping: SaveDate _mapper.Map <SaveDateDTO, Date>(saveDateDTO, date); await _unitOfWork.CompleteAsync(); return(Ok(new { success = true, data = date, message = "Sửa thành công" })); }
public async Task <ActionResult> AddDateAsync(SaveDateDTO saveDateDTO) { // Mapping: SaveDate var date = _mapper.Map <SaveDateDTO, Date>(saveDateDTO); DateTime departureDate = Convert.ToDateTime(date.DepartureDate); // Check date exists var dateTemp = await _unitOfWork.Dates.FindAsync(d => d.DepartureDate == departureDate); if (dateTemp.Count() > 0) { return(BadRequest(new { DepartureDate = "Ngày khởi hành này đã tồn tại." })); } // Nếu có thêm các chuyến bay cho ngày if (date.DateFlights != null) { var flights = await _unitOfWork.Flights.GetAllAsync(); // Thêm ghế còn lại và trạng thái cho chuyến bay foreach (var dateFlight in date.DateFlights) { dateFlight.SeatsLeft = flights.Where(f => f.Id == dateFlight.FlightId) .Select(f => f.SeatsCount) .SingleOrDefault(); dateFlight.Status = 1; // Còn chỗ } } await _unitOfWork.Dates.AddAsync(date); await _unitOfWork.CompleteAsync(); return(Ok(new { success = true, message = "Thêm thành công." })); }
public async Task <ActionResult> PostDateAsync(SaveDateDTO saveDateDTO) { var res = await _service.AddDateAsync(saveDateDTO); return(res); }
public async Task <ActionResult> PutDateAsync(int id, SaveDateDTO saveDateDTO) { var date = await _service.UpdateDateAsync(id, saveDateDTO); return(date); }