Esempio n. 1
0
        public virtual async Task <MerchandiseReturn> UpdateMerchandiseReturnModel(MerchandiseReturn merchandiseReturn, MerchandiseReturnModel model, List <CustomAttribute> customAddressAttributes)
        {
            merchandiseReturn.CustomerComments          = model.CustomerComments;
            merchandiseReturn.StaffNotes                = model.StaffNotes;
            merchandiseReturn.MerchandiseReturnStatusId = model.MerchandiseReturnStatusId;
            merchandiseReturn.ExternalId                = model.ExternalId;
            merchandiseReturn.UpdatedOnUtc              = DateTime.UtcNow;
            merchandiseReturn.UserFields                = model.UserFields;

            if (_orderSettings.MerchandiseReturns_AllowToSpecifyPickupDate)
            {
                merchandiseReturn.PickupDate = model.PickupDate;
            }
            if (_orderSettings.MerchandiseReturns_AllowToSpecifyPickupAddress)
            {
                merchandiseReturn.PickupAddress = model.PickupAddress.ToEntity();
                if (merchandiseReturn.PickupAddress != null)
                {
                    merchandiseReturn.PickupAddress.Attributes = customAddressAttributes;
                }
            }
            merchandiseReturn.NotifyCustomer = model.NotifyCustomer;
            await _merchandiseReturnService.UpdateMerchandiseReturn(merchandiseReturn);

            //activity log
            await _customerActivityService.InsertActivity("EditMerchandiseReturn", merchandiseReturn.Id, _translationService.GetResource("ActivityLog.EditMerchandiseReturn"), merchandiseReturn.Id);

            if (model.NotifyCustomer)
            {
                await NotifyCustomer(merchandiseReturn);
            }
            return(merchandiseReturn);
        }