protected void InitTechnicalFields() { ChangeTracker.DetectChanges(); DateTime now = DateTime.Now; string user = GetUserId(); foreach (var entry in ChangeTracker.Entries().Where(e => e.State == EntityState.Added)) { if (entry.Entity is CranEntity) { CranEntity cranEntity = (CranEntity)entry.Entity; cranEntity.InsertDate = now; cranEntity.UpdateDate = now; cranEntity.InsertUser = user; cranEntity.UpdateUser = user; } } foreach (var entry in ChangeTracker.Entries().Where(e => e.State == EntityState.Modified)) { if (entry.Entity is CranEntity) { CranEntity cranEntity = (CranEntity)entry.Entity; cranEntity.UpdateDate = now; cranEntity.UpdateUser = user; } } }
protected virtual void CopyData(object dto, CranEntity entity) { if (dto is QuestionOptionDto && entity is QuestionOption) { QuestionOptionDto dtoSource = (QuestionOptionDto)dto; QuestionOption entityDestination = (QuestionOption)entity; entityDestination.IsTrue = dtoSource.IsTrue; entityDestination.Text = dtoSource.Text ?? string.Empty; entityDestination.IdQuestion = dtoSource.IdQuestion; } else if (dto is QuestionDto && entity is Question) { QuestionDto dtoSource = (QuestionDto )dto; Question entityDestination = (Question)entity; entityDestination.Title = dtoSource.Title; entityDestination.Text = dtoSource.Text ?? string.Empty; entityDestination.Explanation = dtoSource.Explanation; entityDestination.QuestionType = dtoSource.QuestionType; entityDestination.Language = Enum.Parse <Language>(dtoSource.Language); } else if (dto is RelQuestionTagDto && entity is RelQuestionTag) { RelQuestionTagDto dtoSource = (RelQuestionTagDto)dto; RelQuestionTag entityDestination = (RelQuestionTag)entity; entityDestination.IdQuestion = dtoSource.IdQuestion; entityDestination.IdTag = dtoSource.IdTag; } else if (dto is RelQuestionImageDto && entity is RelQuestionImage) { RelQuestionImageDto dtoSource = (RelQuestionImageDto)dto; RelQuestionImage entityDestination = (RelQuestionImage)entity; entityDestination.IdQuestion = dtoSource.IdQuestion; entityDestination.IdImage = dtoSource.IdImage; } else if (dto is ImageDto && entity is Image) { ImageDto dtoSource = (ImageDto)dto; Image entityDestination = (Image)entity; entityDestination.Width = dtoSource.Width; entityDestination.Height = dtoSource.Height; entityDestination.Full = dtoSource.Full; } else if (dto is CourseDto && entity is Course) { CourseDto dtoSource = (CourseDto)dto; Course entityDestination = (Course)entity; entityDestination.Title = dtoSource.Title; entityDestination.Language = Enum.Parse <Language>(dtoSource.Language); entityDestination.NumQuestionsToAsk = dtoSource.NumQuestionsToAsk; entityDestination.Description = dtoSource.Description; } else if (dto is RelCourseTagDto && entity is RelCourseTag) { RelCourseTagDto dtoSource = (RelCourseTagDto)dto; RelCourseTag entityDestination = (RelCourseTag)entity; entityDestination.IdCourse = dtoSource.IdCourse; entityDestination.IdTag = dtoSource.IdTag; } else { throw new NotImplementedException(); } }