public void AddDomainForBook() { string bookName = Helper.ReadString("Introduce the name of the book: "); while (!BookDAL.CheckBook(bookName)) { Helper.DisplayError("\n Wrong book name!"); Console.ForegroundColor = ConsoleColor.Red; bookName = Helper.ReadString("Reintroduce the name of the book: "); } string newDomainName = Helper.ReadString("Introduce the new domain: "); // aici verific ca noul domeniu sa nu contina deja cartea bool ok = true; foreach (Domain domain in BookDAL.GetDomainsForBook(bookName)) { if (newDomainName.Equals(domain.DomainName)) { ok = false; break; } } while (!DomainDAL.CheckDomain(newDomainName) || !ok || !ValidDomain(bookName, newDomainName)) { if (!ValidDomain(bookName, newDomainName)) { Helper.DisplayError("\n The new domain is an ascendent of one of the existing domains of the book!"); } else { Helper.DisplayError("\n Invalid domain!"); } Console.ForegroundColor = ConsoleColor.Red; newDomainName = Helper.ReadString("Reintroduce the new domain: "); ok = true; foreach (Domain domain in BookDAL.GetDomainsForBook(bookName)) { if (newDomainName.Equals(domain.DomainName)) { ok = false; break; } } } int size = BookDAL.GetDomainsForBook(bookName).Count; int DOM = Helper.GetConfigData()["DOM"]; if (size < DOM) { BookDAL.AddDomainForBook(newDomainName, bookName); Console.WriteLine("\n Operation completed succesfully!"); } else { Helper.DisplayError("\nA book can belong to " + DOM + " domains. (DOM = " + DOM + ")"); } }