public async Task <ShipmentDto> UpdateShipmentAsync(Guid shipmentKey, ShipmentByAffiliateUpdateRequestModel requestModel)
        {
            var parameters   = new { key = _affiliateKey, shipmentKey = shipmentKey };
            var responseTask = base.PutAsync(BaseUriTemplateForSingle, requestModel, parameters);
            var shipment     = await HandleResponseAsync(responseTask);

            return(shipment);
        }
        public ShipmentDto PutShipment(
            Guid key,
            Guid shipmentKey,
            ShipmentByAffiliateUpdateRequestModel requestModel,
            [BindShipment] Shipment shipment)
        {
            var updatedShipment = _shipmentService.UpdateShipment(
                requestModel.ToShipment(shipment));

            return(updatedShipment.ToShipmentDto());
        }
        internal static Shipment ToShipment(this ShipmentByAffiliateUpdateRequestModel requestModel, Shipment existingShipment)
        {
            existingShipment.Price             = requestModel.Price.Value;
            existingShipment.ReceiverName      = requestModel.ReceiverName;
            existingShipment.ReceiverSurname   = requestModel.ReceiverSurname;
            existingShipment.ReceiverAddress   = requestModel.ReceiverAddress;
            existingShipment.ReceiverZipCode   = requestModel.ReceiverZipCode;
            existingShipment.ReceiverCity      = requestModel.ReceiverCity;
            existingShipment.ReceiverCountry   = requestModel.ReceiverCountry;
            existingShipment.ReceiverTelephone = requestModel.ReceiverTelephone;
            existingShipment.ReceiverEmail     = requestModel.ReceiverEmail;

            return(existingShipment);
        }
        public async Task <ActionResult> Edit_Post(
            Guid id,
            [Bind(Prefix = "ShipmentForEdit")]
            ShipmentByAffiliateUpdateRequestModel requestModel)
        {
            if (ModelState.IsValid)
            {
                ShipmentDto updatedShipment =
                    await _shipmentsClient.UpdateShipmentAsync(id, requestModel);

                return(RedirectToAction("Details", new { id = updatedShipment.Key }));
            }

            ViewResult editViewResult = await GetEditViewResultAsync(id);

            return(editViewResult);
        }
        private async Task <ViewResult> GetEditViewResultAsync(Guid id)
        {
            ShipmentDto shipment = await _shipmentsClient.GetShipmentAsync(id);

            var shipmentForEdit = new ShipmentByAffiliateUpdateRequestModel {
                Price             = shipment.Price,
                ReceiverName      = shipment.ReceiverName,
                ReceiverSurname   = shipment.ReceiverSurname,
                ReceiverAddress   = shipment.ReceiverAddress,
                ReceiverZipCode   = shipment.ReceiverZipCode,
                ReceiverCity      = shipment.ReceiverCity,
                ReceiverCountry   = shipment.ReceiverCountry,
                ReceiverTelephone = shipment.ReceiverTelephone,
                ReceiverEmail     = shipment.ReceiverEmail
            };

            return(View(new ShipmentEditViewModel {
                Shipment = shipment,
                ShipmentForEdit = shipmentForEdit
            }));
        }
Example #6
0
        private async Task<ViewResult> GetEditViewResultAsync(Guid id) {

            ShipmentDto shipment = await _shipmentsClient.GetShipmentAsync(id);
            var shipmentForEdit = new ShipmentByAffiliateUpdateRequestModel {
                Price = shipment.Price,
                ReceiverName = shipment.ReceiverName,
                ReceiverSurname = shipment.ReceiverSurname,
                ReceiverAddress = shipment.ReceiverAddress,
                ReceiverZipCode = shipment.ReceiverZipCode,
                ReceiverCity = shipment.ReceiverCity,
                ReceiverCountry = shipment.ReceiverCountry,
                ReceiverTelephone = shipment.ReceiverTelephone,
                ReceiverEmail = shipment.ReceiverEmail
            };

            return View(new ShipmentEditViewModel { 
                Shipment = shipment,
                ShipmentForEdit = shipmentForEdit
            });
        }
        public ShipmentDto PutShipment(
            Guid key, 
            Guid shipmentKey,
            ShipmentByAffiliateUpdateRequestModel requestModel,
            [BindShipment]Shipment shipment) {

            var updatedShipment = _shipmentService.UpdateShipment(
                requestModel.ToShipment(shipment));

            return updatedShipment.ToShipmentDto();
        }