Update Lesson 4 Task 3

This commit is contained in:
Stanislav Mykhailenko 2023-04-11 18:58:20 +03:00
parent 92412bef42
commit 675692e965
GPG key ID: 1E95E66A9C9D6A36
10 changed files with 124 additions and 122 deletions

View file

@ -0,0 +1,28 @@
using LiskovSubstitution.Interfaces;
namespace LiskovSubstitution.Classes
{
public class Administrator : User, IAdministrator
{
public void WriteToFile(string filename)
{
Console.WriteLine("Written to the file.");
}
public void DeleteFile(string filename)
{
Console.WriteLine("Deleted the file.");
}
public void CopyFile(string filename)
{
Console.WriteLine("Copied the file.");
}
public void SaveToFile(string filename)
{
Console.WriteLine("Saved to the file.");
}
}
}

View file

@ -0,0 +1,18 @@
using LiskovSubstitution.Interfaces;
namespace LiskovSubstitution.Classes
{
public class Owner : Administrator, IOwner
{
public Guid CheckRole(Guid role)
{
return role;
}
public Guid CheckUser(Guid user)
{
return user;
}
}
}

View file

@ -0,0 +1,28 @@
using LiskovSubstitution.Interfaces;
namespace LiskovSubstitution.Classes
{
public class User : IUser
{
public string ReadFromFile(string filename)
{
return filename;
}
public void DownloadFile(string filename)
{
Console.WriteLine("Downloaded the file.");
}
public void GetDataFromFile(string filename)
{
Console.WriteLine("Got data from the file.");
}
public void CheckFile(string filename)
{
Console.WriteLine("Checked the file.");
}
}
}

View file

@ -1,22 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LiskovSubstitution
{
public interface IWorkingWithFile
{
public string ReadFromFile(string filename);
public void WriteToFile(string filename);
public void DeleteFile(string filename);
public void DownloadFile(string filename);
public void CopyFile(string filename);
public void GetDataFromFile(string filename);
public void CheckFile(string filename);
public void SaveToFile(string filename);
public Guid CheckRole(Guid role);
public Guid CheckUser(Guid user);
}
}

View file

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LiskovSubstitution.Interfaces
{
public interface IAdministrator : IUser
{
public void WriteToFile(string filename);
public void DeleteFile(string filename);
public void CopyFile(string filename);
public void SaveToFile(string filename);
}
}

View file

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LiskovSubstitution.Interfaces
{
public interface IOwner : IAdministrator
{
public Guid CheckRole(Guid role);
public Guid CheckUser(Guid user);
}
}

View file

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LiskovSubstitution.Interfaces
{
public interface IUser
{
public string ReadFromFile(string filename);
public void DownloadFile(string filename);
public void GetDataFromFile(string filename);
public void CheckFile(string filename);
}
}

View file

@ -1,5 +1,6 @@
using LiskovSubstitution;
using LiskovSubstitution.Classes;
(new User()).SaveToFile("test");
// CS1061
// (new User()).SaveToFile("test");
(new Administrator()).SaveToFile("test");

View file

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

View file

@ -1,97 +0,0 @@
namespace LiskovSubstitution
{
public class User : IWorkingWithFile
{
public virtual Guid Role { get; } = new Guid("a65d9c1d-b8a9-4f4f-be9b-ab03856f33f4");
public string ReadFromFile(string filename)
{
return filename;
}
public void WriteToFile(string filename)
{
Console.WriteLine("Access denied.");
}
public void DeleteFile(string filename)
{
Console.WriteLine("Access denied.");
}
public void DownloadFile(string filename)
{
Console.WriteLine("Downloaded the file.");
}
public void CopyFile(string filename)
{
Console.WriteLine("Access denied.");
}
public void GetDataFromFile(string filename)
{
Console.WriteLine("Got data from the file.");
}
public void CheckFile(string filename)
{
Console.WriteLine("Checked the file.");
}
public void SaveToFile(string filename)
{
Console.WriteLine("Access denied.");
}
public Guid CheckRole(Guid role)
{
return new Guid("00000000-0000-0000-0000-000000000000");
}
public Guid CheckUser(Guid user)
{
return new Guid("00000000-0000-0000-0000-000000000000");
}
}
public class Administrator : User
{
public override Guid Role { get; } = new Guid("c1cfcc4a-e49e-4585-9ccb-265c35321b11");
public new void WriteToFile(string filename)
{
Console.WriteLine("Written to the file.");
}
public new void DeleteFile(string filename)
{
Console.WriteLine("Deleted the file.");
}
public new void CopyFile(string filename)
{
Console.WriteLine("Copied the file.");
}
public new void SaveToFile(string filename)
{
Console.WriteLine("Saved to the file.");
}
}
public class Owner : User
{
public override Guid Role { get; } = new Guid("a157c9cf-c996-46d7-9905-4cd1319a451d");
public new Guid CheckRole(Guid role)
{
return role;
}
public new Guid CheckUser(Guid user)
{
return user;
}
}
}