// POST: api/Scheduler
        public void Post([FromBody] AssetApiModel assetApiModel)
        {
            var imageMetadata = SaveScheduleImageEndity(assetApiModel);

            ScheduleBackgroundJob(imageMetadata);

            // Should return saved asset info ?
        }
 public ActionResult Add(Guid communityId, AssetApiModel assetApiModel)
 {
     try
     {
         var asset           = _assetMapper.Map(assetApiModel);
         var serviceResponse = this._assetService.Add(communityId, asset);
         return(SendResponse(serviceResponse, "Asset"));
     }
     catch (Exception ex)
     {
         return(new UnknownErrorResult(ex, base._errorEnabled));
     }
 }
        private ScheduledImage SaveScheduleImageEndity(AssetApiModel assetApiModel)
        {
            var imageMetadata = new ScheduledImage()
            {
                FileName               = assetApiModel.FileName,
                DownloadUrl            = assetApiModel.Url,
                SuccessNotificationUrl = assetApiModel.SuccessNotificationUrl,
                CreatedDate            = DateTime.UtcNow
            };

            _context.ScheduledImages.Add(imageMetadata);

            _context.SaveChanges();
            return(imageMetadata);
        }
        public ActionResult Update(Guid id, AssetApiModel assetApiModel)
        {
            try
            {
                ApiResponse serviceResponse = this._assetService.GetSingle(id);
                if (serviceResponse.IsSuccess() == false)
                {
                    return(new ObjectNotFoundResult(serviceResponse));
                }

                Asset asset = serviceResponse.GetData <Asset>();
                _assetMapper.Map(assetApiModel, asset);
                serviceResponse = this._assetService.Update(asset);
                return(SendResponse(serviceResponse));
            }
            catch (Exception ex)
            {
                return(new UnknownErrorResult(ex, base._errorEnabled));
            }
        }
        public Asset Map(AssetApiModel assetApiModel, Asset asset = null)
        {
            if (asset == null)
            {
                asset = new Asset();
            }


            asset.Name                    = assetApiModel.Name;
            asset.AssetTypeId             = assetApiModel.AssetTypeId;
            asset.SerialNumber            = assetApiModel.SerialNumber;
            asset.Model                   = assetApiModel.Model;
            asset.Capacity                = assetApiModel.Capacity;
            asset.Guarantee               = assetApiModel.Guarantee;
            asset.Warranty                = assetApiModel.Warranty;
            asset.Manufacturer            = assetApiModel.Manufacturer;
            asset.CustomerCarePhoneNumber = assetApiModel.CustomerCarePhoneNumber;
            asset.VendorId                = assetApiModel.VendorId.ToNullableGuid();
            asset.InchargePersonId        = assetApiModel.InchargePersonId.ToNullableGuid();
            asset.OtherDetails            = assetApiModel.OtherDetails;
            return(asset);
        }
        public AssetApiModel Map(Asset asset, AssetApiModel assetApiModel = null)
        {
            if (assetApiModel == null)
            {
                assetApiModel = new AssetApiModel();
            }

            assetApiModel.Name                    = asset.Name;
            assetApiModel.AssetTypeId             = asset.AssetTypeId;
            assetApiModel.SerialNumber            = asset.SerialNumber;
            assetApiModel.Model                   = asset.Model;
            assetApiModel.Capacity                = asset.Capacity;
            assetApiModel.Guarantee               = asset.Guarantee;
            assetApiModel.Warranty                = asset.Warranty;
            assetApiModel.Manufacturer            = asset.Manufacturer;
            assetApiModel.CustomerCarePhoneNumber = asset.CustomerCarePhoneNumber;
            assetApiModel.VendorId                = asset.VendorId.ToString();
            assetApiModel.Vendor                  = asset.Vendor?.Name;
            assetApiModel.InchargePersonId        = asset.InchargePersonId.ToString();
            assetApiModel.InchargePerson          = asset.InchargePerson?.FirstName;
            assetApiModel.OtherDetails            = asset.OtherDetails;
            return(assetApiModel);
        }