public async Task <ActionResult> Edit(Guid?id)
        {
            Permission p    = new Permission();
            bool       auth = p.IsGranted(User.Identity.Name, this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + this.ControllerContext.RouteData.Values["action"].ToString());

            if (!auth)
            {
                return(new ViewResult()
                {
                    ViewName = "Unauthorized"
                });
            }
            else
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                ExpenseCategoriesModels expenseCategoriesModels = await db.ExpenseCategories.FindAsync(id);

                if (expenseCategoriesModels == null)
                {
                    return(HttpNotFound());
                }
                return(View(expenseCategoriesModels));
            }
        }
        public async Task <ActionResult> Create([Bind(Include = "Id,Name,Notes,Active")] ExpenseCategoriesModels expenseCategoriesModels)
        {
            if (ModelState.IsValid)
            {
                expenseCategoriesModels.Id     = Guid.NewGuid();
                expenseCategoriesModels.Active = true;
                db.ExpenseCategories.Add(expenseCategoriesModels);

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(expenseCategoriesModels));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,Name,Notes,Active")] ExpenseCategoriesModels expenseCategoriesModels)
        {
            if (ModelState.IsValid)
            {
                var current_data = await db.ExpenseCategories.FindAsync(expenseCategoriesModels.Id);

                current_data.Name            = expenseCategoriesModels.Name;
                current_data.Notes           = expenseCategoriesModels.Notes;
                current_data.Active          = expenseCategoriesModels.Active;
                db.Entry(current_data).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(expenseCategoriesModels));
        }