using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Entity; using DTO; using System.Reflection.Metadata; namespace Dto2Entities { public static class Extention { // --------------------------- ToDto --------------------------- \\ public static CharacterDTO ToDto(this Character item) { CharacterDTO character = new CharacterDTO(); character.Id = item.Id; character.Name = item.Name; character.imagePath = item.Images.ImgPath; return character; } public static List ToDto(this List item) { List characterDTOs = new List(); foreach (Character character in item) { characterDTOs.Add(character.ToDto()); } return characterDTOs; } public static CommentaryDTO ToDto(this Commentary item) { CommentaryDTO commentary = new CommentaryDTO(); commentary.Id = item.Id; commentary.Date = item.DateCommentary; commentary.Comment = item.Comment; commentary.User = item.User.UserName; commentary.ImagePath = item.User.Images.ImgPath; return commentary; } public static List ToDto(this List item) { List commentaryDTOs = new List(); foreach (Commentary commentary in item) { commentaryDTOs.Add(commentary.ToDto()); } return commentaryDTOs; } // Surement a refaire car Faoirite Entity modifier sur branche EF public static FavoriteDTO ToDto(this Favorite item) { FavoriteDTO favorite = new FavoriteDTO(); favorite.IdUser = item.IdUsers; favorite.IdQuote = item.IdQuote; return favorite; } public static List ToDto(this List item) { List favoriteDTOs = new List(); foreach (Favorite favorite in item) { favoriteDTOs.Add(favorite.ToDto()); } return favoriteDTOs; } public static ImageDTO ToDto(this Images item) { ImageDTO image = new ImageDTO(); image.IdImage = item.Id; image.ImagePath = item.ImgPath; return image; } public static List ToDto(this List item) { List imageDTOs = new List(); foreach (Images images in item) { imageDTOs.Add(images.ToDto()); } return imageDTOs; } public static QuestionDTO ToDto(this Question item) { QuestionDTO question = new QuestionDTO(); question.Id = item.Id; question.Question = item.Text; question.AnswerA = item.AnswerA; question.AnswerB = item.AnswerB; question.AnswerC = item.AnswerC; question.AnswerD = item.AnswerD; question.CorrectAnswer = item.CorrectAnswer; return question; } public static List ToDto(this List item) { List questionDTOs = new List(); foreach (Question question in item) { questionDTOs.Add(question.ToDto()); } return questionDTOs; } public static QuizDTO ToDto(this Quiz item) { QuizDTO quiz = new QuizDTO(); quiz.Id = item.Id; quiz.NbQuestion = item.NbQuestion; quiz.Title = item.Title; quiz.ImagePath = item.Images.ImgPath; return quiz; } public static List ToDto(this List item) { List quizDTOs = new List(); foreach (Quiz quiz in item) { quizDTOs.Add(quiz.ToDto()); } return quizDTOs; } // Surement a refaire car QuizQuestion Entity modifier sur branche EF public static QuizQuestionDTO ToDto(this QuizQuestion item) { QuizQuestionDTO quizQuestion = new QuizQuestionDTO(); quizQuestion.IdQuiz = item.IdQuiz; quizQuestion.IdQuestion = item.IdQuestion; return quizQuestion; } public static List ToDto(this List item) { List quizQuestionDTOs = new List(); foreach (QuizQuestion quizQuestion in item) { quizQuestionDTOs.Add(quizQuestion.ToDto()); } return quizQuestionDTOs; } public static QuoteDTO ToDto(this Quote item) { QuoteDTO quote = new QuoteDTO(); quote.Id = item.Id; quote.Content = item.Content; quote.DateSource = item.Source.Year; quote.Character = item.Character.Name; quote.TitleSource = item.Source.Title; quote.Langage = item.Langage.ToDto(); quote.ImagePath = item.Character.Images.ImgPath; quote.Like = item.Likes; quote.Type = item.Source.TypeSrc.ToDto(); quote.IsValide = item.IsValid; return quote; } public static List ToDto(this List item) { List quoteDTOs = new List(); foreach (Quote quote in item) { quoteDTOs.Add(quote.ToDto()); } return quoteDTOs; } public static SourceDTO ToDto(this Source item) { SourceDTO source = new SourceDTO(); source.Id = item.Id; source.Date = item.Year; source.Title = item.Title; source.Type = item.TypeSrc.ToDto(); return source; } public static List ToDto(this List item) { List sourceDTOs = new List(); foreach (Source source in item) { sourceDTOs.Add(source.ToDto()); } return sourceDTOs; } public static UserDTO ToDto(this Users item) { UserDTO user = new UserDTO(); user.Id = item.Id; user.Pseudo = item.UserName; user.Password = item.Password; user.Email = item.Email; user.date = item.Created; user.ImageProfil = item.Images.ImgPath; return user; } public static List ToDto(this List item) { List users = new List(); foreach (Users user in item) { users.Add(user.ToDto()); } return users; } public static TypeLangageDTO ToDto(this LangEnum item) { switch (item) { case LangEnum.vf: return TypeLangageDTO.vf; case LangEnum.vo: return TypeLangageDTO.vo; default: return TypeLangageDTO.vo; } } public static TypeSrcEnumDTO ToDto(this TypeSrcEnum item) { switch (item) { case TypeSrcEnum.movie: return TypeSrcEnumDTO.movie; case TypeSrcEnum.book: return TypeSrcEnumDTO.book; case TypeSrcEnum.series: return TypeSrcEnumDTO.serie; case TypeSrcEnum.videogame: return TypeSrcEnumDTO.videogame; default: return TypeSrcEnumDTO.movie; } } // --------------------------- ToEntity --------------------------- \\ public static Character ToEntity(this CharacterDTO item) { Character character = new Character(); character.Id = item.Id; character.Name = item.Name; character.Images.ImgPath = item.imagePath ; return character; } public static List ToEntity(this List item) { List characters = new List(); foreach (CharacterDTO character in item) { characters.Add(character.ToEntity()); } return characters; } public static Commentary ToEntity(this CommentaryDTO item) { Commentary commentary = new Commentary(); commentary.Id = item.Id; commentary.DateCommentary = item.Date; commentary.Comment = item.Comment; commentary.User = new Users(); commentary.User.UserName = item.User; commentary.User.Images = new Images(); commentary.User.Images.ImgPath = item.ImagePath; return commentary; } public static List ToEntity(this List item) { List commentarys = new List(); foreach (CommentaryDTO commentary in item) { commentarys.Add(commentary.ToEntity()); } return commentarys; } // Surement a refaire car Faoirite Entity modifier sur branche EF public static Favorite ToEntity(this FavoriteDTO item) { Favorite favorite = new Favorite(); favorite.IdUsers = item.IdUser; favorite.IdQuote = item.IdQuote; return favorite; } public static List ToEntity(this List item) { List favorites = new List(); foreach (FavoriteDTO favorite in item) { favorites.Add(favorite.ToEntity()); } return favorites; } public static Images ToEntity(this ImageDTO item) { Images image = new Images(); image.Id = item.IdImage; image.ImgPath = item.ImagePath; return image; } public static List ToEntity(this List item) { List images = new List(); foreach (ImageDTO image in item) { images.Add(image.ToEntity()); } return images; } public static Question ToEntity(this QuestionDTO item) { Question question = new Question(); question.Id = item.Id; question.Text = item.Question; question.AnswerA = item.AnswerA; question.AnswerB = item.AnswerB; question.AnswerC = item.AnswerC; question.AnswerD = item.AnswerD; question.CorrectAnswer = item.CorrectAnswer; return question; } public static List ToEntity(this List item) { List questions = new List(); foreach (QuestionDTO question in item) { questions.Add(question.ToEntity()); } return questions; } public static Quiz ToEntity(this QuizDTO item) { Quiz quiz = new Quiz(); quiz.Id = item.Id; quiz.NbQuestion = item.NbQuestion; quiz.Title = item.Title; quiz.Images.ImgPath = item.ImagePath; return quiz; } public static List ToEntity(this List item) { List quizs = new List(); foreach (QuizDTO quiz in item) { quizs.Add(quiz.ToEntity()); } return quizs; } // Surement a refaire car QuizQuestion Entity modifier sur branche EF public static QuizQuestion ToEntity(this QuizQuestionDTO item) { QuizQuestion quizQuestion = new QuizQuestion(); quizQuestion.IdQuiz = item.IdQuiz; quizQuestion.IdQuestion = item.IdQuestion; return quizQuestion; } public static List ToEntity(this List item) { List quizQuestions = new List(); foreach (QuizQuestionDTO quizQuestion in item) { quizQuestions.Add(quizQuestion.ToEntity()); } return quizQuestions; } public static Quote ToEntity(this QuoteDTO item) { Quote quote = new Quote(); quote.Id = item.Id; quote.Content = item.Content; quote.Source = new Source(); quote.Source.Year = item.DateSource; quote.Character = new Character(); quote.Character.Name = item.Character; quote.Source.Title = item.TitleSource; quote.Langage = item.Langage.ToEntity(); quote.Character.Images = new Images(); quote.Character.Images.ImgPath = item.ImagePath; quote.Likes = item.Like; quote.Source.TypeSrc = item.Type.ToEntity(); quote.IsValid = item.IsValide; return quote; } public static List ToEntity(this List item) { List quotes = new List(); foreach (QuoteDTO quote in item) { quotes.Add(quote.ToEntity()); } return quotes; } public static Source ToEntity(this SourceDTO item) { Source source = new Source(); source.Id = item.Id; source.Year = item.Date; source.Title = item.Title; source.TypeSrc = item.Type.ToEntity(); return source; } public static List ToEntity(this List item) { List sources = new List(); foreach (SourceDTO source in item) { sources.Add(source.ToEntity()); } return sources; } public static Users ToEntity(this UserDTO item) { Users user = new Users(); user.Id = item.Id; user.UserName = item.Pseudo; user.Password = item.Password; user.Email = item.Email; user.Created = item.date; user.Images = new Images(); user.Images.ImgPath = item.ImageProfil; return user; } public static List ToEntity(this List item) { List users = new List(); foreach (UserDTO user in item) { users.Add(user.ToEntity()); } return users; } public static LangEnum ToEntity(this TypeLangageDTO item) { switch (item) { case TypeLangageDTO.vf: return LangEnum.vf; case TypeLangageDTO.vo: return LangEnum.vo; default: return LangEnum.vo; } } public static TypeSrcEnum ToEntity(this TypeSrcEnumDTO item) { switch (item) { case TypeSrcEnumDTO.movie: return TypeSrcEnum.movie; case TypeSrcEnumDTO.book: return TypeSrcEnum.book; case TypeSrcEnumDTO.serie: return TypeSrcEnum.series; case TypeSrcEnumDTO.videogame: return TypeSrcEnum.videogame; default: return TypeSrcEnum.movie; } } } }