Repository to update flights
The repository does not need to take responsibility for the errors - remove them from here. The flight repository should add CRUD operations to Flight Dto and not return a result - remove the result. Validation should be done before calling the methods. You are not an automapper, use a tool. You do not need to invent a bicycle every time you need a new repository, use generics. Additionally, you do not need to repeat Flight in every method name, they exist in the Flight repository you can infer that from context. 
All error messages should be unique.

For example, implement an interface:

public interface IRepository&lt;T&gt; where T : EntityBase
{
    T GetById(int id);
    IEnumerable&lt;T&gt; List();
    void Add(T entity);
    void Delete(T entity);
    void Edit(T entity);
}

public abstract class EntityBase
{
   public int Id { get; protected set; }
}


For more info: https://deviq.com/repository-pattern/

The model that contains the list of flights should contain the validation rules and validate flights or the model of the Flight should validate itself. 

What you get from the database is not a Flight model, but a dto. You should use a translator to create a model from dto. Dto's should not contain any business logic just data. Clear separation of concerns helps is needed for clear code.