private static ContentLogRequest GenerateContentRequest(EventSettingModel appActivity) { return(new ContentLogRequest() { ContentTypeId = appActivity.ContentTypeId, EventDateColumn = appActivity.EventColumnInternalName, Password = EncryptionHelper.Decrypt(appActivity.Password, SpContentJobConstant.EncryptionKey), UserId = appActivity.UserId, SiteUrl = appActivity.OrganizationRootUrl, ModifiedDate = appActivity.LastRetrivalTime.HasValue ? appActivity.LastRetrivalTime.Value.AddHours(-1) : DateTime.MinValue.Date }); }
public async Task <string> SaveEventSetting(EventSettingModel eventSetup) { try { return(await EventSettingManager.SaveEventSetting(eventSetup)); } catch (Exception ex) { _logger.Error("SaveEventSetting-- error- ", ex); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Problem in SaveEventSetting")); } }
private static async Task ExecuteActivity(EventSettingModel appActivity) { long eventSettingId = appActivity.EventSettingId; try { string result = "success"; ContentLogRequest request = GenerateContentRequest(appActivity); DateTime currentExecutionDate = DateTime.Now.ToUniversalTime(); IEnumerable <SpContentLogModel> logs = SPServiceManager.GetAllChangeLog(request); List <ADGAgentModel> agentDetail = new List <ADGAgentModel>(); if (logs != null && logs.Count() > 0) { foreach (var log in logs) { log.IsProcessed = true; log.OrganizationMasterId = appActivity.OrganizationMasterId; log.CreatedBy = 1;//TODO log.CreatedOn = DateTime.Now.ToUniversalTime(); log.ExecutionTime = currentExecutionDate; log.ContentType = appActivity.ContentType; } result = JobManager.SaveContentLog(logs.ToList(), appActivity.EventSettingId); } else { _logger.Info($"not get any content logs for {appActivity.OrganizationRootUrl} for content type {appActivity.EventColumnName} at-{currentExecutionDate.ToString("MM/dd/yyyy hh:mm:ss")} "); } bool sendMail = false; if (result != "success") { sendMail = true; } RemoveFromProcess(eventSettingId); if (sendMail) { //var emailResult = await SendEmail(uploadDetails, result); //if (emailResult.ToLower() != "success") // _logger.Error($"failed to send email for metadata update for {uploadDetails.BlobModels[0].NewName }"); } } catch (Exception ex) { _logger.Error($"Failed to process content log for {eventSettingId}", ex); RemoveFromProcess(eventSettingId); } finally { await Task.Delay(0); } }
public string SaveEventSetting(string eventSetup) { ResetToken(); string result = ""; bool error = false; if (!string.IsNullOrEmpty(eventSetup)) { EventSettingModel model = JsonHelper.ConvertToObject <EventSettingModel>(eventSetup); result = PostToApi <EventSettingModel, string>(RMAdminAPI.SaveEventSetting, model, out error); } if (error || string.IsNullOrEmpty(result)) { return("fail"); } return(result); }
public static async Task <string> SaveEventSetting(EventSettingModel eventSetup) { EventSetting setting = null; if (eventSetup.EventSettingId > 0) { setting = await ColligoO365RMOManager <EventSetting> .FirstOrDefaultAsync(p => p.EventSettingId == eventSetup.EventSettingId); } if (setting == null) { setting = new EventSetting() { CreatedOn = DateTime.Now } } ; Type source = typeof(EventSettingModel); Type destination = typeof(EventSetting); List <string> excludeProperties = new List <string>() { "CreatedOn" }; CopyHelper.Copy(source, eventSetup, destination, setting, excludeProperties); string result = "success"; int count = 0; //update settings with last execution date if (setting.EventSettingId > 0) { setting.ModifiedBy = eventSetup.CreatedBy; setting.ModifiedOn = DateTime.Now; count = await ColligoO365RMOManager <EventSetting> .SaveAsync(null, setting); } else { count = await ColligoO365RMOManager <EventSetting> .SaveAsync(setting); } if (count == 0) { result = "fail"; } return(result); }
/// <summary> /// get eventsetting models /// </summary> /// <param name="notCompleted"></param> /// <returns></returns> public static async Task <IEnumerable <EventSettingModel> > GetAllEventSettingByOrganization(string organizationUrl, bool includeAll = true) { List <EventSettingModel> activities = new List <EventSettingModel>(); var result = await ColligoO365RMOManager <VwEventSetting> .FindAsync(x => x.ContentSiteUrl.ToLower() == organizationUrl.ToLower() && x.UserIsActive && (x.IsActive || includeAll), false); //converT data to framework model if (result != null && result.Any()) { Type source = typeof(VwEventSetting); Type destination = typeof(EventSettingModel); foreach (var item in result) { EventSettingModel obj = new EventSettingModel(); CopyHelper.Copy(source, item, destination, obj); activities.Add(obj); } } return(activities); }
public string UpdateEventSetting(string eventSetup) { ResetToken(); string result = ""; bool error = false; EventSettingModel model = JsonHelper.ConvertToObject <EventSettingModel>(eventSetup); string param = $"?eventSettingId={model.EventSettingId}&modifiedBy={model.CreatedBy}&isActive={(model.IsActive ? "true" : "false")}"; if (model.LastRetrivalTime.HasValue) { param += ("&lastRetrivalTime=" + System.Web.HttpUtility.UrlEncode(model.LastRetrivalTime.Value.ToString("MM/dd/yyyy hh:mm:ss"))); } result = PostToApi <HttpContent, string>(RMAdminAPI.UpdateEventSetting + param, null, out error); if (error || string.IsNullOrEmpty(result)) { return("fail"); } return(result); }