OperationResults.Web 2.0.0

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package OperationResults.Web --version 2.0.0
                    
NuGet\Install-Package OperationResults.Web -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OperationResults.Web" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OperationResults.Web" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="OperationResults.Web" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OperationResults.Web --version 2.0.0
                    
#r "nuget: OperationResults.Web, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OperationResults.Web@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OperationResults.Web&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=OperationResults.Web&version=2.0.0
                    
Install as a Cake Tool

OperationResults

Use to remove try/catch constructions from your code.

sealed class SomeRepository
{
    public IOperationResult Update(Model model)
    {
        var operationParam = ParamsFactory.Create(Update, model);
        var logParam = LogParamsFactory.Create(LogError, $"Cannot update model, id: {model.Id}");
        const bool finishOperation = false;
        
        // By default finishOperation is true
        return OperationService.DoOperation(operationParam, logParam, finishOperation);
    }

    private void Update(IOperationResult result, Model model)
    {
        #region If Entity Framework
        var dbModel = dbContext.Models.FirstOrDefault(x => x.Id == model.Id);
        if (dbModel is null)
        {
            result.NotFound();
            LogWarning("Model hasn't been found");
            return;
        }
        
        dbModel.Name = model.Name;
        dbModel.Property = model.Property;
        
        dbContext.SaveChanges();
        #endregion
        
        #region If Ado Net
        using var connection = new SqlConnection(connectionString);
        using var cmd = new SqlCommand("UpdateModel", connection);
        cmd.Parameters.Add("@id", model.Id);
        cmd.Parameters.Add("@name", model.Name);
        cmd.Parameters.Add("@property", model.Property);
        
        var executedRows = cmd.ExecuteNonQuery();
        if (executedRows == 0)
        {
            result.NotFound();
            LogWarning("Model hasn't been found");
            return;
        }
        #endregion
        
        // if don't use default result setting
        result.Done();
    }

    public IOperationResult<IList<Model>> GetAll()
    {
        return OperationService.DoOperation<IList<Model>>(GetAll);
        
        // Also we can use lambda expression instead of method
        return OperationService.DoOperation<IList<Model>>(result =>
        {
            var models = dbContext.Models.ToList();
            return models;
        });
        
        // Also we can use lambda expression in ParamsFactory
        var operationParam = ParamsFactory.CreateWithResult<IList<Model>>(result => dbContext.Models.ToList());
        return OperationService.DoOperation(operationParam);
    }

    private IList<Model> GetAll(IOperationResult<IList<Model>> result)
    {
        return dbContext.Models.ToList();
    }
    
    // suffix like 'Error: {exception message}'
    private static void LogError(string suffix, string message)
    {
        Console.WriteLine(message + suffix);
    }
    
    private static void LogWarning(string message)
    {
        Console.WriteLine(message);
    }
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated