//private void GenerateJSON() //{ // List<FunctionalArea> functionalAreas = _functionalAreaRepository.GetAll().ToList(); // foreach (string language in new string[] { "ENG", "ARA" }) // { // StringBuilder json = new StringBuilder("[" + Environment.NewLine); // foreach (FunctionalArea functionalArea in functionalAreas) // { // json.Append(GenerateJSON(functionalArea, language)); // } // json.AppendLine("]"); // System.IO.File.WriteAllText(Path.Combine(string.Format(@"C:\Temp\FunctionalAreas-{0}.json", language)), json.ToString()); // } //} //private string GenerateJSON(FunctionalArea functionalArea, string language) //{ // Char quotes = '\"'; // StringBuilder json = new StringBuilder("\t{" + Environment.NewLine); // json.AppendLine(string.Format("\t\t{0}{1}{0}: ", quotes, functionalArea.Id.ToString()) + "{" + Environment.NewLine + // string.Format("\t\t\t{0}description{0}: {0}{1}{0},", quotes, functionalArea.Description[language]) + Environment.NewLine + // string.Format("\t\t\t{0}items{0}: ", quotes) + "{"); // foreach(FaultType faultType in functionalArea.FaultTypes) // { // json.Append(string.Format("\t\t\t\t{0}{1}{0}: {0}{2}{0}", quotes, faultType.Id, faultType.Description[language])); // if (faultType != functionalArea.FaultTypes.Last()) // { // json.Append(","); // } // json.Append(Environment.NewLine); // } // json.AppendLine("\t\t\t}"); // json.AppendLine("\t\t}"); // json.AppendLine("\t},"); // /* // { // “cbbba5e3 - 298c - 49a7 - b384 - 35a6f9a8f1d0”: { // “description”: “Campaign Requirement”, // “items”: { // “1”: “Outside Campaign Strike Weights”, // “2”: “Programme not in Requirement” // } // } // } // */ // return json.ToString(); //} /// <summary> /// Loads functional area data to repository from CSV /// </summary> /// <param name="inputFile"></param> /// <param name="languages"></param> /// <param name="funtionalAreaRepository"></param> private void LoadFunctionalAreasFromCSV(string inputFile, string[] languages, IFunctionalAreaRepository funtionalAreaRepository) { if (!File.Exists(inputFile)) { return; } List <FunctionalArea> functionalAreas = new List <FunctionalArea>(); Char delimiter = (Char)9; using (StreamReader reader = new StreamReader(inputFile)) { int rowCount = 0; while (!reader.EndOfStream) { rowCount++; if (rowCount > 1) // Ignore header { string[] values = reader.ReadLine().Split(delimiter); FaultType faultType = new FaultType() { Id = Convert.ToInt32(values[0]) }; foreach (string language in languages) { faultType.Description.Add(language, values[1].Trim()); } string functionalAreaDescription = values[2].Trim(); FunctionalArea functionalArea = null; foreach (FunctionalArea currentFunctionalArea in functionalAreas) { if (currentFunctionalArea.Description[languages[0]].ToUpper() == functionalAreaDescription.ToUpper()) { functionalArea = currentFunctionalArea; break; } } if (functionalArea == null) // New functional area { functionalArea = new FunctionalArea() { Id = Guid.NewGuid() }; foreach (string language in languages) { functionalArea.Description.Add(language, functionalAreaDescription); } functionalAreas.Add(functionalArea); } functionalArea.FaultTypes.Add(faultType); } } reader.Close(); } // Save foreach (FunctionalArea functionalArea in functionalAreas) { funtionalAreaRepository.Add(functionalArea); } }
public FunctionalArea Add(FunctionalArea model) { _functionalAreaRepository.Add(model); return(model); }