public NameSorter(IFileOperation fo)
 {
     FullNames     = new Dictionary <string, List <GivenName> >();
     Success       = true;
     FileOperation = fo;
     Names         = fo.ReadFile();
 }
Example #2
0
        public IActionResult Event(bool isRandom)
        {
            var path   = Path.Combine(_configuration.GetValue <string>(WebHostDefaults.ContentRootKey), $"wwwroot\\assets\\secure\\events.json");
            var events = _fileOperation.ReadFile(path);
            var result = _mapper.Map <List <EventJson>, List <Event> >(events);

            if (isRandom)
            {
                var random = new Random();
                var count  = result.Count;
                for (var i = 0; i < count - 1; ++i)
                {
                    var r   = random.Next(i, count);
                    var tmp = result[i];
                    result[i] = result[r];
                    result[r] = tmp;
                }
            }

            return(View(new EventModel()
            {
                Event = result
            }));
        }
Example #3
0
        /// <summary>
        /// Operation for changing files
        /// </summary>
        /// <returns>Status of normal ending working with file</returns>
        protected bool FileChange()
        {
            IFileOperation file = storage;

            while (true)
            {
                // Get request
                if (!Provider.GetRequest(out RequestData userData))
                {
                    continue;
                }

                if (!CheckSessionID(userData.SessionId))
                {
                    return(false);
                }

                switch ((FileOperation)userData.Operation)
                {
                case FileOperation.Read:
                    SendResponse(file.ReadFile());
                    break;

                case FileOperation.Write:
                    SendResponse(file.WriteToFile(userData.Property));
                    break;

                case FileOperation.Edit:
                    #region Edit
                    var edit = file.ReadFile();
                    SendResponse(edit);

                    if (edit.Code == 0)
                    {
                        // Get confirm request
                        while (!Provider.GetRequest(out userData))
                        {
                        }
                        if (!CheckSessionID(userData.SessionId))
                        {
                            return(false);
                        }

                        // Commit changes
                        if (userData.Operation == 3)
                        {
                            SendResponse(storage.ChangeFile(userData.Property));
                        }
                        else
                        {
                            SendResponse(new ResponseData(0, "Canceled"));
                        }
                    }
                    #endregion
                    break;

                case FileOperation.Exit:
                    SendResponse(file.CloseFile());
                    return(true);

                default:
                    Provider.SendResponse(new ResponseData(SessionID, StatusCode.BadRequest, "Invalid operation"));
                    Logger.LogAll("Invalid operation");
                    break;
                }
            }
        }
Example #4
0
 private IList <string> GetInput(string fileName)
 {
     return(_myfileOperation.ReadFile(fileName));
 }