예제 #1
0
        public void Update_Work(Work work)
        {
            int oldTypeID = 0, newTypeID = 0;
            var workDB = Works.FirstOrDefault(x => x.ID == work.ID);

            if (workDB != null)
            {
                oldTypeID = workDB.WorkTypeID;
                newTypeID = work.WorkTypeID;
            }
            ChangeTracker.DetectChanges();
            Works.AddOrUpdate(work);

            // todo была ошибка, проверить в истории
            if (oldTypeID != newTypeID) //При изменении типа! Удалить-перенести атрибуты типа
            {
                Update_AttrValuesFields_ForWork(work, (WorkTypeEnum)oldTypeID, (WorkTypeEnum)newTypeID);
            }

            SaveChanges();
        }