public async Task <ActionResult> Create([Bind(Include = "Id,Name,Clients_Id,WorkshiftCategories_Id,DayOfWeek,Start,DurationMinutes,Notes,Active")] WorkshiftTemplateModels workshiftTemplateModels)
        {
            int check = (from wt in db.WsTemplate
                         where wt.Name == workshiftTemplateModels.Name &&
                         wt.Clients_Id == workshiftTemplateModels.Clients_Id &&
                         wt.WorkshiftCategories_Id == workshiftTemplateModels.WorkshiftCategories_Id &&
                         wt.DayOfWeek == workshiftTemplateModels.DayOfWeek &&
                         wt.Start == workshiftTemplateModels.Start &&
                         wt.DurationMinutes == workshiftTemplateModels.DurationMinutes
                         select wt).Count();

            if (check > 0)
            {
                ModelState.AddModelError("Duplicate", "Data Workshift Templates already exist!");
            }

            if (ModelState.IsValid)
            {
                workshiftTemplateModels.Id = Guid.NewGuid();
                db.WsTemplate.Add(workshiftTemplateModels);
                await db.SaveChangesAsync();

                return(RedirectToAction("Create"));
            }

            ViewBag.listClient   = new SelectList(db.Clients.Where(x => x.Active == true).OrderBy(x => x.CompanyName).ToList(), "Id", "CompanyName");
            ViewBag.listCategory = new SelectList(db.WsCategory.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name");
            var dow = from Common.Master.DayOfWeek d in Enum.GetValues(typeof(Common.Master.DayOfWeek))
                      select new { Id = (byte)d, Name = d.ToString() };

            ViewBag.listDOW = new SelectList(dow, "Id", "Name");
            return(View(workshiftTemplateModels));
        }
        // GET: WorkshiftTemplate/Edit/5
        public async Task <ActionResult> Edit(Guid?id)
        {
            Permissions p    = new Permissions();
            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));
                }
                WorkshiftTemplateModels workshiftTemplateModels = await db.WsTemplate.FindAsync(id);

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

                ViewBag.listClient   = new SelectList(db.Clients.Where(x => x.Active == true).OrderBy(x => x.CompanyName).ToList(), "Id", "CompanyName");
                ViewBag.listCategory = new SelectList(db.WsCategory.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name");
                var dow = from Common.Master.DayOfWeek d in Enum.GetValues(typeof(Common.Master.DayOfWeek))
                          select new { Id = (byte)d, Name = d.ToString() };
                ViewBag.listDOW = new SelectList(dow, "Id", "Name");
                return(View(workshiftTemplateModels));
            }
        }
        public async Task <ActionResult> DeleteConfirmed(Guid id)
        {
            WorkshiftTemplateModels workshiftTemplateModels = await db.WsTemplate.FindAsync(id);

            db.WsTemplate.Remove(workshiftTemplateModels);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        // GET: WorkshiftTemplate/Details/5
        public async Task <ActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkshiftTemplateModels workshiftTemplateModels = await db.WsTemplate.FindAsync(id);

            if (workshiftTemplateModels == null)
            {
                return(HttpNotFound());
            }
            return(View(workshiftTemplateModels));
        }