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);
        }