public async Task <int> AddUpdateAsync(ShipmentFormDto shipmentFormDto) { var shipDate = DateTime.Parse(shipmentFormDto.ShipDate); if (shipmentFormDto != null && shipmentFormDto.Id > 0) { var shipment = await _unitOfWork.Shipments.GetShipmentAsync((int)(shipmentFormDto.Id)); if (shipment != null) { shipment.ShipDate = shipDate; shipment.IsConfirmed = shipmentFormDto.IsConfirmed; return(1); } } else { Shipment shipment = new Shipment { ShipDate = shipDate, BookId = JsonSerializer.Deserialize <int>(shipmentFormDto.BookId), MemberId = JsonSerializer.Deserialize <int>(shipmentFormDto.MemberId) }; var member = await _unitOfWork.Members.GetMemberWithShipmentsAsync(Convert.ToInt32(shipmentFormDto.MemberId)); member?.Shipments.Add(shipment); _unitOfWork.Shipments.Add(shipment); return(2); } return(0); }
public async Task <ActionResult> SaveShipment(ShipmentFormDto shipmentDto) { RequestResponse <int> requestResponse = new RequestResponse <int>(); try { requestResponse.Status = await _shipmentService.AddUpdateAsync(shipmentDto); if (requestResponse.Status == 1) { requestResponse.Message = Utility.ResponseHelper.ShipmentUpdated; } if (requestResponse.Status == 2) { requestResponse.Message = Utility.ResponseHelper.ShipmentAdded; } if (_unitOfWork.HasChanges()) { await _unitOfWork.CompleteAsync(); } } catch (Exception ex) { requestResponse.Message = ex.Message; requestResponse.Status = Utility.ResponseHelper.FailureCode; } return(Ok(requestResponse)); }