protected async Task LoadSettings(string prefix) { try { var result = (await apiClient.GetTenantSettings()).Where(i => i.Key.ToString().StartsWith(prefix)).ToDictionary(i => i.Key, i => i); foreach (var def in TenantSettingValues.Default.Where(i => i.Key.ToString().StartsWith(prefix))) { if (!result.ContainsKey(def.Key)) { var entity = new TenantSetting() { Key = def.Key, Type = def.Value.Item2, Value = def.Value.Item1 }; result.Add(def.Key, entity); apiClient.AddEntity(entity); } } settings = result; } catch (Exception ex) { matToaster.Add(ex.GetBaseException().Message, MatToastType.Danger, L["Operation Failed"]); } }
public IActionResult Patch(string id, [FromBody] JsonPatchDocument <TenSetting> tenantSettingPatch) { try { if (Guid.TryParse(id, out Guid parsedId)) { //var userId = User.FindFirstValue("sub"); TenantSetting tenantSetting = _unitOfWork.TenantSettings.Get(parsedId); TenSetting tenSetting = _mapper.Map <TenSetting>(tenantSetting); tenantSettingPatch.ApplyTo(tenSetting); _mapper.Map(tenSetting, tenantSetting); _unitOfWork.Complete(); return(CreatedAtRoute("Get", new { id = _mapper.Map <TenSetting>(tenantSetting).Id }, _mapper.Map <TenSetting>(tenantSetting))); } } catch (Exception e) { string message = e.Message; } return(BadRequest()); }
public void Process(AttachArgs args) { MediaItem mi = args.MediaItem; try { CrunchOptions crunchOptions; if (mi != null) { crunchOptions = new CrunchOptions(); FillSetting objFillSetting = new FillSetting(); TenantSetting objTennantSetting = objFillSetting.getSetting(mi.MediaPath, mi.Database.Name, mi.InnerItem.Language.ToString()); if (mi.Size > objTennantSetting.MinimumKBSize && mi.Size < objTennantSetting.MaxImageSize) { crunchOptions.APIKey = objTennantSetting.ApiKey; crunchOptions.APISecret = objTennantSetting.ApiSecret; crunchOptions.fullname = mi.Name + "." + mi.Extension; crunchOptions.IsEnabled = objTennantSetting.IsEnabled; crunchOptions.wait = true; crunchOptions.lossy = objTennantSetting.Lossy; crunchOptions.dev = objTennantSetting.IsDev; crunchOptions.enhance = objTennantSetting.Enhance; CrunchImage.ProcessMediaItem(mi, crunchOptions); } else { Log.Info(string.Format("Image Size is {0} {1}", mi.Size, ",KB which is not fit in minimum & maximum size defined in setting"), this); } } } catch (System.Exception exception) { Log.Error(string.Format("Could not shrink item {0}", mi.InnerItem.Paths.FullPath), exception, this); } }
public async Task <IActionResult> CreateSetting([DataSourceRequest] DataSourceRequest request, [FromQuery] int tenantId) { var model = new TenantSetting(); if (ModelState.IsValid) { await this.TryUpdateModelAsync <TenantSettingViewModel, TenantSetting>(model); model.TenantId = tenantId; db.TenantSettings.Add(model); await db.SaveChangesAsync(); } return(Json(await new[] { model.ToViewModel <TenantSetting, TenantSettingViewModel>() }.ToDataSourceResultAsync(request, ModelState))); }
public async Task <IActionResult> Index(TenantSetting tenantSetting) { if (ModelState.IsValid) { var obj = new TenantSettingDto { BaseUrl = tenantSetting.BaseUrl, Password = tenantSetting.Password, User = tenantSetting.User }; var response = await _apiClient.HttpClient.PostAsJsonAsync("TenantSetting/SaveSetting", obj); if (response.IsSuccessStatusCode) { _toastNotification.AddSuccessToastMessage("Success!"); return(RedirectToAction(nameof(Index))); } } return(View()); }
protected virtual TenantSetting GetSetting(int tenantId, SettingTemplateMarkup setting, bool addIfMissing) { var retVal = db.TenantSettings.FirstOrDefault(n => n.TenantId == tenantId && n.SettingsKey == setting.ParamName); if (retVal == null && addIfMissing) { retVal = new TenantSetting { TenantId = tenantId, SettingsKey = setting.ParamName, JsonSetting = setting.IsJsonSetting, SettingsValue = setting.Value }; db.TenantSettings.Add(retVal); } return(retVal); }
public void Process(UploadArgs args) { Assert.ArgumentNotNull((object)args, "args"); if (args != null && args.UploadedItems != null && args.UploadedItems[0] != null) { CrunchOptions crunchOptions; FillSetting objFillSetting = new FillSetting(); MediaItem mi = args.UploadedItems[0]; TenantSetting objTennantSetting = objFillSetting.getSetting(mi.MediaPath, mi.Database.Name, mi.InnerItem.Language.ToString()); crunchOptions = new CrunchOptions(); crunchOptions.APIKey = objTennantSetting.ApiKey; crunchOptions.APISecret = objTennantSetting.ApiSecret; crunchOptions.IsEnabled = objTennantSetting.IsEnabled; crunchOptions.wait = true; crunchOptions.lossy = objTennantSetting.Lossy; crunchOptions.dev = objTennantSetting.IsDev; crunchOptions.enhance = objTennantSetting.Enhance; foreach (Item uploadedItem in args.UploadedItems) { try { mi = new MediaItem(uploadedItem); //checking maximum & minimum size condition defined for the tenant if (mi != null && mi.Size > objTennantSetting.MinimumKBSize && mi.Size < objTennantSetting.MaxImageSize) { crunchOptions.fullname = mi.Name + "." + mi.Extension; //As of now API is based out of post approach CrunchImage.ProcessMediaItem(mi, crunchOptions); } else { Log.Info(string.Format("Image Size is {0} {1}", mi.Size, ",KB which is not fit in minimum & maximum size defined in setting"), this); } } catch (System.Exception exception) { Log.Error(string.Format("Could not shrink item {0}", uploadedItem.Paths.FullPath), exception, this); } } } }
public void UpdateSetting(TenantSetting setting) { string settingsFilePath = Path.Combine(HostingEnvironment.ContentRootPath, "xmlfiles/TenantSettings.xml"); XmlDocument doc = new XmlDocument(); doc.Load(settingsFilePath); var baseUrlNode = doc.SelectSingleNode("/TenantSetting/BaseUrl"); baseUrlNode.InnerText = setting.BaseUrl; var userNode = doc.SelectSingleNode("/TenantSetting/User"); userNode.InnerText = setting.User; var passwordNode = doc.SelectSingleNode("/TenantSetting/Password"); passwordNode.InnerText = setting.Password; doc.Save(settingsFilePath); }
public static bool addMember(Member member, Guid tenantId) { bool isV = false; try { DateTime now = DateTime.Now; member.createTime = now; member.updateTime = now; member.memberCode = getMemberCode(); member.password = Utils.ConverToMD5(member.password); int memberId = DataManager.memberDao.addMember(member); Tenant tenant = DataManager.tenantDao.getTenant(tenantId); Member admin = DataManager.memberDao.getMember(tenant.createdMemberId); //判斷是否需要寄送mailNotice TenantSetting setting = DataManager.tenantDao.getTenantSetting(tenantId, "MemCheckType"); if (setting != null) { TenantSetting mailInfo = null; MailInfo mail = null; string type = null; List <MailSend> sendList = new List <MailSend>(); switch (setting.content) { case "Auto": mailInfo = DataManager.tenantDao.getTenantSetting(tenantId, "MemPassMailInfo"); mail = JsonConvert.DeserializeObject <MailInfo>(mailInfo.content); type = "會員自動審核"; break; case "Manual": mailInfo = DataManager.tenantDao.getTenantSetting(tenantId, "MemReviewMailInfo"); mail = JsonConvert.DeserializeObject <MailInfo>(mailInfo.content); type = "會員審核提醒"; break; } if (mail != null) { MailSend mailSend = new MailSend { memberId = memberId, tenantId = tenantId.ToString(), mail = member.email, tenantName = tenant.tenantName, CC = admin.email }; sendList.Add(mailSend); Debug.WriteLine("asdsada" + mail.content.Replace("\n", "</br>")); MailNotice mailNotice = new MailNotice { tenantId = tenantId, type = type, title = mail.subject, content = mail.content.Replace("\n", "</br>"), sendTo = JsonConvert.SerializeObject(sendList), isAuto = true, dtSend = DateTime.Now.AddMinutes(10), isSend = false, status = "正常", createTime = DateTime.Now, creator = memberId }; DataManager.mailNoticeDao.add(mailNotice); } } TenantMember tenantMember = new TenantMember(); tenantMember.tenantId = tenantId; tenantMember.memberId = memberId; tenantMember.isBlockade = false; tenantMember.status = "待審核"; tenantMember.creator = member.memberId; tenantMember.createTime = now; tenantMember.updateTime = now; DataManager.tenantMemberDao.addTenantMember(tenantMember); isV = true; } catch (Exception e) { Debug.WriteLine("[CMemberManager-addMember] error:" + e.StackTrace); } return(isV); }
protected virtual void RevokeSetting(int tenantId, TenantSetting setting) { }
private JsonResult DoUpload(string database, string destinationUrl) { if (string.IsNullOrEmpty(destinationUrl)) { destinationUrl = "/sitecore/media library"; } List <UploadedFileItem> uploadedFileItemList = new List <UploadedFileItem>(); SitecoreViewModelResult result = new SitecoreViewModelResult(); if (!ImageCrunchController.ValidateDestination(database, destinationUrl, result)) { return((JsonResult)result); } objFillSetting = new FillSetting(); crunchOptions = new CrunchOptions(); foreach (string file1 in (NameObjectCollectionBase)this.Request.Files) { HttpPostedFileBase file2 = this.Request.Files[file1]; if (file2 != null) { string withoutExtension = Path.GetFileNameWithoutExtension(file2.FileName); if (!string.IsNullOrEmpty(this.Request.Form["name"])) { withoutExtension = this.Request.Form["name"]; } string str = ItemUtil.ProposeValidItemName(withoutExtension, "default"); string empty = string.Empty; if (!string.IsNullOrEmpty(this.Request.Form["alternate"])) { empty = this.Request.Form["alternate"]; } Database database1 = Context.ContentDatabase; if (!string.IsNullOrEmpty(database)) { database1 = Factory.GetDatabase(database); } if (database1 == null) { database1 = Context.ContentDatabase; } MediaCreatorOptions options1 = new MediaCreatorOptions() { AlternateText = empty, Database = database1, FileBased = Settings.Media.UploadAsFiles, IncludeExtensionInItemName = Settings.Media.IncludeExtensionsInItemNames, OverwriteExisting = false, Language = LanguageManager.DefaultLanguage, Versioned = Settings.Media.UploadAsVersionableByDefault, Destination = this.ParseDestinationUrl(destinationUrl) + str }; if (!ImageCrunchController.ValidateFile(file2, result)) { return((JsonResult)result); } Item fromStream = MediaManager.Creator.CreateFromStream(file2.InputStream, "/upload/" + file2.FileName, options1); if (!string.IsNullOrEmpty(this.Request.Form["description"])) { fromStream.Editing.BeginEdit(); fromStream["Description"] = this.Request.Form["description"]; fromStream.Editing.EndEdit(); } MediaItem mediaItem = new MediaItem(fromStream); ///Code to Shrunk the Media Item begin objTennantSetting = objFillSetting.getSetting(mediaItem.MediaPath, mediaItem.Database.Name, mediaItem.InnerItem.Language.ToString()); crunchOptions.APIKey = objTennantSetting.ApiKey; crunchOptions.APISecret = objTennantSetting.ApiSecret; crunchOptions.IsEnabled = objTennantSetting.IsEnabled; crunchOptions.wait = true; crunchOptions.lossy = objTennantSetting.Lossy; crunchOptions.dev = objTennantSetting.IsDev; crunchOptions.enhance = objTennantSetting.Enhance; try { //checking maximum & minimum size condition defined for the tenant if (mediaItem != null && mediaItem.Size > objTennantSetting.MinimumKBSize && mediaItem.Size < objTennantSetting.MaxImageSize) { crunchOptions.fullname = mediaItem.Name + "." + mediaItem.Extension; //As of now API is based out of post approach CrunchImage.ProcessMediaItem(mediaItem, crunchOptions); } else { Log.Info(string.Format("Image Size is {0} {1}", mediaItem.Size, ",KB which is not fit in minimum & maximum size defined in setting"), this); } } catch (System.Exception exception) { Log.Error(string.Format("Could not shrink item {0}", mediaItem.InnerItem.Paths.FullPath), exception, this); } ///Code to shrunk media item end MediaUrlOptions options2 = new MediaUrlOptions(130, 130, false) { Thumbnail = true, BackgroundColor = Color.Transparent, Database = mediaItem.Database }; string mediaUrl = MediaManager.GetMediaUrl(mediaItem, options2); uploadedFileItemList.Add(new UploadedFileItem(fromStream.Name, fromStream.ID.ToString(), fromStream.ID.ToShortID().ToString(), mediaUrl)); } } ((dynamic)result.Result).uploadedFileItems = uploadedFileItemList; return((JsonResult)result); }
public JsonResult ViewTenantSetting([FromBody] TenantSetting tenantSetting) { _tenantSettingService.UpdateSetting(tenantSetting); return(new JsonResult("Saved")); }
public TenantSetting getSetting(string path = "", string database = "master", string language = "en") { TenantSetting objSetting = null; ///sitecore/system/Modules/ImageCore/DefaultTenant //InSitecoreSitecore.Common.Functions.GetDatabase() Item settingItm = InSitecoreSitecore.Common.Functions.GetItemPath(ImageCorePath, database, language); settingItm = GetSettingItem(settingItm, path); InSitecoreSitecore.Common.Functions.ClearSitecoreCacheofItem(database, settingItm.ID); if (settingItm != null) { objSetting = new TenantSetting(); string strDev = settingItm.Fields["IsDev"].Value; if (strDev != null && strDev.Length > 0) { objSetting.IsDev = strDev.Equals("1", StringComparison.InvariantCultureIgnoreCase); } else { objSetting.IsDev = false; } string Lossy = settingItm.Fields["Lossy"].Value; if (Lossy != null && Lossy.Length > 0) { objSetting.Lossy = Lossy.Equals("1", StringComparison.InvariantCultureIgnoreCase); } else { objSetting.Lossy = true; } string Enhance = settingItm.Fields["Enhance"].Value; if (Enhance != null && Enhance.Length > 0) { objSetting.Enhance = Enhance.Equals("1", StringComparison.InvariantCultureIgnoreCase); } else { objSetting.Enhance = false; } string isEnabled = settingItm.Fields["IsEnabled"].Value; if (isEnabled != null && isEnabled.Length > 0) { objSetting.IsEnabled = isEnabled.Equals("1", StringComparison.InvariantCultureIgnoreCase); } else { objSetting.IsEnabled = false; } string minimumKBSize = settingItm.Fields["MinimumImageSizeKB"].Value; if (minimumKBSize != null && minimumKBSize.Length > 0) { //Converting into Bytes objSetting.MinimumKBSize = Convert.ToDouble(minimumKBSize) * 1000; } else { objSetting.MinimumKBSize = (50 * 1000); } string maxImageSizeKB = settingItm.Fields["MaxImageSizeKB"].Value; if (maxImageSizeKB != null && maxImageSizeKB.Length > 0) { //Converting into Bytes objSetting.MaxImageSize = Convert.ToDouble(maxImageSizeKB) * 1000; } else { objSetting.MaxImageSize = (50 * 1000); } string krakenApiKey = settingItm.Fields["KrakenApiKey"].Value; if (krakenApiKey != null && krakenApiKey.Length > 0) { objSetting.ApiKey = krakenApiKey; } else { objSetting.ApiKey = ""; } string krakenApiSecret = settingItm.Fields["KrakenApiSecret"].Value; if (krakenApiSecret != null && krakenApiSecret.Length > 0) { objSetting.ApiSecret = krakenApiSecret; } else { objSetting.ApiSecret = ""; } isInitialised = true; } return(objSetting); }