コード例 #1
0
 public void OnDeleting(EntityJs.Client.Events.EntityEventArgs e)
 {
     try
     {
         BuildingEntities db = (BuildingEntities)e.Context;
         var child           = this.ChildFolders.ToList();
         foreach (var item in child)
         {
             EntityJs.Client.Events.EntityEventArgs args = new EntityJs.Client.Events.EntityEventArgs(db, "Folders", "Folder", item, EntityJs.Client.Events.ActionsEnum.Delete);
             item.OnDeleting(args);
             db.DeleteObject(item);
             item.OnDeleted(args);
         }
         var files = this.Files.ToList();
         foreach (var item in files)
         {
             EntityJs.Client.Events.EntityEventArgs args = new EntityJs.Client.Events.EntityEventArgs(db, "Files", "File", item, EntityJs.Client.Events.ActionsEnum.Delete);
             item.OnDeleting(args);
             db.DeleteObject(item);
             item.OnDeleted(args);
         }
     }
     catch (Exception ex)
     {
         new Log().Error(ex);
     }
 }
コード例 #2
0
ファイル: Project.cs プロジェクト: diliger/AdCrm
        public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e)
        {
            BuildingEntities db = (BuildingEntities)e.Context;

            if (this.Deleted)
            {
                List <ProjectTask> tasks    = this.ProjectTasks.ToList();
                List <ProjectNote> notes    = this.ProjectNotes.ToList();
                List <Project>     projects = this.ChildProjects.ToList();

                foreach (ProjectTask task in tasks)
                {
                    EntityJs.Client.Events.EntityEventArgs args = new EntityJs.Client.Events.EntityEventArgs(db, "ProjectTasks", "ProjectTask", task, EntityJs.Client.Events.ActionsEnum.Delete);
                    task.OnDeleting(args);
                    db.DeleteObject(task);
                    task.OnDeleted(args);
                }
                foreach (ProjectNote note in notes)
                {
                    EntityJs.Client.Events.EntityEventArgs args = new EntityJs.Client.Events.EntityEventArgs(db, "ProjectNotes", "ProjectNote", note, EntityJs.Client.Events.ActionsEnum.Delete);
                    note.OnDeleting(args);
                    db.DeleteObject(note);
                    note.OnDeleted(args);
                }
                foreach (Project project in projects)
                {
                    EntityJs.Client.Events.EntityEventArgs args = new EntityJs.Client.Events.EntityEventArgs(db, "Projects", "Project", project, EntityJs.Client.Events.ActionsEnum.Edit);
                    project.OnDeleting(args);
                    project.Deleted = true;
                    project.OnDeleted(args);
                }
            }
        }
コード例 #3
0
        public void OnUpdated(EntityJs.Client.Events.EntityEventArgs e)
        {
            BuildingEntities db = (BuildingEntities)e.Context;

            if (TypeID == (int)BuildingEntities.ContractorTypesEnum.Person)
            {
                List <LegalDetail> details = db.LegalDetails.Where(val => val.ContractorID == this.ID).ToList();
                details.ForEach(val => db.DeleteObject(val));
            }
            else if (TypeID == (int)BuildingEntities.ContractorTypesEnum.Company)
            {
                List <PhysicalDetail> details = db.PhysicalDetails.Where(val => val.ContractorID == this.ID).ToList();
                details.ForEach(val => db.DeleteObject(val));
            }
            RefreshContacts(db);
        }
コード例 #4
0
ファイル: Invoice.cs プロジェクト: diliger/AdCrm
        public void OnDeleting(EntityJs.Client.Events.EntityEventArgs e)
        {
            BuildingEntities db       = (BuildingEntities)e.Context;
            List <Payment>   payments = Payments.ToList();

            foreach (Payment p in payments)
            {
                db.DeleteObject(p);
            }
        }