private static void DeleteMissingEventReceiver(MissingEventReceiversInput MissingEventReceiver, string csvFile)
        {
            bool headerEROP = false;
            MissingEventReceiversOutput objEROP = new MissingEventReceiversOutput();

            if (MissingEventReceiver == null)
            {
                return;
            }

            string assemblyName = MissingEventReceiver.Assembly;
            string eventName    = MissingEventReceiver.EventName;
            string hostId       = MissingEventReceiver.HostId;
            string hostTypeInfo = MissingEventReceiver.HostType;
            string siteUrl      = MissingEventReceiver.SiteCollection;
            string webUrl       = MissingEventReceiver.WebUrl;

            objEROP.Assembly          = assemblyName;
            objEROP.EventName         = eventName;
            objEROP.HostId            = hostId;
            objEROP.HostType          = hostTypeInfo;
            objEROP.SiteCollection    = siteUrl;
            objEROP.WebUrl            = webUrl;
            objEROP.WebApplication    = MissingEventReceiver.WebApplication;
            objEROP.ExecutionDateTime = DateTime.Now.ToString();

            if (webUrl.IndexOf("http", StringComparison.InvariantCultureIgnoreCase) < 0)
            {
                // ignore the header row in case it is still present
                return;
            }

            try
            {
                Logger.LogInfoMessage(String.Format(" Processing Event Receiver [{0}] of Assembly [{1}] ...", eventName, assemblyName), true);

                //Logger.LogInfoMessage(String.Format("-assemblyName= {0}", assemblyName), false);
                //Logger.LogInfoMessage(String.Format("-eventName= {0}", eventName), false);
                //Logger.LogInfoMessage(String.Format("-hostId= {0}", hostId), false);
                //Logger.LogInfoMessage(String.Format("-hostTypeInfo= {0}", hostTypeInfo), false);
                //Logger.LogInfoMessage(String.Format("-siteUrl= {0}", siteUrl), false);
                //Logger.LogInfoMessage(String.Format("-webUrl= {0}", webUrl), false);

                int hostType = -1;
                if (Int32.TryParse(hostTypeInfo, out hostType) == false)
                {
                    Logger.LogErrorMessage(String.Format("[DeleteMissingEventReceivers: DeleteMissingEventReceiver] failed for Event Receiver [{0}]: Error= Unknown HostType value [{1}] ", eventName, hostTypeInfo), false);
                    return;
                }

                switch (hostType)
                {
                case 0:
                    if (DeleteSiteEventReceiver(siteUrl, eventName, assemblyName))
                    {
                        objEROP.Status = Constants.Success;
                    }
                    else
                    {
                        objEROP.Status = Constants.Failure;
                    }
                    break;

                case 1:
                    if (DeleteWebEventReceiver(webUrl, eventName, assemblyName))
                    {
                        objEROP.Status = Constants.Success;
                    }
                    else
                    {
                        objEROP.Status = Constants.Failure;
                    }
                    break;

                case 2:
                    if (DeleteListEventReceiver(webUrl, hostId, eventName, assemblyName))
                    {
                        objEROP.Status = Constants.Success;
                    }
                    else
                    {
                        objEROP.Status = Constants.Failure;
                    }
                    break;

                default:
                    Logger.LogErrorMessage(String.Format("[DeleteMissingEventReceivers: DeleteMissingEventReceiver] failed for Event Receiver [{0}] of Assembly [{1}]: Error= Unknown HostType value [{2}] ", eventName, assemblyName, hostTypeInfo), false);
                    objEROP.Status = Constants.Failure;
                    return;
                }

                if (System.IO.File.Exists(csvFile))
                {
                    headerEROP = true;
                }
                FileUtility.WriteCsVintoFile(csvFile, objEROP, ref headerEROP);
            }
            catch (Exception ex)
            {
                Logger.LogErrorMessage(String.Format("[DeleteMissingEventReceivers: DeleteMissingEventReceiver] failed for Event Receiver [{0}] of Assembly [{1}]: Error={2}", eventName, assemblyName, ex.Message), true);
                ExceptionCsv.WriteException(MissingEventReceiver.WebApplication, siteUrl, webUrl, "EventReceiver", ex.Message, ex.ToString(), "DeleteMissingEventReceiver",
                                            ex.GetType().ToString(), String.Format("[DeleteMissingEventReceivers: DeleteMissingEventReceiver] failed for Event Receiver [{0}] of Assembly [{1}]: Error={2}", eventName, assemblyName, ex.Message));
            }
        }
Exemplo n.º 2
0
        private static void DeleteMissingEventReceiver(MissingEventReceiversInput MissingEventReceiver)
        {
            if (MissingEventReceiver == null)
            {
                return;
            }

            string assemblyName = MissingEventReceiver.Assembly;
            string eventName    = MissingEventReceiver.EventName;
            string hostId       = MissingEventReceiver.HostId;
            string hostTypeInfo = MissingEventReceiver.HostType;
            string siteUrl      = MissingEventReceiver.SiteCollection;
            string webUrl       = MissingEventReceiver.WebUrl;

            if (webUrl.IndexOf("http", StringComparison.InvariantCultureIgnoreCase) < 0)
            {
                // ignore the header row in case it is still present
                return;
            }

            try
            {
                Logger.LogInfoMessage(String.Format("Processing Event Receiver [{0}] of Assembly [{1}] ...", eventName, assemblyName), true);

                //Logger.LogInfoMessage(String.Format("-assemblyName= {0}", assemblyName), false);
                //Logger.LogInfoMessage(String.Format("-eventName= {0}", eventName), false);
                //Logger.LogInfoMessage(String.Format("-hostId= {0}", hostId), false);
                //Logger.LogInfoMessage(String.Format("-hostTypeInfo= {0}", hostTypeInfo), false);
                //Logger.LogInfoMessage(String.Format("-siteUrl= {0}", siteUrl), false);
                //Logger.LogInfoMessage(String.Format("-webUrl= {0}", webUrl), false);

                int hostType = -1;
                if (Int32.TryParse(hostTypeInfo, out hostType) == false)
                {
                    Logger.LogErrorMessage(String.Format("DeleteMissingEventReceiver() failed for Event Receiver [{0}]: Error= Unknown HostType value [{1}] ", eventName, hostTypeInfo), false);
                    return;
                }

                switch (hostType)
                {
                case 0:
                    DeleteSiteEventReceiver(siteUrl, eventName, assemblyName);
                    break;

                case 1:
                    DeleteWebEventReceiver(webUrl, eventName, assemblyName);
                    break;

                case 2:
                    DeleteListEventReceiver(webUrl, hostId, eventName, assemblyName);
                    break;

                default:
                    Logger.LogErrorMessage(String.Format("DeleteMissingEventReceiver() failed for Event Receiver [{0}] of Assembly [{1}]: Error= Unknown HostType value [{2}] ", eventName, assemblyName, hostTypeInfo), false);
                    return;
                }
            }
            catch (Exception ex)
            {
                Logger.LogErrorMessage(String.Format("DeleteMissingEventReceiver() failed for Event Receiver [{0}] of Assembly [{1}]: Error={2}", eventName, assemblyName, ex.Message), false);
            }
        }