public List <String> GetAllHeaders() { //Read resource's csv file var resourceName = "ListaClienti.csv"; List <string> headers = new List <string>(); FileManager.DeviceIO fileManager = new FileManager.DeviceIO(); StreamReader reader = fileManager.FileRead(resourceName); if (reader == null || reader.EndOfStream is true) { string error = "Errore Lettura Stream"; headers.Add(error); return(headers); } var values = GetCSVHeaders(reader, ";"); foreach (string str in values) { headers.Add(str); } reader.Close(); return(headers); }
public List <Cliente_Retail> GetAllRetail() { List <Cliente_Retail> All = new List <Cliente_Retail>(); var resourceName = "ListaClienti.csv"; //Read resource's csv file as StreamReader FileManager.DeviceIO fileManager = new FileManager.DeviceIO(); StreamReader reader = fileManager.FileRead(resourceName); // //Populating List with Customers if (reader == null || reader.EndOfStream) // { Cliente_Retail error = new Cliente_Retail(); error.Cl_Ret_Name = "Errore Lettura Stream"; All.Add(error); return(All); } List <string[]> v = GetCSVBody(reader, ";"); reader.Close(); foreach (var values in v) { //string[] values = s.Split(";"); //csv format Cliente_Retail SingleRetail = new Cliente_Retail(); SingleRetail.Cl_Ret_Code = Convert.ToInt32(values[0]); SingleRetail.Cl_Ret_Name = values[1]; SingleRetail.Cl_Ret_Nickname = values[2]; if (values[3] == "") { SingleRetail.Cl_Ret_Tot = 0; } else { SingleRetail.Cl_Ret_Tot = Convert.ToInt32(values[3]); } if (values[4] == "") { SingleRetail.Cl_Ret_Act = 0; } else { SingleRetail.Cl_Ret_Act = Convert.ToInt32(values[4]); } SingleRetail.Cl_Ret_Comment = values[5]; All.Add(SingleRetail); } return(All); }
public int DeleteRetailCSV(Cliente_Retail cliente) { var resourceName = "ListaClienti.csv"; string line; List <string> values = new List <string>(); Cliente_Retail ClToDel = cliente; int checkInsLista; //Get headers and customers list List <string> headersList = GetAllHeaders(); List <Cliente_Retail> CustomersList = GetAllRetail(); //Insert headers in list to write var headersInsert = string.Join(";", headersList); values.Add(headersInsert); //delete customer from list var itemToRemove = CustomersList.Single(r => r.Cl_Ret_Code == cliente.Cl_Ret_Code); CustomersList.Remove(itemToRemove); //check if inserted List <Cliente_Retail> results = CustomersList.FindAll(x => x.Cl_Ret_Code == cliente.Cl_Ret_Code); if (results.Count > 0) { checkInsLista = (int)DelResultsCodes.ListElementNotDeleted; return(checkInsLista); } else { checkInsLista = (int)DelResultsCodes.ListElementDeleted; } //Write on string List foreach (Cliente_Retail c in CustomersList) { line = Convert.ToString(c.Cl_Ret_Code) + ";" + Convert.ToString(c.Cl_Ret_Name) + ";" + Convert.ToString(c.Cl_Ret_Nickname) + ";" + Convert.ToString(c.Cl_Ret_Tot) + ";" + Convert.ToString(c.Cl_Ret_Act) + ";" + Convert.ToString(c.Cl_Ret_Comment); values.Add(line); } String[] str = values.ToArray(); FileManager.DeviceIO fileManager = new FileManager.DeviceIO(); var checkIO = fileManager.UpdateTextFile(resourceName, str); if (checkIO == true) { checkInsLista = (int)DelResultsCodes.ElementDeletedOnFile; } else { checkInsLista = (int)DelResultsCodes.ElementNotDeletedOnFile; } return(checkInsLista); }
public int InsRetailCSV(Cliente_Retail cliente) { var resourceName = "ListaClienti.csv"; string line; List <string> values = new List <string>(); Cliente_Retail ClToAdd = new Cliente_Retail(); Cliente_Retail oldElement = new Cliente_Retail(); int idSave = 0; int checkInsLista; //Get headers and customers list List <string> headersList = GetAllHeaders(); List <Cliente_Retail> ListToSort = GetAllRetail(); //Insert headers in list to write var headersInsert = string.Join(";", headersList); values.Add(headersInsert); //check if element already exists bool containsItem = ListToSort.Any(item => item.Cl_Ret_Code == cliente.Cl_Ret_Code); List <Cliente_Retail> SortedList = new List <Cliente_Retail>(); if (!containsItem) { //check available id ClToAdd = cliente; ClToAdd.Cl_Ret_Code = GetId(ListToSort); idSave = ClToAdd.Cl_Ret_Code; } else { List <Cliente_Retail> check = ListToSort.FindAll(x => x.Cl_Ret_Code == cliente.Cl_Ret_Code); oldElement = check[0]; idSave = check[0].Cl_Ret_Code; var itemToRemove = ListToSort.Single(r => r.Cl_Ret_Code == cliente.Cl_Ret_Code); ListToSort.Remove(itemToRemove); ClToAdd.Cl_Ret_Code = oldElement.Cl_Ret_Code; // ClToAdd.Cl_Ret_Name = cliente.Cl_Ret_Name; ClToAdd.Cl_Ret_Nickname = cliente.Cl_Ret_Nickname; ClToAdd.Cl_Ret_Tot = cliente.Cl_Ret_Tot; // ClToAdd.Cl_Ret_Act = cliente.Cl_Ret_Act; ClToAdd.Cl_Ret_Comment = cliente.Cl_Ret_Comment; } //add new customer with proper id ListToSort.Add(ClToAdd); SortedList = ListToSort.OrderBy(o => o.Cl_Ret_Name).ToList(); //check if inserted in list List <Cliente_Retail> results = SortedList.FindAll(x => x.Cl_Ret_Code == idSave); if (results.Count == 0) { checkInsLista = (int)InsResultsCodes.NotCreatedAfterIns; return(checkInsLista); } else { checkInsLista = (int)InsResultsCodes.ListNewElementCreated; } //Write on string List foreach (Cliente_Retail c in SortedList) { line = Convert.ToString(c.Cl_Ret_Code) + ";" + Convert.ToString(c.Cl_Ret_Name) + ";" + Convert.ToString(c.Cl_Ret_Nickname) + ";" + Convert.ToString(c.Cl_Ret_Tot) + ";" + Convert.ToString(c.Cl_Ret_Act) + ";" + Convert.ToString(c.Cl_Ret_Comment); //Convert.ToString(c.Cl_Ret_Comment); values.Add(line); } string[] str = values.ToArray(); FileManager.DeviceIO fileManager = new FileManager.DeviceIO(); var checkIO = fileManager.UpdateTextFile(resourceName, str); if (checkIO == true) { checkInsLista = (int)InsResultsCodes.ElementAddedSaveOnFile; } else { checkInsLista = (int)InsResultsCodes.ElementNotAddedOnFile; } return(checkInsLista); }