Beispiel #1
0
        public BackupContext(Guid appId, IUserMapping userMapping, IBackupWriter writer)
            : base(appId, userMapping)
        {
            Guard.NotNull(writer, nameof(writer));

            Writer = writer;
        }
Beispiel #2
0
        public BackupContext(DomainId appId, IUserMapping userMapping, IBackupWriter writer)
            : base(appId, userMapping)
        {
            Guard.NotNull(writer);

            Writer = writer;
        }
Beispiel #3
0
        public RestoreContext(Guid appId, IUserMapping userMapping, IBackupReader reader)
            : base(appId, userMapping)
        {
            Guard.NotNull(reader);

            Reader = reader;
        }
Beispiel #4
0
        protected BackupContextBase(Guid appId, IUserMapping userMapping)
        {
            Guard.NotNull(userMapping);

            AppId = appId;

            UserMapping = userMapping;
        }
        protected BackupContextBase(DomainId appId, IUserMapping userMapping)
        {
            Guard.NotNull(userMapping, nameof(userMapping));

            AppId = appId;

            UserMapping = userMapping;
        }
Beispiel #6
0
        public RestoreContext(DomainId appId, IUserMapping userMapping, IBackupReader reader, DomainId previousAppId)
            : base(appId, userMapping)
        {
            Guard.NotNull(reader);

            Reader = reader;

            PreviousAppId = previousAppId;
        }
Beispiel #7
0
 public UserService(IUnitOfWork unitOfWork, IMapper mapper, IUserMapping userMapping)
 {
     _unitOfWork  = unitOfWork;
     _mapper      = mapper;
     _userMapping = userMapping;
 }
Beispiel #8
0
        public ListValidationServiceController(SPConnection sourceCreds, SPConnection targetCreds, IUserMapping userMapping, ILogger logger)
        {
            var container = new UnityContainer();

            container.RegisterType <ISharePointRepository, SharePointRepository>();
            this.SharePointRepository = container.Resolve <ISharePointRepository>(
                new ParameterOverrides
            {
                { "logger", logger }
            });

            container.RegisterType <ISharePointRepository2007, SharePointRepository2007>();
            this.SharePointRepository2007 = container.Resolve <ISharePointRepository2007>(
                new ParameterOverrides
            {
                { "logger", logger }
            });

            this.SourceSiteCreds = sourceCreds;
            this.TargetSiteCreds = targetCreds;

            if (sourceCreds.SiteType == SiteType.WSS)
            {
                this.SourceWSSContext = this.SharePointRepository2007.GetSPContext(SourceSiteCreds.SiteUrl, SourceSiteCreds.UserName, SourceSiteCreds.Password);
            }
            else if (sourceCreds.SiteType == SiteType.SharePointOnPremises)
            {
                this.SourceClientContext = this.SharePointRepository.GetSP2013Context(SourceSiteCreds.SiteUrl, SourceSiteCreds.UserName, SourceSiteCreds.Password, SourceSiteCreds.Domain);
            }
            else
            {
                this.SourceClientContext = this.SharePointRepository.GetSPOContext(SourceSiteCreds.SiteUrl, SourceSiteCreds.UserName, SourceSiteCreds.Password);
            }

            if (targetCreds.SiteType == SiteType.WSS)
            {
                this.TargetWSSContext = this.SharePointRepository2007.GetSPContext(TargetSiteCreds.SiteUrl, TargetSiteCreds.UserName, TargetSiteCreds.Password);
            }
            else if (targetCreds.SiteType == SiteType.SharePointOnPremises)
            {
                this.TargetClientContext = this.SharePointRepository.GetSP2013Context(TargetSiteCreds.SiteUrl, TargetSiteCreds.UserName, TargetSiteCreds.Password, TargetSiteCreds.Domain);
            }
            else
            {
                this.TargetClientContext = this.SharePointRepository.GetSPOContext(TargetSiteCreds.SiteUrl, TargetSiteCreds.UserName, TargetSiteCreds.Password);
            }

            this.UserMapping = userMapping;
            this.logger      = logger;

            //re-initialize _getExistingLists
            _getExistingLists = new List <string>();
        }
Beispiel #9
0
 public UserLogic(IOffreContext offreContext, IUserMapping userMapping)
 {
     _offreContext = offreContext;
     _userMapping  = userMapping;
 }
Beispiel #10
0
 public UsersService(IUserMapping userMapping, IUserRepository userRepository, IBillsRepository billsRepository)
 {
     _userMapping     = userMapping;
     _userRepository  = userRepository;
     _billsRepository = billsRepository;
 }
        static void Main(string[] args)
        {
            try
            {
                //Register and initialize containers
                var container = new UnityContainer();
                container.RegisterType <ISharePointWebValidationService, WebValidationServiceController>();
                container.RegisterType <ISharePointListValidationService, ListValidationServiceController>();
                container.RegisterType <IUserMapping, UserMappingController>();

                IUserMapping userMapping = null;
                if (!String.IsNullOrEmpty(ConfigurationManager.AppSettings["UserMappingFilePath"]))
                {
                    container.RegisterType <IUserMapping, UserMappingController>();
                    userMapping = container.Resolve <IUserMapping>(
                        new ParameterOverrides
                    {
                        { "filePath", ConfigurationManager.AppSettings["UserMappingFilePath"] }
                    });
                }
                var siteRelativeUrls = ConfigurationManager.AppSettings["SiteRelativeUrls"].Split(new char[] { ';' });
                var userMappingFile  = ConfigurationManager.AppSettings["UserMappingFilePath"];

                foreach (var siteRelativeUrl in siteRelativeUrls)
                {
                    var sRelativeUrl  = siteRelativeUrl;
                    var sourceSiteUrl = ConfigurationManager.AppSettings["SourceSiteHost"] + sRelativeUrl;
                    var targetSiteUrl = ConfigurationManager.AppSettings["TargetSiteHost"] + sRelativeUrl;

                    //initialize source connection object
                    var srcSPCredObject = new SPConnection(ConfigurationManager.AppSettings["SourceSiteType"], sourceSiteUrl, sRelativeUrl, ConfigurationManager.AppSettings["SourceUserName"], ConfigurationManager.AppSettings["SourcePassword"]);
                    var tgtSPCredObject = new SPConnection(ConfigurationManager.AppSettings["TargetSiteType"], targetSiteUrl, sRelativeUrl, ConfigurationManager.AppSettings["TargetUserName"], ConfigurationManager.AppSettings["TargetPassword"]);

                    var spWebValidationService = container.Resolve <ISharePointWebValidationService>(
                        new ParameterOverrides
                    {
                        { "sourceCreds", srcSPCredObject },
                        { "targetCreds", tgtSPCredObject },
                        { "userMapping", userMapping },
                        { "logger", logger }
                    });

                    var spListValidationService = container.Resolve <ISharePointListValidationService>(
                        new ParameterOverrides
                    {
                        { "sourceCreds", srcSPCredObject },
                        { "targetCreds", tgtSPCredObject },
                        { "userMapping", userMapping },
                        { "logger", logger }
                    });

                    //Create base directory first based on the sRelativeUrl
                    dirInfo = Directory.CreateDirectory(ConfigurationManager.AppSettings["LogDirectory"] + sRelativeUrl);

                    //Get missing Sites from the site collection
                    logger.Log(LogLevel.Info, $"Validating Sites and Lists for {targetSiteUrl}");

                    Task <List <string> > t_missingSites = Task.Factory.StartNew <List <string> >(() =>
                    {
                        logger.Log(LogLevel.Info, $"Checking for missing sites");
                        return(spWebValidationService.MissingSites());
                    });

                    t_missingSites.Wait();
                    var missingSites = t_missingSites.Result;

                    if (missingSites.Count > 0)
                    {
                        CsvWriterHelper.WriteCsvRecords(missingSites, Path.Combine(dirInfo.FullName, "missingSites.csv"));
                    }

                    //Perform site collection operations
                    SiteCollectionValidationOperations(spWebValidationService);

                    //Perform web & list operations
                    var webUrls = spWebValidationService.GetAllSourceWebUrls();

                    foreach (var webUrl in webUrls)
                    {
                        var webUri      = new Uri(webUrl, true);
                        var relativeUri = webUri.MakeRelativeUri(webUri);
                        dirInfo = Directory.CreateDirectory(dirInfo.FullName + relativeUri.ToString());

                        if (webUrl == sourceSiteUrl)
                        {
                            WebValidationOperations(spWebValidationService);
                            ListValidationOperations(spListValidationService);
                            continue;
                        }

                        if (missingSites.Count > 0)
                        {
                            var match = missingSites.Exists(s => s == webUrl);
                            if (match)
                            {
                                continue;
                            }
                        }

                        targetSiteUrl = ConfigurationManager.AppSettings["TargetSiteHost"] + "/" + relativeUri.ToString();

                        //initialize source connection object
                        srcSPCredObject = new SPConnection(ConfigurationManager.AppSettings["SourceSiteType"], webUrl, relativeUri.ToString(), ConfigurationManager.AppSettings["SourceUserName"], ConfigurationManager.AppSettings["SourcePassword"]);
                        tgtSPCredObject = new SPConnection(ConfigurationManager.AppSettings["TargetSiteType"], targetSiteUrl, relativeUri.ToString(), ConfigurationManager.AppSettings["TargetUserName"], ConfigurationManager.AppSettings["TargetPassword"]);

                        spWebValidationService = container.Resolve <ISharePointWebValidationService>(
                            new ParameterOverrides
                        {
                            { "sourceCreds", srcSPCredObject },
                            { "targetCreds", tgtSPCredObject },
                            { "userMapping", userMapping },
                            { "logger", logger }
                        });
                        WebValidationOperations(spWebValidationService);

                        spListValidationService = container.Resolve <ISharePointListValidationService>(
                            new ParameterOverrides
                        {
                            { "sourceCreds", srcSPCredObject },
                            { "targetCreds", tgtSPCredObject },
                            { "userMapping", userMapping },
                            { "logger", logger }
                        });
                        ListValidationOperations(spListValidationService);
                    }
                }


                /*
                 * List<Task> tasks = new List<Task>();
                 * foreach (var siteRelativeUrl in siteRelativeUrls)
                 * {
                 *  //Passing the task with parameters -- arg = siteRelativeUrl.
                 *  Task t = Task.Factory.StartNew((arg) =>
                 *  {
                 *      var sRelativeUrl = (string)arg;
                 *      var sourceSiteUrl = ConfigurationManager.AppSettings["SourceSiteHost"] + sRelativeUrl;
                 *      var targetSiteUrl = ConfigurationManager.AppSettings["TargetSiteHost"] + sRelativeUrl;
                 *
                 *      //initialize source connection object
                 *      var srcSPCredObject = new SPConnection(sourceSiteUrl, ConfigurationManager.AppSettings["SourceUserName"], ConfigurationManager.AppSettings["SourcePassword"]);
                 *      var tgtSPCredObject = new SPConnection(targetSiteUrl, ConfigurationManager.AppSettings["TargetUserName"], ConfigurationManager.AppSettings["TargetPassword"]);
                 *
                 *      var spWebValidationService = container.Resolve<ISharePointWebValidationService>(
                 *          new ParameterOverrides
                 *          {
                 *              {"sourceCreds", srcSPCredObject },
                 *              {"targetCreds", tgtSPCredObject},
                 *              {"userMapping", userMapping},
                 *              {"logger", logger }
                 *          });
                 *
                 *      var spListValidationService = container.Resolve<ISharePointListValidationService>(
                 *          new ParameterOverrides
                 *          {
                 *              {"sourceCreds", srcSPCredObject },
                 *              {"targetCreds", tgtSPCredObject},
                 *              {"userMapping", userMapping},
                 *              {"logger", logger }
                 *          });
                 *
                 *      //Create base directory first based on the sRelativeUrl
                 *      dirInfo = Directory.CreateDirectory(ConfigurationManager.AppSettings["LogDirectory"] + sRelativeUrl);
                 *
                 *      //Get missing Sites from the site collection
                 *      logger.Log(LogLevel.Info, $"Validating Sites and Lists for {targetSiteUrl}");
                 *
                 *      Task<List<string>> t_missingSites = Task.Factory.StartNew<List<string>>(() =>
                 *      {
                 *          logger.Log(LogLevel.Info, $"Checking for missing sites");
                 *          return spWebValidationService.MissingSites();
                 *      });
                 *
                 *      t_missingSites.Wait();
                 *      var missingSites = t_missingSites.Result;
                 *
                 *      if (missingSites.Count > 0)
                 *          CsvWriterHelper.WriteCsvRecords(missingSites, Path.Combine(dirInfo.FullName, "missingSites.csv"));
                 *
                 *      //Perform site collection operations
                 *      SiteCollectionValidationOperations(spWebValidationService);
                 *
                 *      //Perform web & list operations
                 *      var webUrls = spWebValidationService.GetAllSourceWebUrls();
                 *
                 *      foreach (var webUrl in webUrls)
                 *      {
                 *          var webUri = new Uri(webUrl, true);
                 *          var relativeUri = webUri.MakeRelativeUri(webUri);
                 *          dirInfo = Directory.CreateDirectory(dirInfo.FullName + relativeUri.ToString());
                 *
                 *          if (webUrl == sourceSiteUrl)
                 *          {
                 *              WebValidationOperations(spWebValidationService);
                 *              ListValidationOperations(spListValidationService);
                 *              continue;
                 *          }
                 *
                 *          if (missingSites.Count > 0)
                 *          {
                 *              var match = missingSites.Exists(s => s == webUrl);
                 *              if (match)
                 *                  continue;
                 *          }
                 *
                 *          targetSiteUrl = ConfigurationManager.AppSettings["TargetSiteHost"] + "/" + relativeUri.ToString();
                 *
                 *          //initialize source connection object
                 *          srcSPCredObject = new SPConnection(webUrl, ConfigurationManager.AppSettings["SourceUserName"], ConfigurationManager.AppSettings["SourcePassword"]);
                 *          tgtSPCredObject = new SPConnection(targetSiteUrl, ConfigurationManager.AppSettings["TargetUserName"], ConfigurationManager.AppSettings["TargetPassword"]);
                 *
                 *          spWebValidationService = container.Resolve<ISharePointWebValidationService>(
                 *          new ParameterOverrides
                 *          {
                 *              {"sourceCreds", srcSPCredObject },
                 *              {"targetCreds", tgtSPCredObject},
                 *              {"userMapping", userMapping},
                 *              {"logger", logger }
                 *          });
                 *          WebValidationOperations(spWebValidationService);
                 *
                 *          spListValidationService = container.Resolve<ISharePointListValidationService>(
                 *          new ParameterOverrides
                 *          {
                 *              {"sourceCreds", srcSPCredObject },
                 *              {"targetCreds", tgtSPCredObject},
                 *              {"userMapping", userMapping},
                 *              {"logger", logger }
                 *          });
                 *          ListValidationOperations(spListValidationService);
                 *      }
                 *  },
                 *      siteRelativeUrl // pass symbol as an arg so task receives proper value to process:
                 *  );
                 *
                 *  tasks.Add(t);
                 * }
                 * //wait for all the tasks to complete.
                 * Task.WaitAll(tasks.ToArray());
                 * }
                 */

                logger.Log(LogLevel.Info, $"Validation Complete");
                Console.ReadKey();
            }
            catch (AggregateException ae)
            {
                ae = ae.Flatten();  // could have a tree of exceptions, so flatten first:
                foreach (Exception ex in ae.InnerExceptions)
                {
                    logger.Log(LogLevel.Error, ex);
                }
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, ex);
            }
        }