コード例 #1
0
        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);
        }
コード例 #2
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));
        }