public string CreateGroup(ClassFtpUserIsolation UserDetails)
        {
            var ad = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
            DirectoryEntry newGroup = ad.Children.Add(UserDetails.GroupName, "group");
            bool IsGroupExist = false;
            try
            {
                if ((ad.Children.Find(UserDetails.GroupName)) != null && (ad.Children.Find(UserDetails.GroupName)).SchemaClassName == "Group")
                {
                    IsGroupExist = true;
                }
            }
            catch (Exception e)
            {
                IsGroupExist = false;
            }

            if (!IsGroupExist)
            {
                newGroup.Invoke("Put", new object[] { "Description", "Test Group from .NET" });
                object obRet = newGroup.Invoke("SetPassword", UserDetails.Password);
                newGroup.CommitChanges();
            }

            return "Success";
        }
        public string CreateUser(ClassFtpUserIsolation UserDetails)
        {
            var ad1 = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
            DirectoryEntry NewUser = ad1.Children.Add(UserDetails.UserName, "user");

            bool IsUserExist = false;
            try
            {
                if ((ad1.Children.Find(UserDetails.UserName)) != null && (ad1.Children.Find(UserDetails.UserName)).SchemaClassName == "User")
                {
                    IsUserExist = true;
                }
            }
            catch (Exception e)
            {
                IsUserExist = false;
            }

            if (!IsUserExist)
            {
                NewUser.Invoke("Put", new object[] { "Description", "Test User from .NET" });
                object obRet = NewUser.Invoke("SetPassword", UserDetails.Password);
                NewUser.CommitChanges();
            }
            return "Success";
        }
        public string CreateFolder(ClassFtpUserIsolation UserDetails)
        {
            string RootFolderPathOriginal = UserDetails.RootFolderPath.Replace(@"&", @"\") + "\\" + UserDetails.FolderName;

            if (!Directory.Exists(RootFolderPathOriginal))
            {
                DirectoryInfo di = Directory.CreateDirectory(RootFolderPathOriginal);
            }
            return "Success";
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            ClassFtpUserIsolation objClassFtpUserIsolation = new ClassFtpUserIsolation();
            objClassFtpUserIsolation.UserName = "******";
            objClassFtpUserIsolation.Password = "******";
            objClassFtpUserIsolation.RootFolderPath=@"D:\TestFtpSite5\LocalUser";
            objClassFtpUserIsolation.FolderName = "FtpUser201";

            string result = string.Empty;
            using (var client = new WebClient())
            {
                client.Headers[HttpRequestHeader.ContentType] = "application/json";
                result = client.UploadString("http://localhost:62483/FtpUserIsolationServiceWcfIISHost.svc/SetNewFtpUser", "POST", JsonConvert.SerializeObject(objClassFtpUserIsolation));
            }
        }
 public string SetNewFtpUser(ClassFtpUserIsolation UserDetails)
 {
     CreateUser(UserDetails);
     CreateFolder(UserDetails);
     return "Success";
 }