SweetSp1 1.2.3

dotnet add package SweetSp1 --version 1.2.3
                    
NuGet\Install-Package SweetSp1 -Version 1.2.3
                    
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="SweetSp1" Version="1.2.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SweetSp1" Version="1.2.3" />
                    
Directory.Packages.props
<PackageReference Include="SweetSp1" />
                    
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 SweetSp1 --version 1.2.3
                    
#r "nuget: SweetSp1, 1.2.3"
                    
#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 SweetSp1@1.2.3
                    
#: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=SweetSp1&version=1.2.3
                    
Install as a Cake Addin
#tool nuget:?package=SweetSp1&version=1.2.3
                    
Install as a Cake Tool

Ctller- private readonly ApplicationDbContext _context; public CustomersController(ApplicationDbContext _context) { this._context = _context; } public async Task<IActionResult> Index() { var count = 0; string id = ""; if (count != 0) { count = await _context.Customers.MaxAsync(x ⇒ x.CustomerId); id = Convert.ToString(count + 1); ViewBag.id = id; } else { id = Convert.ToString(count + 1); ViewBag.id = id; } var customers = await _context.Customers.Include(c ⇒ c.DeliveryAddresses).ToListAsync(); return View(customers); }

[HttpGet] public async Task<IActionResult> GetCustomer(int id) { var customer = await _context.Customers .Include(c ⇒ c.DeliveryAddresses) .FirstOrDefaultAsync(c ⇒ c.CustomerId == id); if (customer == null) { return NotFound(); }

return Json(new
{
    customerId = customer.CustomerId,
    name = customer.Name,
    address = customer.Address,
    customerType = customer.CustomerType,
    businessStart = customer.BusinessStart,
    phone = customer.Phone,
    email = customer.Email,
    creditDetails = customer.CreditDetails,
    photo = customer.Photo,
    deliveryAddresses = customer.DeliveryAddresses.Select(d => new
    {
        address = d.Address,
        contactPerson = d.ContactPerson,
        phone = d.Phone
    })
});

}

[HttpPost] public async Task<IActionResult> Save(Customer customer, IFormFile? photo) { using var transaction = await _context.Database.BeginTransactionAsync(); try { if (photo != null && photo.Length > 0) { var uploadsFolder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Uploads");

        if (!Directory.Exists(uploadsFolder))
        {
            Directory.CreateDirectory(uploadsFolder);
        }

        var fileName = Path.GetFileNameWithoutExtension(photo.FileName);
        var extension = Path.GetExtension(photo.FileName);
        var uniqueFileName = $"{fileName}_{DateTime.Now.Ticks.ToString()}{extension}";
        var filePath = Path.Combine(uploadsFolder, uniqueFileName);

        using var stream = new FileStream(filePath, FileMode.Create);
        await photo.CopyToAsync(stream);

        customer.Photo = uniqueFileName;
    }

    if (customer.CustomerId > 0)
    {
        //for edit
        var existingCustomer = await _context.Customers
                                           .Include(c => c.DeliveryAddresses)
                                           .FirstOrDefaultAsync(c => c.CustomerId == customer.CustomerId);

        if (existingCustomer != null)
        {
            existingCustomer.Name = customer.Name;
            existingCustomer.Email = customer.Email;
            existingCustomer.Phone = customer.Phone;
            existingCustomer.Address = customer.Address;
            existingCustomer.CustomerType = customer.CustomerType;
            existingCustomer.CreditDetails = customer.CreditDetails;
            existingCustomer.BusinessStart = customer.BusinessStart;
            existingCustomer.Photo = customer.Photo ?? existingCustomer.Photo;

            _context.DeliveryAddresses.RemoveRange(existingCustomer.DeliveryAddresses);
            foreach (var address in customer.DeliveryAddresses)
            {
                existingCustomer.DeliveryAddresses.Add(new DeliveryAddress
                {
                    Address = address.Address,
                    ContactPerson = address.ContactPerson,
                    Phone = address.Phone
                });
            }
            _context.Customers.Update(existingCustomer);
        }
    }
    else
    {
        //for insert

        _context.Customers.Add(customer);
    }
    await _context.SaveChangesAsync();
    await transaction.CommitAsync();
    return RedirectToAction("Index");
}
catch (Exception ex)
{
    await transaction.RollbackAsync();
    Console.WriteLine($"Error: {ex.Message}");
    return BadRequest("An error occured while saving data!!");
}

}

[HttpPost] public async Task<IActionResult> Delete(int id) { var customer = await _context.Customers.FindAsync(id); if (customer == null) { return NotFound(); } _context.Customers.Remove(customer); await _context.SaveChangesAsync();

return Json(new
{
    redirectTo = Url.Action("Index", "Customers")
});

}

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.
  • net8.0

    • No dependencies.

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
1.2.3 365 4/21/2025