public IHttpActionResult GetSampleRequest(long id)
        {
            SampleRequest        sampleRequest = db.SampleRequest.Find(id);
            CloudStorageProvider imageStorage  = new CloudStorageProvider(UserManager);

            return(Ok());
        }
        public IHttpActionResult PostProduct(Product product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());

            product = imageStorage.saveImage(user.UserName, assetType, product, true);

            db.ProductColors.AddRange(product.ProductColors);
            db.ProductTemplates.Add(product.ProductTemplate);
            db.Entry(product.ProductTemplate).State = EntityState.Unchanged;
            db.ProductTemplateColors.AddRange(product.ProductTemplate.ProductTemplateColors);
            foreach (ProductTemplateColor prodTempColor in product.ProductTemplate.ProductTemplateColors)
            {
                db.Entry(prodTempColor).State = EntityState.Unchanged;
            }

            db.Products.Add(product);
            db.SaveChanges();

            product = imageStorage.getImage(user.UserName, assetType, product);

            return(CreatedAtRoute("DefaultApi", new { id = product.Id }, product));
        }
Example #3
0
        public IHttpActionResult PostWorkspace(Workspace workspace)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!Authorized(User, workspace))
            {
                return(Unauthorized());
            }

            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());

            if (workspace.Image != "")
            {
                workspace.Filename = imageStorage.saveImage(user.UserName, assetType, workspace, true);
            }

            db.Workspaces.Add(workspace);
            db.SaveChanges();
            workspace.Image = imageStorage.getImage(user.UserName, assetType, workspace);

            return(CreatedAtRoute("DefaultApi", new { id = workspace.Id }, workspace));
        }
Example #4
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the index. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>   A response stream to send to the Index View. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        // GET: Admin/ProductTemplates
        public ActionResult Index()
        {
            List <ProductTemplate> ret              = new List <ProductTemplate>();
            CloudStorageProvider   imageStorage     = new CloudStorageProvider(UserManager);
            List <ProductTemplate> productTemplates = db.ProductTemplates.ToList();

            ret = imageStorage.getImages(UserName, assetType, productTemplates, false);
            return(View(ret));
        }
Example #5
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the index. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>   A response stream to send to the Index View. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        // GET: AdminProductTemplateColors
        public ActionResult Index()
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            var productTemplateColors = db.ProductTemplateColors.Include(p => p.ProductTemplate).ToList();

            productTemplateColors = imageStorage.getImages(UserName, assetType, productTemplateColors);
            return(View(productTemplateColors.ToList()));
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the product templates in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the product templates in this
        ///     collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/ProductTemplates
        public IEnumerable <ProductTemplate> GetProductTemplates()
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            //Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
            List <ProductTemplate> productTemplates = db.ProductTemplates.Where(pt => pt.Active == true).ToList();

            productTemplates = imageStorage.getImages(UserName, assetType, productTemplates, true);
            return(productTemplates.ToArray());
        }
Example #7
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the Sharing templates in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the sharing templates in this
        ///     collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/SharingTemplates
        public IEnumerable <ProductTemplate> GetPersonalTemplates()
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            //Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
            var user = UserManager.FindById(User.Identity.GetUserId());
            List <ProductTemplate> productTemplates = db.ProductTemplates.Where(pt => pt.Owner == user.UserName && pt.Active == true).ToList();

            productTemplates = imageStorage.getImages(UserName, assetType, productTemplates, true);
            return(productTemplates.ToArray());
        }
Example #8
0
        public ActionResult DeleteConfirmed(long id)
        {
            CloudStorageProvider imageStorage      = new CloudStorageProvider(UserManager);
            SampleInspiration    sampleInspiration = db.SampleInspirations.Find(id);

            imageStorage.deleteImage(UserName, assetType, sampleInspiration);
            db.SampleInspirations.Remove(sampleInspiration);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #9
0
        public ActionResult DeleteConfirmed(long id)
        {
            CloudStorageProvider imageStorage    = new CloudStorageProvider(UserManager);
            ProductTemplate      productTemplate = db.ProductTemplates.Find(id);

            imageStorage.deleteImage(UserName, assetType, productTemplate);
            db.ProductTemplates.Remove(productTemplate);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #10
0
        public ActionResult DeleteConfirmed(long id)
        {
            CloudStorageProvider imageStorage         = new CloudStorageProvider(UserManager);
            ProductTemplateColor productTemplateColor = db.ProductTemplateColors.Find(id);

            imageStorage.deleteImage(UserName, assetType, productTemplateColor);
            db.ProductTemplateColors.Remove(productTemplateColor);
            db.SaveChanges();
            //return RedirectToAction("Index");
            return(RedirectToAction("Details", "AdminProductTemplate", new { id = productTemplateColor.ProductTemplateId }));
        }
Example #11
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the index. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>   A response stream to send to the Index View. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: Admin/InspirationLibrary
        public ActionResult Index()
        {
            List <SampleInspiration> ret          = new List <SampleInspiration>();
            CloudStorageProvider     imageStorage = new CloudStorageProvider(UserManager);

            List <SampleInspiration> sampleInspirations = db.SampleInspirations.ToList();

            ret = imageStorage.getImages(UserName, assetType, sampleInspirations);

            return(View(ret));
        }
Example #12
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the workspaces in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the workspaces in this collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/Workspaces
        public IEnumerable <Workspace> GetWorkspaces()
        {
            List <Workspace>     ret          = new List <Workspace>();
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var UserId = User.Identity.GetUserId();
            var user   = UserManager.FindById(UserId);
            List <Workspace> workspaces = db.Workspaces.Where(ws => ws.UserId == User.Identity.Name).ToList <Workspace>();

            ret = imageStorage.getImages(user.UserName, assetType, workspaces);
            return(ret.OrderByDescending(r => r.ModifiedTimeStamp).ToArray());
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the products in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the products in this collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/Products
        public IEnumerable <Product> GetProducts()
        {
            List <Product>       ret          = new List <Product>();
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            var            user     = UserManager.FindById(User.Identity.GetUserId());
            List <Product> products = db.Products.Where(r => r.Workspace.UserId == user.UserName).OrderByDescending(r => r.ModifiedTimeStamp).ToList <Product>();

            products = imageStorage.getImages(user.UserName, assetType, products);
            //return products.ToArray();
            return(products);
        }
        public IHttpActionResult GetProductTemplate(long id)
        {
            CloudStorageProvider imageStorage    = new CloudStorageProvider(UserManager);
            ProductTemplate      productTemplate = db.ProductTemplates.Find(id);

            if (productTemplate == null || productTemplate.Active == false)
            {
                return(NotFound());
            }
            productTemplate = imageStorage.getImage(UserName, assetType, productTemplate, true);
            return(Ok(productTemplate));
        }
Example #15
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the sample inspirations in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the sample inspirations in this
        ///     collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/SampleInspirations
        public IEnumerable <SampleInspiration> GetSampleInspirations()
        {
            List <SampleInspiration> ret          = new List <SampleInspiration>();
            CloudStorageProvider     imageStorage = new CloudStorageProvider(UserManager);

            var user = UserManager.FindById(User.Identity.GetUserId());

            List <SampleInspiration> sampleInspirations = db.SampleInspirations.Where(r => r.Active == true).ToList <SampleInspiration>();

            ret = imageStorage.getImages(UserName, assetType, sampleInspirations);

            return(ret.ToArray());
        }
Example #16
0
        public IHttpActionResult GetSampleInspiration(long id)
        {
            SampleInspiration    sampleInspiration = db.SampleInspirations.Find(id);
            CloudStorageProvider imageStorage      = new CloudStorageProvider(UserManager);

            sampleInspiration.Image = imageStorage.getImage(UserName, assetType, sampleInspiration);
            if (sampleInspiration == null)
            {
                return(NotFound());
            }

            return(Ok(sampleInspiration));
        }
        public IHttpActionResult PostProductTemplate(ProductTemplate productTemplate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            productTemplate.FileName = imageStorage.saveImage(UserName, assetType, productTemplate);

            db.ProductTemplates.Add(productTemplate);
            db.SaveChanges();
            return(CreatedAtRoute("DefaultApi", new { id = productTemplate.Id }, productTemplate));
        }
        public IHttpActionResult GetProduct(long id)
        {
            Product product = db.Products.Find(id);
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());

            product = imageStorage.getImage(user.UserName, assetType, product);
            if (product == null)
            {
                return(NotFound());
            }

            return(Ok(product));
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the grids in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the grids in this collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/Grids
        public IEnumerable <Grid> GetGrids()
        {
            List <Grid>          ret          = new List <Grid>();
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            //Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
            var         user  = UserManager.FindById(User.Identity.GetUserId());
            List <Grid> grids = db.Grids.Where(r => r.Workspace.UserId == user.UserName).ToList <Grid>();

            LoadGridArrays(ref grids);
            ret = imageStorage.getImages(user.UserName, assetType, grids);

            return(ret.OrderByDescending(r => r.ModifiedTimeStamp).ToArray());
        }
        public IHttpActionResult PutProduct(long id, Product product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != product.Id)
            {
                return(BadRequest());
            }

            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());

            product = imageStorage.saveImage(user.UserName, assetType, product, false);

            db.Entry(product).State = EntityState.Modified;
            db.ProductColors.AddRange(product.ProductColors);
            foreach (ProductColor prodColor in product.ProductColors)
            {
                db.Entry(prodColor).State = EntityState.Modified;
            }
            db.ProductTemplates.Add(product.ProductTemplate);
            db.Entry(product.ProductTemplate).State = EntityState.Unchanged;
            db.ProductTemplateColors.AddRange(product.ProductTemplate.ProductTemplateColors);
            foreach (ProductTemplateColor prodTempColor in product.ProductTemplate.ProductTemplateColors)
            {
                db.Entry(prodTempColor).State = EntityState.Unchanged;
            }


            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets the Sharing templates in this collection. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <returns>
        ///     An enumerator that allows foreach to be used to process the sharing templates in this
        ///     collection.
        /// </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: api/SharingTemplates
        public IEnumerable <ProductTemplate> GetTemplates()
        {
            List <ProductTemplate> ret          = new List <ProductTemplate>();
            CloudStorageProvider   imageStorage = new CloudStorageProvider(UserManager);
            var user             = UserManager.FindById(User.Identity.GetUserId());
            var sharingTemplates = db.Sharing.Where(st => st.UserId == user.UserName).ToList();

            foreach (var item in sharingTemplates)
            {
                var products = db.ProductTemplates.SingleOrDefault(r => r.Id == item.AssetId && r.Active == true);
                ret.Add(products);
            }
            ret = imageStorage.getImages(UserName, assetType, ret, true);
            return(ret.ToArray());
        }
        public IHttpActionResult GetGrid(int id)
        {
            Grid grid = db.Grids.Find(id);
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());

            grid.Image = imageStorage.getImage(user.UserName, assetType, grid);

            if (grid == null)
            {
                return(NotFound());
            }

            return(Ok(grid));
        }
Example #23
0
        public IHttpActionResult PostSampleInspiration(SampleInspiration sampleInspiration)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            sampleInspiration.Filename = imageStorage.saveImage(UserName, assetType, sampleInspiration);
            db.SampleInspirations.Add(sampleInspiration);
            db.SaveChanges();

            sampleInspiration.Image = imageStorage.getImage(UserName, assetType, sampleInspiration);

            return(CreatedAtRoute("DefaultApi", new { id = sampleInspiration.Id }, sampleInspiration));
        }
Example #24
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Details the given identifier. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <param name="id">   The identifier. </param>
        ///
        /// <returns>   A response stream to send to the Details View. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // GET: Admin/InspirationLibrary/Details/5
        public ActionResult Details(long?id)
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SampleInspiration sampleInspiration = db.SampleInspirations.Find(id);

            if (sampleInspiration == null)
            {
                return(HttpNotFound());
            }
            sampleInspiration.Image = imageStorage.getImage(UserName, assetType, sampleInspiration);
            return(View(sampleInspiration));
        }
Example #25
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Deletes the given ID. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <param name="id">   The identifier. </param>
        ///
        /// <returns>   A response stream to send to the Delete View. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        // GET: AdminProductTemplateColors/Delete/5
        public ActionResult Delete(long?id)
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductTemplateColor productTemplateColor = db.ProductTemplateColors.Find(id);

            productTemplateColor = imageStorage.getImage(UserName, assetType, productTemplateColor);
            if (productTemplateColor == null)
            {
                return(HttpNotFound());
            }
            return(View(productTemplateColor));
        }
Example #26
0
        public ActionResult Create([Bind(Include = "Id,Title,Image,HasBackgroundImage,BackgroundImage,NumColors,Active")] ProductTemplate productTemplate, HttpPostedFileBase file)
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            if (ModelState.IsValid)
            {
                if (file != null && file.ContentLength > 0)
                {
                    productTemplate.FileName = imageStorage.saveImage(UserName, assetType, file);
                    db.ProductTemplates.Add(productTemplate);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            return(View(productTemplate));
        }
        public IHttpActionResult PostGrid(Grid grid)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);
            var user = UserManager.FindById(User.Identity.GetUserId());

            grid.Filename = imageStorage.saveImage(user.UserName, assetType, grid, true);

            db.Grids.Add(grid);
            db.SaveChanges();
            grid.Image = imageStorage.getImage(user.UserName, assetType, grid);

            return(CreatedAtRoute("DefaultApi", new { id = grid.Id }, grid));
        }
Example #28
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Details the given identifier. </summary>
        ///
        /// <remarks>   Aedmonds, 8/25/2017. </remarks>
        ///
        /// <param name="id">   The identifier. </param>
        ///
        /// <returns>   A response stream to send to the Details View. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        // GET: Admin/ProductTemplates/Details/5
        public ActionResult Details(long?id)
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductTemplate productTemplate = db.ProductTemplates.Find(id);

            if (productTemplate == null)
            {
                return(HttpNotFound());
            }
            productTemplate = imageStorage.getImage(UserName, assetType, productTemplate, true);
            return(View(productTemplate));
        }
        public static ICommandingDependencyResolver UseAzureStorageCommandAuditing(this ICommandingDependencyResolver dependencyResolver,
                                                                                   CloudStorageAccount cloudStorageAccount,
                                                                                   CloudBlobContainer commandPayloadContainer = null,
                                                                                   IStorageStrategy storageStrategy           = null,
                                                                                   AzureStorageAuditorOptions options         = null)
        {
            options = options ?? new AzureStorageAuditorOptions();

            if (!options.UseExecutionAuditor && !options.UsePostDispatchAuditor && !options.UsePreDispatchAuditor)
            {
                throw new AzureStorageConfigurationException("At least one auditor type must be configured");
            }
            CloudTableClient cloudTableClient = cloudStorageAccount.CreateCloudTableClient();

            if (commandPayloadContainer == null)
            {
                commandPayloadContainer = cloudStorageAccount.CreateCloudBlobClient().GetContainerReference("commandauditpayload");
            }
            if (storageStrategy == null)
            {
                storageStrategy = new SingleTableStrategy();
            }

            ICloudStorageProvider cloudStorageProvider = new CloudStorageProvider(cloudTableClient, commandPayloadContainer);

            dependencyResolver.RegisterInstance(cloudStorageProvider);
            dependencyResolver.RegisterInstance(storageStrategy);
            if (options.UsePreDispatchAuditor)
            {
                EnsureCommandingRuntime(dependencyResolver);
                dependencyResolver.AssociatedCommandingRuntime.UsePreDispatchCommandingAuditor <AzureStorageTableCommandAuditor>(dependencyResolver, options.AuditPreDispatchRootOnly);
            }
            if (options.UsePostDispatchAuditor)
            {
                EnsureCommandingRuntime(dependencyResolver);
                dependencyResolver.AssociatedCommandingRuntime.UsePostDispatchCommandingAuditor <AzureStorageTableCommandAuditor>(dependencyResolver, options.AuditPostDispatchRootOnly);
            }
            if (options.UseExecutionAuditor)
            {
                EnsureCommandingRuntime(dependencyResolver);
                dependencyResolver.AssociatedCommandingRuntime.UseExecutionCommandingAuditor <AzureStorageTableCommandAuditor>(dependencyResolver, options.AuditExecuteDispatchRootOnly);
            }

            return(dependencyResolver);
        }
Example #30
0
        public ActionResult Create([Bind(Include = "Title,Image,Active")] SampleInspiration sampleInspiration, HttpPostedFileBase file)
        {
            CloudStorageProvider imageStorage = new CloudStorageProvider(UserManager);

            if (ModelState.IsValid)
            {
                if (file != null && file.ContentLength > 0)
                {
                    sampleInspiration.Filename = imageStorage.saveImage(UserName, assetType, file);
                    db.SampleInspirations.Add(sampleInspiration);
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }

            return(View(sampleInspiration));
        }