public void SetUp() { var desc = new DirDescription("kot1\\ kot", "kot"); parent = new MainDir(desc); defaultGenerator = DirNameGenerator.GetDefaultInstance(); }
public ChildDir(string Name, IEditableDirWithChildren mainDir) { this.ParentDir = mainDir; DirDescription dirDescription = new DirDescription( name: Name, fullName: $"{mainDir.Description.FullName}\\{Name}" ); Description = dirDescription; }
/* Method Info * metoda powinna być użyta tylko raz do wygenerowania punktu początkowego drzewa(root) ponieważ tworzy ona NOWY OBIEKT * a nie zwraca do niego referencji. * Powiązania powinny być zachowane a nie tworzone osobno dla każdego folderu */ /// <summary> /// returns new MainDir with auto generated name and path /// </summary> /// <param name="fullName"></param> /// <returns> returns new MainDir </returns> internal IEditableDirWithChildren GetMainDirFolder(string fullName) { if (String.IsNullOrWhiteSpace(fullName)) { throw new ArgumentException("fullname is empty/null"); } DirectoryInfo dir = GetParentFolder(fullName); DirDescription dirDescription = new DirDescription(dir.FullName, dir.Name); return(new MainDir(dirDescription)); }
public void AutoGenerateDirFullName_WhenCalled_ReturnsFullName() { var mainDirDescr = new DirDescription("cat1\\cat2\\cat3", "cat3"); var childDirDescr = new DirDescription("cat1\\catX", "catX"); var main = new MainDir(mainDirDescr); var child = new ChildDir(childDirDescr, main); defaultDirManagement.AutoGenerateDirFullName(child); Assert.AreEqual(mainDirDescr.FullName + "\\" + childDirDescr.Name, child.Description.FullName); }
public void AutoGenerateChildrenFullName_WhenCalled_RenamesChildren() { var mainDirDescr = new DirDescription("cat1\\cat2\\cat3", "cat3"); var childDirDescr1 = new DirDescription("cat1\\cat1", "cat1"); var childDirDescr11 = new DirDescription("cat1\\cat11", "cat11"); var main = new MainDir(mainDirDescr); var child1 = new ChildDir(childDirDescr1, main); var child11 = new ChildDir(childDirDescr11, child1); child1.AddChildToChildrenList(child11); main.AddChildToChildrenList(child1); defaultDirManagement.AutoGenerateChildrenFullName(main); Assert.IsTrue(main.Description.FullName + "\\" + child1.Description.Name == child1.Description.FullName && child1.Description.FullName + "\\" + child11.Description.Name == child11.Description.FullName); }
public async Task <IHttpActionResult> DeleteDirDescription(int id) { #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции //Получаем Куку System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"]; // Проверяем Логин и Пароль Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true)); if (!field.Access) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10))); } //Изменяем строку соединения db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true)); //Права (1 - Write, 2 - Read, 3 - No Access) int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirDescriptions")); if (iRight != 1) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0)))); } //Разные Функции function.NumberDecimalSeparator(); //Получам настройки Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1); #endregion #region Удаление try { DirDescription dirDescription = await db.DirDescriptions.FindAsync(id); if (dirDescription == null) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg99))); } db.DirDescriptions.Remove(dirDescription); await db.SaveChangesAsync(); #region 6. JourDisp *** *** *** *** *** *** *** *** *** * Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp(); sysJourDisp.DirDispOperationID = 5; //Удаление записи sysJourDisp.DirEmployeeID = field.DirEmployeeID; sysJourDisp.ListObjectID = ListObjectID; sysJourDisp.TableFieldID = dirDescription.DirDescriptionID; sysJourDisp.Description = ""; try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { } #endregion dynamic collectionWrapper = new { ID = dirDescription.DirDescriptionID, Msg = Classes.Language.Sklad.Language.msg19 }; return(Ok(returnServer.Return(true, collectionWrapper))); //return Ok(returnServer.Return(true, "") } catch (Exception ex) { return(Ok(returnServer.Return(false, exceptionEntry.Return(ex)))); } #endregion }
public async Task <IHttpActionResult> PostDirDescription(DirDescription dirDescription) { #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции //Получаем Куку System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"]; // Проверяем Логин и Пароль Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true)); if (!field.Access) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10))); } //Изменяем строку соединения db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true)); //Права (1 - Write, 2 - Read, 3 - No Access) int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirDescriptions")); if (iRight != 1) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0)))); } //Разные Функции function.NumberDecimalSeparator(); //Получам настройки Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1); #endregion #region Проверки if (!ModelState.IsValid) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg91))); //return BadRequest(ModelState); } //Подстановки - некоторые поля надо заполнить, если они не заполены //dirDescription.Substitute(); #endregion #region Сохранение try { //Используем метод, что бы было всё в одном потоке db.Entry(dirDescription).State = EntityState.Added; await Task.Run(() => db.SaveChangesAsync()); #region 6. JourDisp *** *** *** *** *** *** *** *** *** * Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp(); sysJourDisp.DirDispOperationID = 3; //Добавление записи sysJourDisp.DirEmployeeID = field.DirEmployeeID; sysJourDisp.ListObjectID = ListObjectID; sysJourDisp.TableFieldID = dirDescription.DirDescriptionID; sysJourDisp.Description = ""; try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { } #endregion dynamic collectionWrapper = new { ID = dirDescription.DirDescriptionID }; return(Ok(returnServer.Return(true, collectionWrapper))); //return Ok(returnServer.Return(true, "")); } catch (Exception ex) { return(Ok(returnServer.Return(false, exceptionEntry.Return(ex)))); } #endregion }
public void onSetUp() { DirDescription desc = new DirDescription("cats/are/great/mainDir", "mainDir"); mainDir = new MainDir(desc); }