Ejemplo n.º 1
0
 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
     });
 }
Ejemplo n.º 2
0
 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"));
     }
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        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);
        }