/// <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); }
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)); }
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)); }
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")); }
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); }