public ActionResult Edit([Bind(Include = "CollectionId,ApplicationId,TenantId,Name,Created,Status")] EditJobCollectionViewModel collectionViewModel)
        {
            try
            {
                if (User.IsInRole("SystemAdministrator") || collectionViewModel.TenantId == CurrentTenant.TenantId)
                {
                    using (var ctx = new SchedulerDbContext())
                    {
                        // Get existing collection from db
                        var collection = ctx.Collections.Where(c => c.CollectionId == collectionViewModel.CollectionId).FirstOrDefault();

                        collection.Name   = collectionViewModel.Name;
                        collection.Status = collectionViewModel.Status;

                        if (ModelState.IsValid)
                        {
                            //Update collection
                            ctx.Entry(collection).State = EntityState.Modified;
                            ctx.SaveChanges();
                            return(RedirectToAction("Index"));
                        }
                    }
                }
                else
                {
                    return(View("Authorize"));
                }

                using (var saaSctx = new SaasDbContext())
                {
                    ViewBag.TenantId      = new SelectList(saaSctx.Tenants.ToList(), "TenantId", "Name");
                    ViewBag.ApplicationId = new SelectList(saaSctx.Applications.ToList(), "Id", "Name");
                }
            }

            catch (Exception ex)
            {
                LogService.Info("Collections not found", ex.Message, ex.InnerException);
            }

            return(View(collectionViewModel));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //Create the model
            var model = new EditJobCollectionViewModel();

            var collection = new JobCollection();

            try
            {
                using (var ctx = new SchedulerDbContext())
                {
                    //Get collection from db
                    collection = ctx.Collections.Find(id);

                    if (collection == null)
                    {
                        return(HttpNotFound());
                    }

                    using (var saaSctx = new SaasDbContext())
                    {
                        ViewBag.TenantId      = new SelectList(saaSctx.Tenants.ToList(), "TenantId", "Name");
                        ViewBag.ApplicationId = new SelectList(saaSctx.Applications.ToList(), "Id", "Name");

                        //Add collection to model
                        model.ApplicationId = collection.ApplicationId;
                        model.CollectionId  = collection.CollectionId;
                        model.Name          = collection.Name;
                        model.Created       = collection.Created;
                        model.Updated       = collection.Updated;
                        model.Status        = collection.Status;

                        if (User.IsInRole("SystemAdministrator") || collection.TenantId == CurrentTenant.TenantId)
                        {
                            model.TenantId = collection.TenantId;
                        }
                        else
                        {
                            return(View("Authorize"));
                        }
                    }
                }

                // Create the breadcrumb
                var breadcrumb = new List <BreadcrumbItemViewModel>();
                breadcrumb.Add(new BreadcrumbItemViewModel()
                {
                    Text = "Collections",
                    Link = "/Collections"
                });

                breadcrumb.Add(new BreadcrumbItemViewModel()
                {
                    Text = collection.Name,
                    Link = "/Collections/" + id + "/Details"
                });

                breadcrumb.Add(new BreadcrumbItemViewModel()
                {
                    Text = "Edit"
                });

                ViewBag.Breadcrumb = breadcrumb;
            }

            catch (Exception ex)
            {
                LogService.Info("Collections not found", ex.Message, ex.InnerException);
            }

            return(View(model));
        }