public ActionResult AssignEmpToServices()
        {
            ViewBag.fullname = Session["UserName"];
            ViewBag.userid   = Session["UserID"];
            ViewBag.user_id  = new SelectList(db.user, "Id");
            int         UserID    = Convert.ToInt32(Session["UserID"]);
            var         manager   = db.user.SingleOrDefault(c => c.id == UserID);
            int         org_id    = db.organization.SingleOrDefault(c => c.manger_id == manager.id).id;
            var         emps      = db.Emp_Org_Services.Where(c => c.org_id == org_id).ToList();
            var         branches  = db.Branch.Where(c => c.organization_id == org_id).ToList();
            var         services  = db.Services_.Where(c => c.org_id == org_id).ToList();
            EmpsOrg     EmpsOrg   = new EmpsOrg();
            List <user> employees = new List <user>();

            foreach (var x in emps)
            {
                var e = db.user.SingleOrDefault(c => c.id == x.emp_id);
                var a = e.name;
                if (!employees.Contains(x.user))
                {
                    employees.Add(e);
                }
            }
            EmpsOrg.emps     = employees;
            EmpsOrg.branches = branches;
            EmpsOrg.services = services;
            return(View(EmpsOrg));
        }
        public ActionResult AssignEmpToServices(EmpsOrg EmpsOrg)
        {
            string result = "";

            ViewBag.fullname = Session["UserName"];
            ViewBag.userid   = Session["UserID"];
            ViewBag.user_id  = new SelectList(db.user, "Id");
            int UserID  = Convert.ToInt32(Session["UserID"]);
            var manager = db.user.SingleOrDefault(c => c.id == UserID);
            var org_id  = db.organization.SingleOrDefault(c => c.manger_id == manager.id).id;
            var e       = db.Emp_Org_Services.SingleOrDefault(c => c.emp_id == EmpsOrg.emp_id && c.branch_id == null && c.service_id == null);
            var e2      = db.Emp_Org_Services.Where(c => c.emp_id == EmpsOrg.emp_id).ToList();
            var check   = 0;

            foreach (var x in e2)
            {
                if (EmpsOrg.service_id == x.service_id)
                {
                    check = 1;
                }
            }
            if (e != null)
            {
                db.Emp_Org_Services.Remove(e);
                db.SaveChanges();
            }

            if (EmpsOrg.branch_id != e2[0].branch_id && e2[0].branch_id != null)
            {
                result = "هذا الموظف بالفعل مضاف لفرع لا يمكن اضافته الى فرع اخر...";
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            else if (check != 0)
            {
                result = "هذا الموظف مضاف بالفعل الى هذه الخدمة " +
                         db.Services_.SingleOrDefault(c => c.id == EmpsOrg.service_id).name;
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            else
            {
                var empOrgServices = new Emp_Org_Services
                {
                    emp_id     = EmpsOrg.emp_id,
                    service_id = EmpsOrg.service_id,
                    branch_id  = EmpsOrg.branch_id,
                    org_id     = org_id
                };
                db.Emp_Org_Services.Add(empOrgServices);
                db.SaveChanges();
                result = "تم بنجاح ...";
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }