public IHttpActionResult PostSampleRequest(PublicSampleRequest sampleRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                //create//
                SampleRequest _SampleRequest = new SampleRequest();
                _SampleRequest.Owner          = sampleRequest.Owner;
                _SampleRequest.Notes          = sampleRequest.Notes;
                _SampleRequest.ProjectName    = sampleRequest.ProjectName;
                _SampleRequest.Status         = false;
                _SampleRequest.CreatedDate    = System.DateTime.Now;
                _SampleRequest.SubmissionDate = System.DateTime.Now;
                _SampleRequest.ModifiedDate   = System.DateTime.Now;
                db.SampleRequest.Add(_SampleRequest);
                db.SaveChanges();
                var id = _SampleRequest.Id;
                foreach (var item in sampleRequest.PublicRequestAssetlist)
                {
                    SampleRequestAsset _SampleRequestAsset = new SampleRequestAsset();
                    _SampleRequestAsset.RequestId = _SampleRequest.Id;
                    _SampleRequestAsset.AssetType = item.AssetType;
                    _SampleRequestAsset.Notes     = item.AssetTitle;
                    _SampleRequestAsset.AssetId   = item.AssetId;
                    db.SampleRequestAsset.Add(_SampleRequestAsset);
                    db.SaveChanges();
                }
            }

            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(CreatedAtRoute("DefaultApi", new { id = sampleRequest.Id }, sampleRequest));
            //sampleInspiration.Image = imageStorage.getImage(UserName, assetType, sampleInspiration);

            //return CreatedAtRoute("DefaultApi", new { id = sampleInspiration.Id }, sampleInspiration);
        }
        public IHttpActionResult PutSampleRequest(PublicSampleRequest sampleRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                SampleRequest _SampleRequest = db.SampleRequest.SingleOrDefault(r => r.Id == sampleRequest.Id);
                _SampleRequest.Owner          = sampleRequest.Owner;
                _SampleRequest.Notes          = sampleRequest.Notes;
                _SampleRequest.ProjectName    = sampleRequest.ProjectName;
                _SampleRequest.Status         = true;
                _SampleRequest.CreatedDate    = sampleRequest.CreatedDate;
                _SampleRequest.SubmissionDate = sampleRequest.SubmissionDate;
                _SampleRequest.ModifiedDate   = System.DateTime.Now;
                db.SaveChanges();
                //var id = _SampleRequest.Id;

                foreach (SampleRequestAsset _SampleRequestAsset in db.SampleRequestAsset.Where(st => st.RequestId == sampleRequest.Id).ToList())
                {
                    db.SampleRequestAsset.Remove(_SampleRequestAsset);
                    db.SaveChanges();
                }

                foreach (var item in sampleRequest.PublicRequestAssetlist)
                {
                    SampleRequestAsset _SampleRequestAsset = new SampleRequestAsset();
                    _SampleRequestAsset.RequestId = _SampleRequest.Id;
                    _SampleRequestAsset.AssetType = item.AssetType;
                    _SampleRequestAsset.Notes     = item.AssetTitle;
                    _SampleRequestAsset.AssetId   = item.AssetId;
                    db.SampleRequestAsset.Add(_SampleRequestAsset);
                    db.SaveChanges();
                }
            }
            catch (DbUpdateConcurrencyException)
            {
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the sample Request in this collection. </summary>
        ///
        /// <remarks>   Shivam, 02/18/2018. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the sample Request in this
        ///     collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/SampleRequests
        public List <PublicSampleRequest> GetSampleRequests()
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());
            List <SampleRequest> SampleRequests = db.SampleRequest.Where(st => st.Owner == user.UserName).ToList <SampleRequest>();


            List <PublicSampleRequest> _PublicSampleRequests = new List <PublicSampleRequest>();

            #region  List Public Sample Request
            foreach (var SampleRequest in SampleRequests)
            {
                PublicSampleRequest _PublicSampleRequest = new PublicSampleRequest();

                _PublicSampleRequest.Id             = SampleRequest.Id;
                _PublicSampleRequest.Owner          = SampleRequest.Owner;
                _PublicSampleRequest.ProjectName    = SampleRequest.ProjectName;
                _PublicSampleRequest.Notes          = SampleRequest.Notes;
                _PublicSampleRequest.Status         = SampleRequest.Status;
                _PublicSampleRequest.SubmissionDate = SampleRequest.SubmissionDate;
                _PublicSampleRequest.CreatedDate    = SampleRequest.CreatedDate;
                _PublicSampleRequest.ModifiedDate   = SampleRequest.ModifiedDate;

                //Get asset

                List <PublicRequestAsset> _PublicRequestAssets = new List <PublicRequestAsset>();
                #region  List Public Request Assets
                //foreach (SampleRequestAsset _SampleRequestAsset in SampleRequest.SampleRequestAsset.ToList()) Where(st => st.RequestId == _PublicSampleRequest.Id).
                foreach (SampleRequestAsset _SampleRequestAsset in db.SampleRequestAsset.Where(st => st.RequestId == _PublicSampleRequest.Id).ToList())
                {
                    PublicRequestAsset _PublicRequestAsset = new PublicRequestAsset();

                    switch (_SampleRequestAsset.AssetType)
                    {
                    case "Product":
                        _PublicRequestAsset.Id         = _SampleRequestAsset.Id;
                        _PublicRequestAsset.AssetId    = _SampleRequestAsset.AssetId;
                        _PublicRequestAsset.AssetTitle = _SampleRequestAsset.Notes;

                        Product product = db.Products.Find(_SampleRequestAsset.AssetId);
                        if (product != null)
                        {
                            string assetType = "Products";
                            product = imageStorage.getImage(user.UserName, assetType, product);
                            //product = imageStorage.getImage("Techmer", "ProductTemplates", product, true);

                            _PublicRequestAsset.Assetbackground = product.ProductTemplate.Image;
                        }
                        //_PublicRequestAsset.Assetbackground = "";
                        _PublicRequestAsset.AssetType = _SampleRequestAsset.AssetType;
                        _PublicRequestAssets.Add(_PublicRequestAsset);

                        break;

                    case "Grid":
                        Grid grid = db.Grids.Find(_SampleRequestAsset.AssetId);
                        //CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
                        //var user = UserManager.FindById(User.Identity.GetUserId());
                        grid.Image = imageStorage.getImage(user.UserName, "Grids", grid);
                        _PublicRequestAsset.AssetId         = _SampleRequestAsset.AssetId;
                        _PublicRequestAsset.AssetTitle      = _SampleRequestAsset.Notes;
                        _PublicRequestAsset.Assetbackground = grid.Image;
                        _PublicRequestAsset.AssetType       = _SampleRequestAsset.AssetType;
                        _PublicRequestAssets.Add(_PublicRequestAsset);


                        break;

                    case "Color":
                        ColorSelection colorselection = db.ColorSelections.Find(_SampleRequestAsset.AssetId);
                        _PublicRequestAsset.AssetId         = _SampleRequestAsset.AssetId;
                        _PublicRequestAsset.AssetTitle      = _SampleRequestAsset.Notes;
                        _PublicRequestAsset.Assetbackground = colorselection.ColorStyle;
                        _PublicRequestAsset.AssetType       = _SampleRequestAsset.AssetType;
                        _PublicRequestAssets.Add(_PublicRequestAsset);
                        break;
                    }
                }
                _PublicSampleRequest.PublicRequestAssetlist = _PublicRequestAssets;

                #endregion

                _PublicSampleRequests.Add(_PublicSampleRequest);
            }

            #endregion


            return(_PublicSampleRequests);
        }