public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { BuildingEntities db = (BuildingEntities)e.Context; List <Employee> employees = db.Employees.Where(val => (this.EmployeeID.HasValue && val.ID == this.EmployeeID) || (val.UserID.HasValue && val.UserID == this.ID)).ToList(); employees.ForEach(val => { if (val.ID == this.EmployeeID) { val.UserID = this.ID; } else { val.UserID = null; } }); UpdateNames(); if (this.ID == db.CurrentUser.ID) { db.CurrentUser = this; } }
public void OnInserted(EntityJs.Client.Events.EntityEventArgs e) { BuildingEntities db = (BuildingEntities)e.Context; if (this.DateEnd.HasValue) { this.StatusID = TaskStatusesEnum.Completed; } if (this.StatusID == 0) { this.StatusID = TaskStatusesEnum.New; } if (this.ResponsibleID == 0 && this.Project != null) { this.UserResponsible = this.Project.UserResponsible; } if (!this.EmployeeID.HasValue && this.Project != null && this.Project.EmployeeID.HasValue) { this.EmployeeID = this.Project.EmployeeID; } if (!this.EmployeeID.HasValue && this.UserResponsible != null && this.UserResponsible.EmployeeID.HasValue) { this.EmployeeID = this.UserResponsible.EmployeeID; } if (!this.TurnID.HasValue) { this.Turn = db.Statbooks.FirstOrDefault(val => !val.Deleted && val.TypeID == StatbookTypesEnum.TaskTurns); } if (!this.VisibilityID.HasValue) { this.Visibility = db.Statbooks.FirstOrDefault(val => !val.Deleted && val.TypeID == StatbookTypesEnum.TaskVisibilities); } if (!TypeID.HasValue) { Type = db.TaskTypes.FirstOrDefault(val => !val.Deleted && val.SysName == "Task"); } }
public Folder GetFolder(Project project, bool saveChanges) { DateTime date = DateTime.Now; int userID = db.CurrentUser.ID; Folder folder = db.Folders.FirstOrDefault(val => val.ProjectID == project.ID && !val.ParentID.HasValue); if (folder == null) { var args = new EntityJs.Client.Events.EntityEventArgs(db, "Folders", "Folder", folder, EntityJs.Client.Events.ActionsEnum.Insert); folder = new Folder() { ProjectID = project.ID, Project = project, Name = project.Name, ChangeDate = date, ChangerID = userID, CreateDate = date, CreatorID = userID }; db.Folders.AddObject(folder); folder.OnInserted(args); if (saveChanges) { db.SaveChanges(); } } return(folder); }
public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { BuildingEntities db = (BuildingEntities)e.Context; this.UserID = db.CurrentUser.ID; }
public void OnDeleted(EntityJs.Client.Events.EntityEventArgs e) { this.RemoveFile(); }
public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { this.Name = this.Name.Replace(System.IO.Path.GetInvalidFileNameChars(), "_"); }
public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { UpdateProjectExpense((BuildingEntities)e.Context); }
public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { Settings.Clear(this.SysName); }
public void OnInserting(EntityJs.Client.Events.EntityEventArgs e) { RegistrationDate = DateTime.Now; LastLoginDate = DateTime.Now; //RoleID = (int)LanguageSchool.Models.SchoolEntities.RolesEnum.manager; }
public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { }
public void OnUpdating(EntityJs.Client.Events.EntityEventArgs e) { this.OldStatusID = StatusID; }
public void OnDeleting(EntityJs.Client.Events.EntityEventArgs e) { List <Expense> children = this.ChildExpenses.ToList(); children.ForEach(val => e.Context.DeleteObject(val)); }
public void OnUpdating(EntityJs.Client.Events.EntityEventArgs e) { e.Values.Remove("ParentID"); e.Values.Remove("Sum"); e.Values.Remove("DispatchID"); }
private Project DuplicateProject(Project Origin, Project Parent = null, Dictionary <ProjectTask, ProjectTask> TasksMap = null, int?Diff = null) { DateTime date = DateTime.Now; int userID = db.CurrentUser.ID; User user = db.CurrentUser; int diff = Diff ?? (date - Origin.StartDate).Days; Project project = Origin.Duplicate(); project.Name = string.Format("Копия - {0}", project.Name); project.CreatorID = userID; project.ChangerID = userID; project.ParentProject = Parent; db.Projects.AddObject(project); EntityJs.Client.Events.EntityEventArgs args = new EntityJs.Client.Events.EntityEventArgs(db, "Projects", "Project", project, EntityJs.Client.Events.ActionsEnum.Insert); project.OnInserted(args); TasksMap = TasksMap ?? new Dictionary <ProjectTask, ProjectTask>(); foreach (ProjectTask oldTask in Origin.ProjectTasks) { ProjectTask task = oldTask.Duplicate(); task.Creator = user.Login; task.Project = project; //if (task.DateBegin.HasValue) // task.DateBegin = task.DateBegin.Value.AddDays(diff); //if (task.DateEndPlan.HasValue) // task.DateEndPlan = task.DateEndPlan.Value.AddDays(diff); db.ProjectTasks.AddObject(task); args = new EntityJs.Client.Events.EntityEventArgs(db, "ProjectTasks", "ProjectTask", task, EntityJs.Client.Events.ActionsEnum.Insert); task.OnInserted(args); if (!oldTask.PreviousID.HasValue) { task.DateBegin = date; } if (task.Type != null && task.Type.Duration.HasValue && task.DateBegin.HasValue) { task.DateEndPlan = task.DateBegin.Value.AddDays(task.Type.Duration.Value); } TasksMap[oldTask] = task; } foreach (Project child in Origin.ChildProjects) { DuplicateProject(child, project, TasksMap, diff); } foreach (KeyValuePair <ProjectTask, ProjectTask> pair in TasksMap) { ProjectTask task; if (pair.Key.PreviousTask != null && pair.Value.PreviousTask == null && TasksMap.TryGetValue(pair.Key.PreviousTask, out task)) { pair.Value.PreviousTask = task; task.NextTasks.Add(pair.Value); } } //if (Parent == null) //{ // foreach (ProjectTask task in TasksMap.Values) // { // if (task.PreviousID.HasValue) // continue; // task.UpdateNextTasks(); // } //} return(project); }
public void OnSelecting(EntityJs.Client.Events.EntityEventArgs e) { }
public void OnInserted(EntityJs.Client.Events.EntityEventArgs e) { }
public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e) { this.SysName = this.Name.ReplaceRegex("[^A-Za-zА-Яа-я0-9]", "").ToLower(); }
public void OnDeleted(EntityJs.Client.Events.EntityEventArgs e) { }
public void OnInserted(EntityJs.Client.Events.EntityEventArgs e) { Count = Count <= 0 ? 1 : Count; }