private List <string> RewriteConfig(HomeCreateVM model, string[] configList) { List <string> updateConfig = new List <string>(); for (int i = 0; i < configList.Length; i++) { if (configList[i].Contains("OwnersEnabled")) { updateConfig.Add(". OwnersEnabled=" + model.SelectedOwnerName); } else if (IsOwnerConfig(configList[i], model)) { updateConfig.Add(configList[i++]); updateConfig.Add(TrimToImporterOnly(configList[i++])); while (!string.IsNullOrWhiteSpace(configList[i])) { if (configList[i].Contains("FTP3rdparty")) { foreach (var key in model.SelectedOwner.FolderPathPairs.Keys) { if (configList[i].Contains(key)) { string path = string.Empty; foreach (var value in model.SelectedOwner.FolderPathPairs.GetValueOrDefault(key)) { path += Path.Combine(model.BasePath, model.SelectedOwnerName, value) + ";"; } path = (". . . " + key + "=" + path.Substring(0, path.Length - 1)); updateConfig.Add(path); i++; break; } } } else if (configList[i].Contains(". . ImageChecker")) { while (!string.IsNullOrWhiteSpace(configList[i])) { updateConfig.Add("#" + configList[i++]); } } else { updateConfig.Add(configList[i++]); } if (string.IsNullOrWhiteSpace(configList[i])) { updateConfig.Add(configList[i]); } } } else { updateConfig.Add(configList[i]); } } return(updateConfig); }
public ActionResult Create() { HomeCreateVM model = new HomeCreateVM { Categories = _db.ProjectCategories.ToList() }; return(View(model)); }
private bool IsOwnerConfig(string line, HomeCreateVM model) { if (line.Equals(". " + model.SelectedOwnerName) || line.Equals(". " + model.SelectedOwner.ChildOwnerOf)) { return(true); } return(false); }
public IActionResult Create(HomeCreateVM viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } DataManager.CreateAnimal(viewModel); return(RedirectToAction(nameof(HomeController.Index))); }
public async Task <IActionResult> GetFolders(HomeCreateVM model) { await UpdateModel(model); if (!model.SelectedOwner.FolderPathPairs.Keys.Contains("SourceFolder")) { model.Logs.Add("Selected owner does not need initialize files. Just click 'Copy Files'."); } return(View("Create", model)); }
internal static void CreateAnimal(HomeCreateVM viewModel) { dbAnimals.Add(new Animal { Id = dbAnimals.Max(p => p.Id) + 1, Name = viewModel.Name, AnimalType = viewModel.AnimalType, Temper = viewModel.Temper, Created = DateTime.Now }); }
public async Task <IActionResult> ChangeBasePath(HomeCreateVM model) { await UpdateModel(model); var path = new TaskCompletionSource <string>(); Thread thread = new Thread(() => BrowseFolder(path, model)); thread.SetApartmentState(ApartmentState.STA); thread.Start(); model.BasePath = await path.Task; return(View("Create", model)); }
public async Task <IActionResult> Run(HomeCreateVM model) { await UpdateModel(model); if (System.IO.File.Exists(Path.Combine(Directory.GetCurrentDirectory(), "original_app.config"))) { DeleteAppConfig("app.config"); RenameAppConfig("original_app.config", "app.config"); } else { model.Logs.Add("You need first Updade Config."); } return(View("Create", model)); }
public async Task <HomeCreateVM> CreateDirectories(HomeCreateVM model) { await Task.Run(() => { foreach (var key in model.SelectedOwner.FolderPathPairs.Keys) { foreach (var path in model.SelectedOwner.FolderPathPairs.GetValueOrDefault(key)) { model.Logs.Add(CreateDirectory(Path.Combine(model.BasePath, model.SelectedOwnerName, path))); } } }); return(model); }
private void BrowseFolder(TaskCompletionSource <string> path, HomeCreateVM model) { var folder = new FolderBrowserDialog(); folder.ShowNewFolderButton = true; DialogResult result = folder.ShowDialog(); if (result == DialogResult.OK) { path.SetResult(folder.SelectedPath); } else { path.SetResult(model.BasePath); } }
private async Task CopySelectdFiles(HomeCreateVM model) { foreach (IFormFile file in model.Files) { var filePath = Path.Combine(model.BasePath, model.SelectedOwnerName, model.PathToSaveFile, file.FileName); if (file.Length > 0) { using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } } model.Logs.Add(file.FileName + " - file save in " + Path.Combine(model.BasePath, model.SelectedOwnerName, model.PathToSaveFile)); } }
private async Task UpdateModel(HomeCreateVM model) { if (model.Logs == null) { model.Logs = new List <string>(); } await Task.Run(() => { model.BasePath = (model.BasePath == null) ? ownerData.BasePath : model.BasePath; model.OwnersList = ownerData.GetOwners(); model.SelectedOwnerName = (model.SelectedOwnerName == null) ? ownerData.SelectedOwner : model.SelectedOwnerName; model.SelectedOwner = model.OwnersList.FirstOrDefault(o => o.Name == model.SelectedOwnerName); model.SelectedFolder = (model.SelectedFolder == null) ? ownerData.SelectedFolder : model.SelectedFolder; model.FolderList = model.SelectedOwner.QualityFolders; }); }
public ActionResult Edit(int?id) { Project project = _db.Projects.Find(id); if (project == null) { return(HttpNotFound()); } HomeCreateVM model = new HomeCreateVM { Project = project, Categories = _db.ProjectCategories.ToList() }; return(View(model)); }
public async Task <IActionResult> UpdateConfig(HomeCreateVM model) { await UpdateModel(model); var appConfigFile = await ManageConfigFile.ParseAppConfigToStringArrayAsync(); var updateConfig = RewriteConfig(model, appConfigFile); RenameAppConfig("app.config", "original_app.config"); await SaveUpdatedAppConfig(updateConfig); model.Logs.Add("Config succesfully updated."); model.SelectFilesBtnClicked = true; ownerData.SelectedFolder = null; return(View("Create", model)); }
public async Task <IActionResult> Create() { var model = new HomeCreateVM() { Logs = new List <string>() }; await Task.Run(() => { model.SelectFilesBtnClicked = false; model.OwnersList = ownerData.GetOwners(); model.SelectedOwner = model.OwnersList.First(); model.FolderList = model.SelectedOwner.QualityFolders; model.BasePath = ConfigurationManager.AppSettings["basePath"].ToString(); }); return(View(model)); }
public async Task <IActionResult> CopyFiles(HomeCreateVM model) { await UpdateModel(model); if (model.BasePath == null) { model.Logs.Add("You must provide a base path!"); return(View("Create", model)); } try { List <string> sourceFolders = model.SelectedOwner.FolderPathPairs.GetValueOrDefault("SourceFolder"); if (sourceFolders == null) { model.SelectFilesBtnClicked = true; model = await CreateDirectories(model); } else { model.PathToSaveFile = model.SelectedFolder != null ? sourceFolders.FirstOrDefault(s => s.Contains(model.SelectedFolder)) : model.PathToSaveFile = sourceFolders.FirstOrDefault(); if (model.Files != null) { model.SelectFilesBtnClicked = true; model = await CreateDirectories(model); await CopySelectdFiles(model); } else { model.Logs.Add("You need first choose starting files."); } } ownerData.BasePath = model.BasePath; ownerData.SelectedOwner = model.SelectedOwnerName; ownerData.SelectedFolder = model.SelectedFolder; } catch (UnauthorizedAccessException) { model.Logs.Add("You don't have access in selected directory. Please change your base path."); return(View("Create", model)); } return(View("Create", model)); }
public ActionResult Edit(Project project) { if (_db.Projects.Any(p => (p.Id != project.Id) && (p.Name == project.Name))) { ModelState.AddModelError("Project.Name", project.Name + " adlı proyekte deyisiklik edə biməzsiniz"); } if (ModelState.IsValid) { _db.Entry(project).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); return(RedirectToAction(nameof(Index))); } HomeCreateVM model = new HomeCreateVM { Project = project, Categories = _db.ProjectCategories.ToList() }; return(View(model)); }
public ActionResult Create(Project project) { if (_db.Projects.Any(p => p.Name == project.Name)) { ModelState.AddModelError("Project.Name", project.Name + " adlı proyekt artıq movcuddur"); } if (ModelState.IsValid) { _db.Projects.Add(project); _db.SaveChanges(); return(RedirectToAction(nameof(Index))); } HomeCreateVM model = new HomeCreateVM { Categories = _db.ProjectCategories.ToList(), Project = project }; return(View(model)); }
public async Task <IActionResult> PostRoadHome(int roadId, HomeCreateVM homeCreate) { var roadFromRepo = await repository.GetEstateRoad(roadId); if (roadFromRepo == null) { return(NotFound("Road Not Found")); } var homeToCreate = mapper.Map <Home>(homeCreate); homeToCreate.RoadId = roadId; repository.Add(homeToCreate); var save = await repository.SaveChanges(); if (!save) { throw new Exception(); } var homeToReturn = mapper.Map <HomeListVM>(homeToCreate); return(CreatedAtRoute("GetHome", new { roadId = roadId, homeId = homeToCreate.RoadId }, homeToReturn)); }