public async Task <Unit> Handle(ForgetPasswordRequest request, CancellationToken cancellationToken) { var user = await _userRepository.GetUserByEmailAsync(request.Email); user.UpdatePassword(PasswordHelper.Decrypt(user.Password)); return(Unit.Value); }
public async Task <DataTable> QueryAsync(UserData userData, string sql, List <DatabaseParameter> parameters = null) { try { var connString = BuildConnectionString( Properties.AppSettings.ConnectionString, userData.Username, PasswordHelper.Decrypt(userData.EncryptedPassword)); using var conn = new OracleConnection(connString); try { await conn.OpenAsync(); var tx = (OracleTransaction)await conn.BeginTransactionAsync(); DataTable result = new DataTable("DATA"); sql = sql.Replace("&AO", Properties.AppSettings.ApplicationOwner); using var cmd = new OracleCommand(sql, conn); cmd.Transaction = tx; if (parameters != null && parameters.Count > 0) { foreach (var paremeter in parameters) { if (sql.IndexOf(":" + paremeter.Name) > -1) { cmd.Parameters.Add(GetParameter(paremeter.Name, paremeter.Value, paremeter.DataType, paremeter.Direction, paremeter.Size)); } } } var reader = await cmd.ExecuteReaderAsync(); result.Load(reader); return(result); } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { await conn.CloseAsync(); } } } catch (Exception ex) { throw ExceptionHelper.Throw(ex, ClassName, "QueryAsync"); } }
public async Task <int> ExecuteAsync(UserData userData, string commandText, CommandType commandType = CommandType.Text, List <DatabaseParameter> parameters = null) { try { var connString = BuildConnectionString( Properties.AppSettings.ConnectionString, userData.Username, PasswordHelper.Decrypt(userData.EncryptedPassword)); using var conn = new OracleConnection(connString); try { await conn.OpenAsync(); var tx = (OracleTransaction)await conn.BeginTransactionAsync(); commandText = commandText.Replace("&AO", Properties.AppSettings.ApplicationOwner); using var cmd = new OracleCommand(commandText, conn) { Transaction = tx, CommandType = commandType }; if (parameters != null && parameters.Count > 0) { foreach (var paremeter in parameters) { if (commandText.IndexOf(":" + paremeter.Name) > -1) { cmd.Parameters.Add(GetParameter(paremeter.Name, paremeter.Value, paremeter.DataType, paremeter.Direction, paremeter.Size)); } } } return(await cmd.ExecuteNonQueryAsync()); } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { await conn.CloseAsync(); } } } catch (Exception ex) { throw ExceptionHelper.Throw(ex, ClassName, "ExecuteAsync"); } }
public async Task <JwtAuthResultDTO> Authenticate(string UserNameOrEmail, string password) { User user; var isEmail = UserNameOrEmail.IsEmail(); if (isEmail) { user = await _userRepository.GetUserByEmailAsync(UserNameOrEmail); } else { user = await _userRepository.GetUserByNameAsync(UserNameOrEmail); } if (user is null) { throw new NotFoundException("User is empty"); } if (password != PasswordHelper.Decrypt(user.Password)) { throw new InfrastructureException("Password is wrong"); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_config.Secret); var claimList = new List <Claim>() { new Claim(ClaimTypes.Name, user.UserName) }; user.Roles.ForEach(role => { claimList.Add(new Claim(ClaimTypes.Role, role.Value)); }); var jwtToken = new JwtSecurityToken( _config.Issuer, _config.Audience, claimList, expires: DateTime.UtcNow.AddMinutes(_config.AccessTokenExpiration), signingCredentials: new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)); return(new JwtAuthResultDTO() { Token = new JwtSecurityTokenHandler().WriteToken(jwtToken), TokenExpiredDate = DateTime.UtcNow.AddMinutes(_config.AccessTokenExpiration) }); }
public static void RegisterMappings(MapperConfigurationExpression mapperConfiguration) { mapperConfiguration.CreateMap <User, UserDto>() .ForMember(dto => dto.Password, m => m.MapFrom(src => PasswordHelper.Decrypt(src.Password))); mapperConfiguration.CreateMap <UserDto, User>(); mapperConfiguration.CreateMap <Career, CareerDto>(); mapperConfiguration.CreateMap <CareerDto, Career>(); mapperConfiguration.CreateMap <CareerForm, CareerFormDto>(); mapperConfiguration.CreateMap <CareerFormDto, CareerForm>(); mapperConfiguration.CreateMap <CountryDto, Country>() .ForMember(dto => dto.Cityes, m => m.Ignore()); mapperConfiguration.CreateMap <Country, CountryDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.CountryTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))); mapperConfiguration.CreateMap <CityDto, City>(); mapperConfiguration.CreateMap <City, CityDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.CityTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))); mapperConfiguration.CreateMap <CurrencyDto, Currency>(); mapperConfiguration.CreateMap <Currency, CurrencyDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.CurrencyTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))); mapperConfiguration.CreateMap <OwnerDto, Owner>(); mapperConfiguration.CreateMap <Owner, OwnerDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.OwnerTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.OwnerTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Description))) .ForMember(dto => dto.PostionDictionary, m => m.MapFrom(src => src.OwnerTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Postion))); mapperConfiguration.CreateMap <NewsDto, News>(); mapperConfiguration.CreateMap <News, NewsDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.NewsTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.NewsTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Description))); mapperConfiguration.CreateMap <FeatureDto, Feature>(); mapperConfiguration.CreateMap <Feature, FeatureDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.FeaturesTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))); mapperConfiguration.CreateMap <HotelFeatureDto, HotelFeature>(); mapperConfiguration.CreateMap <HotelFeature, HotelFeatureDto>(); mapperConfiguration.CreateMap <HotelDto, Hotel>(); mapperConfiguration.CreateMap <Hotel, HotelDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.HotelTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Title))) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.HotelTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Description))); // .ForMember(dto => dto.City, m => m.MapFrom(src => src.CityId)); mapperConfiguration.CreateMap <HotelReservationDto, HotelReservation>(); mapperConfiguration.CreateMap <HotelReservation, HotelReservationDto>() ; mapperConfiguration.CreateMap <BackageDto, Backage>(); mapperConfiguration.CreateMap <Backage, BackageDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.BackageTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Title))) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.BackageTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Description))); mapperConfiguration.CreateMap <BackageReservationDto, BackageReservation>(); mapperConfiguration.CreateMap <BackageReservation, BackageReservationDto>(); mapperConfiguration.CreateMap <OfferDto, Offer>(); mapperConfiguration.CreateMap <Offer, OfferDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.OfferTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Title))) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.OfferTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Description))); //.ForMember(dto => dto.City, m => m.MapFrom(src => src.CityId)); mapperConfiguration.CreateMap <OfferReservationDto, OfferReservation>(); mapperConfiguration.CreateMap <OfferReservation, OfferReservationDto>(); mapperConfiguration.CreateMap <TourDto, Tour>(); mapperConfiguration.CreateMap <Tour, TourDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.TourTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Title))) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.TourTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Description))); mapperConfiguration.CreateMap <TourReservationDto, TourReservation>(); mapperConfiguration.CreateMap <TourReservation, TourReservationDto>(); mapperConfiguration.CreateMap <TypeDto, Type>(); mapperConfiguration.CreateMap <Type, TypeDto>() .ForMember(dto => dto.TitleDictionary, m => m.MapFrom(src => src.TypeTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Title))); mapperConfiguration.CreateMap <AboutDto, About>(); mapperConfiguration.CreateMap <About, AboutDto>() .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.AboutTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Description))); mapperConfiguration.CreateMap <ContactDto, ContactUs>(); mapperConfiguration.CreateMap <ContactUs, ContactDto>() .ForMember(dto => dto.AddressDictionary, m => m.MapFrom(src => src.ContactUsTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Address))); mapperConfiguration.CreateMap <ContactDto, ContactUs>(); mapperConfiguration.CreateMap <ContactUs, ContactDto>() .ForMember(dto => dto.AddressDictionary, m => m.MapFrom(src => src.ContactUsTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Address))); mapperConfiguration.CreateMap <NewsLetterDto, NewsLetter>(); mapperConfiguration.CreateMap <NewsLetter, NewsLetterDto>(); mapperConfiguration.CreateMap <ContactFormDto, Inquery>(); mapperConfiguration.CreateMap <Inquery, ContactFormDto>(); Mapper.Initialize(mapperConfiguration); }
public static void RegisterMappings(MapperConfigurationExpression mapperConfiguration) { mapperConfiguration.CreateMap <User, UserDto>(); mapperConfiguration.CreateMap <ReceptionistDto, Receptionist>(); mapperConfiguration.CreateMap <Receptionist, ReceptionistDto>() .ForMember(dto => dto.Password, m => m.MapFrom(src => PasswordHelper.Decrypt(src.Password))); mapperConfiguration.CreateMap <RefreshToken, RefreshTokenDto>().ReverseMap(); mapperConfiguration.CreateMap <FeatureDetailDto, FeatureDetail>() .ForMember(dto => dto.FeatureDetailTranslations, m => m.MapFrom(src => src.DescriptionDictionary.Select(x => new FeatureDetailTranslation { Description = x.Value, Language = x.Key }).ToList())); mapperConfiguration.CreateMap <FeatureDetail, FeatureDetailDto>() .ForMember(dto => dto.FeatureId, m => m.MapFrom(src => src.FeatureControl.FeatureId)) .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.FeatureDetailTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.Description))) .ForMember(dto => dto.Availables, m => m.MapFrom(src => src.Availables.Where(x => !x.IsDeleted).ToList())); mapperConfiguration.CreateMap <FeatureDto, Feature>() .ForMember(dto => dto.FeatureTranslations, m => m.MapFrom(src => src.FeatureNameDictionary.Select(x => new FeatureTranslation { FeatureName = x.Value, Language = x.Key }).ToList())) // .ForMember(dto => dto.FeatureDetails, m => m.MapFrom(src => src.FeatureDetails)) .ForMember(dto => dto.Restaurants, m => m.Ignore()); mapperConfiguration.CreateMap <Feature, FeatureDto>() .ForMember(dto => dto.FeatureNameDictionary, m => m.MapFrom(src => src.FeatureTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.FeatureName))) //.ForMember(dto => dto.FeatureDetails, m => m.MapFrom(src => src.FeatureDetails.Where(x=>!x.IsDeleted))) .ForMember(dto => dto.FeatureControl, m => m.MapFrom(src => src.FeatureControls.Where(x => x.IsActive).OrderBy(x => x.Order))) .ForMember(dto => dto.Restaurants, m => m.MapFrom(src => src.Restaurants.Where(x => !x.IsDeleted))); mapperConfiguration.CreateMap <FeatureControl, FeatureControlDetailDto>() .ForMember(dto => dto.FeatureDetails, m => m.MapFrom(src => src.FeatureDetails.Where(x => !x.IsDeleted).ToList())); mapperConfiguration.CreateMap <Feature, FeatureInfoDto>() .ForMember(dto => dto.FeatureNameDictionary, m => m.MapFrom(src => src.FeatureTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.FeatureName))) .ForMember(dto => dto.FeatureControl, m => m.MapFrom(src => src.FeatureControls.Where(x => x.IsActive).OrderBy(x => x.Order))); mapperConfiguration.CreateMap <Supervisor, SupervisorDto>() .ForMember(dto => dto.Password, m => m.MapFrom(src => PasswordHelper.Decrypt(src.Password))) .ForMember(dto => dto.Features, m => m.MapFrom(src => src.SupervisorFeatures.Where(x => !x.Feature.IsDeleted && x.Feature.IsActive).Select(x => x.Feature).ToList())); mapperConfiguration.CreateMap <SupervisorDto, Supervisor>(); mapperConfiguration.CreateMap <RoomDto, Room>() .ForMember(dto => dto.UserName, m => m.MapFrom(src => src.RoomName)) .ForMember(dto => dto.UserId, m => m.MapFrom(src => src.RoomId)); mapperConfiguration.CreateMap <Room, RoomDto>() .ForMember(dto => dto.Password, m => m.MapFrom(src => PasswordHelper.Decrypt(src.Password))) .ForMember(dto => dto.RoomName, m => m.MapFrom(src => src.UserName)) .ForMember(dto => dto.RoomId, m => m.MapFrom(src => src.UserId)) .ForMember(dto => dto.BuildingName, m => m.MapFrom(src => src.Building.BuildingName)) .ForMember(dto => dto.FloorName, m => m.MapFrom(src => src.Floor.FloorName)); mapperConfiguration.CreateMap <RequestDto, Request>() .ForMember(dto => dto.CreationBy, m => m.MapFrom(src => src.RoomId)) .ForMember(dto => dto.ModifiedBy, m => m.Ignore()); mapperConfiguration.CreateMap <Request, RequestDto>() .ForMember(dto => dto.FeatureNameDictionary, m => m.MapFrom(src => src.Feature.FeatureTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.FeatureName))) .ForMember(dto => dto.RestaurantName, m => m.MapFrom(src => src.Feature.Type == Enums.FeatureType.Restaurant? src.Restaurant.RestaurantTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.RestaurantName) : new Dictionary <string, string>())) .ForMember(dto => dto.RoomName, m => m.MapFrom(src => src.Creater.UserName)) .ForMember(dto => dto.RoomId, m => m.MapFrom(src => src.Creater.UserId)) .ForMember(dto => dto.CreateTime, m => m.MapFrom(src => src.CreateTime)) .ForMember(dto => dto.ModifyTime, m => m.MapFrom(src => src.ModifyTime)) .ForMember(dto => dto.Modifier, m => m.MapFrom(src => src.Modifier.UserName)) .ForMember(dto => dto.RequestDetails, m => m.MapFrom(src => src.RequestDetails)) .ForMember(dto => dto.Type, m => m.MapFrom(src => src.Feature.Type)); mapperConfiguration.CreateMap <RequestDetail, RequestDetailDto>() .ForMember(dto => dto.DescriptionDictionary, m => m.MapFrom(src => src.Request.Feature.Type == Enums.FeatureType.Normal? src.FeatureDetail.FeatureDetailTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.Description) : src.ItemSize.Item.ItemTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.ItemName))) .ForMember(dto => dto.Price, m => m.MapFrom(src => src.Price)); //.ForMember(dto => dto.IsFree, m => m.MapFrom(src => src.FeatureDetail.IsFree)); mapperConfiguration.CreateMap <RequestDetailDto, RequestDetail>(); mapperConfiguration.CreateMap <RestaurantTypeTranslation, RestaurantTypeDto>(); mapperConfiguration.CreateMap <RestaurantType, RestaurantTypeDto>() .ForMember(dto => dto.TypeNameDictionary, m => m.MapFrom(src => src.RestaurantTypeTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.TypeName))); mapperConfiguration.CreateMap <Restaurant, RestaurantDTO>() .ForMember(dto => dto.RestaurantName, m => m.MapFrom(src => src.RestaurantTranslations.FirstOrDefault().RestaurantName)) .ForMember(dto => dto.RestaurantDescription, m => m.MapFrom(src => src.RestaurantTranslations.FirstOrDefault().RestaurantDescription)) .ForMember(dto => dto.RestaurantTypeName, m => m.MapFrom(src => src.RestaurantType.RestaurantTypeTranslations.FirstOrDefault().TypeName)) .ForMember(dto => dto.RestaurantAdminPassword, m => m.MapFrom(src => PasswordHelper.Decrypt(src.RestaurantAdmin.Password))) .ForMember(dto => dto.Image, m => m.Ignore()) // .ForMember(dto => dto.ConsumedWaiters,m => m.MapFrom(src => src.RestaurantWaiters.Count(x=>!x.IsDeleted))) .ForMember(dto => dto.RestaurantTypeNameDictionary, m => m.MapFrom(src => src.RestaurantType.RestaurantTypeTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.TypeName))) .ForMember(dto => dto.RestaurantNameDictionary, m => m.MapFrom(src => src.RestaurantTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.RestaurantName))) .ForMember(dto => dto.RestaurantDescriptionDictionary, m => m.MapFrom(src => src.RestaurantTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.RestaurantDescription))); //.ForMember(dto => dto.RestaurantAdminUserName, // m => m.MapFrom(src => PasswordHelper.Decrypt(src.RestaurantAdmin.UserName))); mapperConfiguration.CreateMap <Restaurant, RestaurantNameDto>() .ForMember(dto => dto.RestaurantNameDictionary, m => m.MapFrom(src => src.RestaurantTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.RestaurantName))); mapperConfiguration.CreateMap <CategoryDTO, Category>(); mapperConfiguration.CreateMap <Category, CategoryDTO>() .ForMember(dest => dest.CategoryName, m => m.MapFrom(src => src.CategoryTranslations.FirstOrDefault().CategoryName)) .ForMember(dest => dest.RestaurantId, m => m.MapFrom(src => src.Menu.RestaurantId)) .ForMember(dto => dto.CategoryNameDictionary, m => m.MapFrom(src => src.CategoryTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.CategoryName))); mapperConfiguration.CreateMap <MenuDTO, Menu>(); mapperConfiguration.CreateMap <Menu, MenuDTO>() .ForMember(dest => dest.MenuName, m => m.MapFrom(src => src.MenuTranslations.FirstOrDefault().MenuName)) .ForMember(dto => dto.MenuNameDictionary, m => m.MapFrom(src => src.MenuTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.MenuName))); mapperConfiguration.CreateMap <Menu, MenuWithCategoriesDTO>() .ForMember(dest => dest.MenuName, m => m.MapFrom(src => src.MenuTranslations.FirstOrDefault().MenuName)) .ForMember(dest => dest.Categories, m => m.MapFrom(src => src.Categories)); mapperConfiguration.CreateMap <ItemSize, SizeDto>() .ForMember(dest => dest.SizeName, m => m.MapFrom(src => src.Size.SizeTranslations.FirstOrDefault(x => x.Language.ToLower() == Thread.CurrentThread.CurrentCulture.Name.ToLower()).SizeName)) .ForMember(dto => dto.SizeNameDictionary, m => m.MapFrom(src => src.Size.SizeTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.SizeName))); mapperConfiguration.CreateMap <ItemSideItem, SideItemDTO>() .ForMember(dest => dest.SideItemName, m => m.MapFrom(src => src.SideItem.SideItemTranslations.FirstOrDefault(x => x.Language.ToLower() == Thread.CurrentThread.CurrentCulture.Name.ToLower()).SideItemName)) .ForMember(dest => dest.Value, m => m.MapFrom(src => src.SideItem.Value)) .ForAllMembers(opts => opts.Condition(src => { var sideItemTranslation = src.SideItem.SideItemTranslations .FirstOrDefault(x => x.Language.ToLower() == Thread.CurrentThread.CurrentCulture.Name.ToLower()); return(sideItemTranslation != null && sideItemTranslation .SideItemName != null); })); mapperConfiguration.CreateMap <ItemDTO, Item>(); mapperConfiguration.CreateMap <Item, ItemDTO>() .ForMember(dest => dest.ItemName, m => m.MapFrom(src => src.ItemTranslations.FirstOrDefault().ItemName)) .ForMember(dest => dest.ItemDescription, m => m.MapFrom(src => src.ItemTranslations.FirstOrDefault().ItemDescription)) .ForMember(dest => dest.MenuId, m => m.MapFrom(src => src.Category.MenuId)) .ForMember(dest => dest.RestaurantId, m => m.MapFrom(src => src.Category.Menu.RestaurantId)) .ForMember(dest => dest.Sizes, m => m.MapFrom(src => src.ItemSizes.Where(x => !x.Size.IsDeleted))) .ForMember(dest => dest.ItemSizes, m => m.MapFrom(src => src.ItemSizes.Where(x => !x.Size.IsDeleted))) .ForMember(dest => dest.SideItems, m => m.MapFrom(src => src.ItemSideItems.Where(x => !x.SideItem.IsDeleted))) .ForMember(dto => dto.ItemNameDictionary, m => m.MapFrom(src => src.ItemTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.ItemName))) .ForMember(dto => dto.ItemDescriptionDictionary, m => m.MapFrom(src => src.ItemTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.ItemDescription))); mapperConfiguration.CreateMap <ItemSize, ItemSizeDto>() .ForMember(dest => dest.SizeName, m => m.MapFrom(src => src.Size.SizeTranslations.FirstOrDefault().SizeName)) .ForMember(dto => dto.SizeNameDictionary, m => m.MapFrom(src => src.Size.SizeTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.SizeName))); mapperConfiguration.CreateMap <SizeDto, Size>(); mapperConfiguration.CreateMap <Size, SizeDto>() .ForMember(dest => dest.SizeName, m => m.MapFrom(src => src.SizeTranslations.FirstOrDefault().SizeName)) .ForMember(dto => dto.SizeNameDictionary, m => m.MapFrom(src => src.SizeTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.SizeName))); mapperConfiguration.CreateMap <SideItemDTO, SideItem>(); mapperConfiguration.CreateMap <SideItem, SideItemDTO>() .ForMember(dest => dest.SideItemName, m => m.MapFrom(src => src.SideItemTranslations.FirstOrDefault().SideItemName)); mapperConfiguration.CreateMap <Item, ItemNamesDto>() .ForMember(dest => dest.ItemName, m => m.MapFrom(src => src.ItemTranslations.FirstOrDefault().ItemName)); mapperConfiguration.CreateMap <RestaurantWaiterDTO, RestaurantWaiter>(); mapperConfiguration.CreateMap <RestaurantWaiter, RestaurantWaiterDTO>() .ForMember(dto => dto.Password, m => m.MapFrom(src => PasswordHelper.Decrypt(src.Password))) .ForMember(dto => dto.BranchTitleDictionary, m => m.MapFrom(src => src.Branch.BranchTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.BranchTitle))); //.ForMember(dto => dto.Start, m => m.MapFrom(src => src.Package.Start.Date.ToShortDateString())) //.ForMember(dto => dto.End, m => m.MapFrom(src => src.Package.End.Date.ToShortDateString())); mapperConfiguration.CreateMap <Background, BackgroundDto>(); mapperConfiguration.CreateMap <BackgroundDto, Background>(); mapperConfiguration.CreateMap <Template, TemplateDTO>(); mapperConfiguration.CreateMap <Category, CategoryNamesDTO>() .ForMember(dest => dest.ItemCount, m => m.MapFrom(src => src.Items.Count(x => x.IsActive))) .ForMember(dto => dto.CategoryNameDictionary, m => m.MapFrom(src => src.CategoryTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.CategoryName))); mapperConfiguration.CreateMap <PageDTO, Page>(); mapperConfiguration.CreateMap <BranchDto, Branch>(); mapperConfiguration.CreateMap <Branch, BranchDto>() .ForMember(dest => dest.BranchTitle, m => m.MapFrom(src => src.BranchTranslations.FirstOrDefault().BranchTitle)) .ForMember(dest => dest.BranchAddress, m => m.MapFrom(src => src.BranchTranslations.FirstOrDefault().BranchAddress)) .ForMember(dto => dto.BranchTitleDictionary, m => m.MapFrom(src => src.BranchTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.BranchTitle))) .ForMember(dto => dto.BranchAddressDictionary, m => m.MapFrom(src => src.BranchTranslations.ToDictionary(translation => translation.Language.ToLower(), translation => translation.BranchAddress))); mapperConfiguration.CreateMap <FeedBackDto, FeedBack>(); mapperConfiguration.CreateMap <FeedBack, FeedBackDto>() .ForMember(dto => dto.RoomName, m => m.MapFrom(src => src.Creater.UserName)); mapperConfiguration.CreateMap <BuildingDto, Building>(); mapperConfiguration.CreateMap <Building, BuildingDto>(); mapperConfiguration.CreateMap <FloorDto, Floor>(); mapperConfiguration.CreateMap <Floor, FloorDto>(); mapperConfiguration.CreateMap <FeaturesBackground, FeaturesBackgroundDto>(); mapperConfiguration.CreateMap <FeaturesBackgroundDto, FeaturesBackground>(); mapperConfiguration.CreateMap <Available, AvailableDto>(); mapperConfiguration.CreateMap <AvailableDto, Available>(); mapperConfiguration.CreateMap <Room, RoomNameDto>() .ForMember(dto => dto.RoomName, m => m.MapFrom(src => src.UserName)) .ForMember(dto => dto.RoomId, m => m.MapFrom(src => src.UserId)); mapperConfiguration.CreateMap <Feature, FeatureNameDto>() .ForMember(dto => dto.FeatureNameDictionary, m => m.MapFrom(src => src.FeatureTranslations.ToDictionary( translation => translation.Language.ToLower(), translation => translation.FeatureName))); mapperConfiguration.CreateMap <Request, RequestStatusDto>() .ForMember(dto => dto.RoomName, m => m.MapFrom(src => src.Creater.UserName)) .ForMember(dto => dto.RoomId, m => m.MapFrom(src => src.Creater.UserId)) .ForMember(dto => dto.CreateTime, m => m.MapFrom(src => src.CreateTime)) .ForMember(dto => dto.ModifyTime, m => m.MapFrom(src => src.ModifyTime)); //mapperConfiguration.CreateMap<Control, ControlDto>() // .ForMember(dto => dto.NameDictionary, // m => m.MapFrom(src => src.ControlTranslations.ToDictionary( // translation => translation.Language.ToLower(), translation => translation.Name))); Mapper.Initialize(mapperConfiguration); //Mapper.Initialize(m => //{ // m.CreateMap<User, UserDto>(); //}); }