public MFCBotModel(MFCBotContext dbContext) { SectionOffices = dbContext.SectionOffice.ToList(); Offices = dbContext.Office.Where(x => (x.IsActive != null && x.TerritoryID != null && (bool)x.IsActive) || x.Name == "Ярмарка").ToList(); var supportedOffices = SectionOffices.Select(y => y.OfficeID); Offices = Offices.Where(x => supportedOffices.Contains(x.OfficeID)).ToList(); //Services = dbContext.Service.DistinctBy(x => x.DisplayName).OrderByDescending(x => x.Priority).ToList(); // исключил услуги за ненадобностью. Оставил в коде на всякий случай //foreach (var item in Services) //{ // item.DisplayName = item.DisplayName.Replace("\r", ""); // item.DisplayName = item.DisplayName.Replace("\n", ""); // item.DisplayName = item.DisplayName.Replace(Environment.NewLine, ""); //} AllSections = dbContext.Section.Where(x => x.IsActive).OrderByDescending(x => x.Rating).ToList(); foreach (var item in Sections) { item.Name = item.Name.Replace("\r", ""); item.Name = item.Name.Replace("\n", ""); item.Name = item.Name.Replace(Environment.NewLine, ""); } Texts = dbContext.BotText.ToList(); Jokes = dbContext.BotJoke.ToList(); WindowsOffices = dbContext.WindowsOffice.ToList(); }
public MFCBotModel Update(string key, MFCBotContext dbContext) { Remove(key); var dataOfBot = new MFCBotModel(dbContext); Set(key, dataOfBot); return(dataOfBot); }
public MainAnswerHelper(DBHelpers.Models.MFCModels.BotUser _botUser, MFCBotContext _context, BotUserRequest _thisRequest, List <VKApiRequestModel> _requests) { context = _context; botUser = _botUser; thisRequest = _thisRequest; requests = _requests; string key = "MFCDATAOFBOT"; var datafromCache = cacheHelper.Get(key); if (datafromCache == null) { mfcDataOfBot = cacheHelper.Update(key, context); } else { mfcDataOfBot = (MFCBotModel)datafromCache; } if (botUser.NowIs != MFCBotWhatIsHappeningNow.SettingOffice) { var usersOffice = mfcDataOfBot.Offices.FirstOrDefault(x => x.AisMFCID == botUser.OfficeID); if (usersOffice.Name == "Ярмарка") { usersOffice.OfficeID = 326; } //получаем все секции, которые относятся к выбранному филиалу mfcDataOfBot.Sections = mfcDataOfBot.AllSections. Where(x => mfcDataOfBot.SectionOffices. Where(z => z.OfficeID == usersOffice.OfficeID). Select(y => y.SectionID).Contains(x.SectionID)).DistinctBy(x => x.Name).ToList(); //сохраняем из них только листья mfcDataOfBot.RetainLeafs(); } sendHelper = new ApiRouter(SocialNetworkType.VK, null, botUser, requests); textHelper = new BotTextHelper(botUser.Locale, SocialNetworkType.VK, mfcDataOfBot.Texts); }