Пример #1
0
        /// <summary>
        /// Evaluate
        /// </summary>
        /// <returns></returns>
        public override object DoEvaluate()
        {
            object result = null;

            foreach (var assigment in _declarations)
            {
                this.VarExp   = assigment.Item1;
                this.ValueExp = assigment.Item2;

                // CASE 1: Assign variable.  a = 1
                if (this.VarExp is VariableExpr)
                {
                    AssignHelper.SetVariableValue(this.Ctx, this, _isDeclaration, this.VarExp, this.ValueExp);
                }
                // CASE 2: Assign member.
                //      e.g. dictionary       :  user.name = 'kishore'
                //      e.g. property on class:  user.age  = 20
                else if (this.VarExp is MemberAccessExpr)
                {
                    AssignHelper.SetMemberValue(this.Ctx, this, this.VarExp, this.ValueExp);
                }
                // Case 3: Assign value to index: "users[0]" = <expression>;
                else if (this.VarExp is IndexExpr)
                {
                    AssignHelper.SetIndexValue(this.Ctx, this, this.VarExp, this.ValueExp);
                }
            }
            return(LObjects.Null);
        }
Пример #2
0
        public ActionResult Assign(int id)
        {
            var          project = db.Projects.Find(id);
            AssignHelper helper  = new AssignHelper(db);
            var          model   = new AssignUsersViewModel();

            model.Project       = project;
            model.SelectedUsers = helper.ListAssignedUsers(id).Select(u => u.Id).ToArray();
            model.Users         = new MultiSelectList(db.Users.Where(u => (u.DisplayName != "N/A" && u.DisplayName != "(Remove Assigned User)")).OrderBy(u => u.FirstName), "Id", "DisplayName", model.SelectedUsers);

            return(View(model));
        }
        public ActionResult MyOrders()         // Add int id
        {
            // Assign orders to kitchen staff
            AssignHelper assignHelper = new AssignHelper(staffRepo, orderRepo);
            var          result       = orderRepo.GetAll()
                                        .Where(o => o.IsActive == true && o.KitchenStaffId == null && (DateTime.Now - o.OrderTime).TotalMinutes > 5).ToList();

            assignHelper.AssignKitchenStaff(result);

            _UserViewModel currentUser = new _UserViewModel();

            currentUser.UserId = User.Identity.GetUserId();
            log.Info(User.Identity.GetUserId() + " " + "was disabled");
            return(View("MyOrders", currentUser));
        }
Пример #4
0
        public ActionResult Create([Bind(Include = "Id,Title,Body,Created,Updated,AuthorId")] Project project, string authorId)
        {
            if (ModelState.IsValid)
            {
                string AuthorId = User.Identity.GetUserId();
                authorId        = AuthorId;
                project.Created = DateTimeOffset.Now;
                db.Projects.Add(project);

                AssignHelper helper = new AssignHelper(db);
                helper.AddProjectToUser(project.Id, authorId);

                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            return(View(project));
        }
Пример #5
0
        public ActionResult Assign(AssignUsersViewModel model)
        {
            var          project = db.Projects.Find(model.Project.Id);
            AssignHelper helper  = new AssignHelper(db);

            foreach (var user in db.Users.Select(r => r.Id).ToList())
            {
                helper.RemoveProjectFromUser(project.Id, user);
            }
            if (model.SelectedUsers != null)
            {
                foreach (var user in model.SelectedUsers)
                {
                    helper.AddProjectToUser(project.Id, user);
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #6
0
        public static Boolean AssignRights(UserSession Session, String CardID)
        {
            logger.Info("cardId='{0}'", CardID);
            using (new Impersonator(ServerExtension.Domain, ServerExtension.User, ServerExtension.SecurePassword))
            {
                Guid CardId = new Guid(CardID);
                switch (Session.CardManager.GetCardState(CardId))
                {
                case ObjectState.Existing:
                    CardData Card = Session.CardManager.GetCardData(CardId);

                    List <TargetObject> TObjects = AssignHelper.LoadMatrix(Settings.MatrixPath, Settings.CardSheetName, Settings.Domain);
                    Card.UnlockCard();
                    logger.Debug("Card unlocked.'");
                    ExtraCard Extra = Card.GetExtraCard();
                    if (Extra.IsNull())
                    {
                        Extra = new ExtraCard(Card);
                    }
                    logger.Debug("ExtraCard received.'");

                    if (!Extra.IsNull())
                    {
                        String CategoryName = Extra.CategoryName;
                        logger.Info("Категория = '{0}'", CategoryName);

                        if (!String.IsNullOrEmpty(CategoryName))
                        {
                            TargetObject TObject = TObjects.FirstOrDefault(to => to.Name == CategoryName);
                            if (!TObject.IsNull())
                            {
                                CardDataSecurity Rights = Card.GetAccessControl();
                                Rights.SetOwner(new NTAccount(Settings.Domain, "DV Admins"));
                                Rights = Rights.RemoveExplicitRights();


                                foreach (AssignGroup Group in TObject.Groups)
                                {
                                    try { Rights.SetAssignGroup(TObject, Group); }
                                    catch (Exception ex) { logger.ErrorException(String.Format("Группа '{0}'", Group.Name), ex); }
                                }

                                AssignGroup[] FolderGroups = TObject.Groups.Where(g => g.DirectoryRights != 0).ToArray();
                                if (FolderGroups.Length > 0)
                                {
                                    String FolderPath = Extra.Path;
                                    if (!String.IsNullOrEmpty(FolderPath))
                                    {
                                        DirectoryInfo Folder = new DirectoryInfo(FolderPath);
                                        if (Folder.Exists)
                                        {
                                            foreach (AssignGroup Group in FolderGroups)
                                            {
                                                try { Folder.SetAssignGroup(TObject, Group); }
                                                catch (Exception ex) { logger.ErrorException(String.Format("Группа '{0}'", Group.Name), ex); }
                                            }
                                        }

                                        else
                                        {
                                            logger.Warn(String.Format("Карточка '{0}' ссылается на несуществующую папку'{1}'", Card.Id, Folder.FullName));
                                        }
                                    }
                                }

                                Card.SetAccessControl(Rights);
                                logger.Info("Права назначены!");
                                return(true);
                            }
                            logger.Warn("Категория '{0}' не найдена в матрице.", CategoryName);
                        }
                    }

                    logger.Info("Права не назначены.");
                    return(false);

                default:
                    return(false);
                }
            }
        }
 /// <summary>
 /// Присваивает экземпляры сервисов специально размеченным полям.
 /// </summary>
 public static void AssignServices(this object instance, IServiceProvider provider)
 {
     AssignHelper.Assign(instance, provider);
 }