├── Asp.NetCore-Inventory-Order-Management-System ├── Views │ ├── _ViewStart.cshtml │ ├── Home │ │ ├── Privacy.cshtml │ │ └── Index.cshtml │ ├── _ViewImports.cshtml │ └── Shared │ │ ├── _ValidationScriptsPartial.cshtml │ │ ├── Error.cshtml │ │ ├── _Layout.cshtml.css │ │ └── _Layout.cshtml ├── Models │ ├── MyConfig │ ├── ErrorViewModel.cs │ ├── ApplicationUser.cs │ ├── ManageViewModels │ │ ├── ShowRecoveryCodesViewModel.cs │ │ ├── RemoveLoginViewModel.cs │ │ ├── TwoFactorAuthenticationViewModel.cs │ │ ├── ExternalLoginsViewModel.cs │ │ ├── IndexViewModel.cs │ │ ├── EnableAuthenticatorViewModel.cs │ │ ├── SetPasswordViewModel.cs │ │ └── ChangePasswordViewModel.cs │ ├── AccountViewModels │ │ ├── ExternalLoginViewModel.cs │ │ ├── ForgotPasswordViewModel.cs │ │ ├── UserRoleViewModel.cs │ │ ├── LoginWithRecoveryCodeViewModel.cs │ │ ├── LoginViewModel.cs │ │ ├── LoginWith2faViewModel.cs │ │ ├── ResetPasswordViewModel.cs │ │ └── RegisterViewModel.cs │ ├── BillType.cs │ ├── SalesType.cs │ ├── VendorType.cs │ ├── InvoiceType.cs │ ├── PaymentType.cs │ ├── ProductType.cs │ ├── CustomerType.cs │ ├── PurchaseType.cs │ ├── ShipmentType.cs │ ├── UnitOfMeasure.cs │ ├── CashBank.cs │ ├── SyncfusionViewModels │ │ └── CrudViewModel.cs │ ├── Currency.cs │ ├── Warehouse.cs │ ├── NumberSequence.cs │ ├── UserProfile.cs │ ├── Invoice.cs │ ├── PaymentReceive.cs │ ├── Shipment.cs │ ├── PaymentVoucher.cs │ ├── Vendor.cs │ ├── Customer.cs │ ├── Product.cs │ ├── Branch.cs │ ├── Bill.cs │ ├── GoodsReceivedNote.cs │ ├── SalesOrderLine.cs │ ├── PurchaseOrderLine.cs │ ├── PurchaseOrder.cs │ └── SalesOrder.cs ├── wwwroot │ ├── favicon.ico │ ├── js │ │ └── site.js │ ├── css │ │ └── site.css │ └── lib │ │ ├── jquery-validation-unobtrusive │ │ ├── LICENSE.txt │ │ └── jquery.validate.unobtrusive.min.js │ │ ├── jquery-validation │ │ └── LICENSE.md │ │ ├── bootstrap │ │ ├── LICENSE │ │ └── dist │ │ │ └── css │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ └── bootstrap-reboot.css │ │ └── jquery │ │ └── LICENSE.txt ├── appsettings.json ├── appsettings.Development.json ├── Services │ ├── INumberSequence.cs │ ├── IEmailSender.cs │ ├── IRoles.cs │ ├── SuperAdminDefaultOptions.cs │ ├── SendGridOptions.cs │ ├── SmtpOptions.cs │ ├── LoggingEvents.cs │ ├── IFunctional.cs │ ├── IdentityDefaultOptions.cs │ ├── Roles.cs │ ├── NumberSequence.cs │ ├── EmailSender.cs │ └── Functional.cs ├── Controllers │ ├── CustomerTypeController.cs │ ├── HomeController.cs │ └── Api │ │ ├── BillTypeController.cs │ │ ├── BranchController.cs │ │ ├── CustomerController.cs │ │ ├── ProductController.cs │ │ ├── ChangePasswordController.cs │ │ ├── CashBankController.cs │ │ ├── InvoiceTypeController.cs │ │ ├── PaymentTypeController.cs │ │ ├── CustomerTypeController.cs │ │ ├── PaymentVoucherController.cs │ │ ├── PaymentReceiveController.cs │ │ ├── CurrencyController.cs │ │ ├── NumberSequenceController.cs │ │ ├── BillController.cs │ │ ├── InvoiceController.cs │ │ └── GoodsReceivedNoteController.cs ├── bundleconfig.json ├── Extensions │ ├── EmailSenderExtensions.cs │ └── UrlHelperExtensions.cs ├── Data │ ├── DbInitializer.cs │ └── ApplicationDbContext.cs ├── Properties │ └── launchSettings.json ├── Helpers │ └── HtmlHelpers.cs ├── Asp.NetCore-Inventory-Order-Management-System.csproj ├── Program.cs └── Pages │ └── MainMenu.cs ├── LICENSE ├── Inventory-Order-Management-System.sln ├── README.md ├── .gitattributes └── .gitignore /Asp.NetCore-Inventory-Order-Management-System/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/MyConfig: -------------------------------------------------------------------------------- 1 | public class MyConfig 2 | { 3 | public string ApplicationName { get; set; } 4 | public int Version { get; set; } 5 | } 6 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FaroukOyekunle/Inventory-Order-Management-System/HEAD/Asp.NetCore-Inventory-Order-Management-System/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |
Use this page to detail your site's privacy policy.
7 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Asp.NetCore_Inventory_Order_Management_System 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | @using Asp.NetCore_Inventory_Order_Management_System.Models 4 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your JavaScript code. 5 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |Learn about building Web apps with ASP.NET Core.
8 |
12 | Request ID: @Model.RequestId
13 |
18 | Swapping to Development environment will display more detailed information about the error that occurred. 19 |
20 |21 | The Development environment shouldn't be enabled for deployed applications. 22 | It can result in displaying sensitive information from exception to end users. 23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 24 | and restarting the app. 25 |
26 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/PaymentVoucher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class PaymentVoucher 10 | { 11 | public int PaymentvoucherId { get; set; } 12 | [Display(Name = "Payment Voucher Number")] 13 | public string PaymentVoucherName { get; set; } 14 | [Display(Name = "Bill")] 15 | public int BillId { get; set; } 16 | public DateTimeOffset PaymentDate { get; set; } 17 | [Display(Name = "Payment Type")] 18 | public int PaymentTypeId { get; set; } 19 | public double PaymentAmount { get; set; } 20 | [Display(Name = "Payment Source")] 21 | public int CashBankId { get; set; } 22 | [Display(Name = "Full Payment")] 23 | public bool IsFullPayment { get; set; } = true; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/ManageViewModels/SetPasswordViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models.ManageViewModels 8 | { 9 | public class SetPasswordViewModel 10 | { 11 | [Required] 12 | [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] 13 | [DataType(DataType.Password)] 14 | [Display(Name = "New password")] 15 | public string NewPassword { get; set; } 16 | 17 | [DataType(DataType.Password)] 18 | [Display(Name = "Confirm new password")] 19 | [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] 20 | public string ConfirmPassword { get; set; } 21 | 22 | public string StatusMessage { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/Vendor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class Vendor 10 | { 11 | public int VendorId { get; set; } 12 | [Required] 13 | public string VendorName { get; set; } 14 | [Display(Name = "Vendor Type")] 15 | public int VendorTypeId { get; set; } 16 | [Display(Name = "Street Address")] 17 | public string Address { get; set; } 18 | public string City { get; set; } 19 | public string State { get; set; } 20 | [Display(Name = "Zip Code")] 21 | public string ZipCode { get; set; } 22 | public string Phone { get; set; } 23 | public string Email { get; set; } 24 | [Display(Name = "Contact Person")] 25 | public string ContactPerson { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/Customer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class Customer 10 | { 11 | public int CustomerId { get; set; } 12 | [Required] 13 | public string CustomerName { get; set; } 14 | [Display(Name = "Customer Type")] 15 | public int CustomerTypeId { get; set; } 16 | [Display(Name = "Street Address")] 17 | public string Address { get; set; } 18 | public string City { get; set; } 19 | public string State { get; set; } 20 | [Display(Name = "Zip Code")] 21 | public string ZipCode { get; set; } 22 | public string Phone { get; set; } 23 | public string Email { get; set; } 24 | [Display(Name = "Contact Person")] 25 | public string ContactPerson { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/AccountViewModels/ResetPasswordViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models.AccountViewModels 8 | { 9 | public class ResetPasswordViewModel 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | 15 | [Required] 16 | [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] 17 | [DataType(DataType.Password)] 18 | public string Password { get; set; } 19 | 20 | [DataType(DataType.Password)] 21 | [Display(Name = "Confirm password")] 22 | [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] 23 | public string ConfirmPassword { get; set; } 24 | 25 | public string Code { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/Product.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class Product 10 | { 11 | public int ProductId { get; set; } 12 | [Required] 13 | public string ProductName { get; set; } 14 | public string ProductCode { get; set; } 15 | public string Barcode { get; set; } 16 | public string Description { get; set; } 17 | public string ProductImageUrl { get; set; } 18 | [Display(Name = "UOM")] 19 | public int UnitOfMeasureId { get; set; } 20 | public double DefaultBuyingPrice { get; set; } = 0.0; 21 | public double DefaultSellingPrice { get; set; } = 0.0; 22 | [Display(Name = "Branch")] 23 | public int BranchId { get; set; } 24 | [Display(Name = "Currency")] 25 | public int CurrencyId { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/Branch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class Branch 10 | { 11 | public int BranchId { get; set; } 12 | [Required] 13 | public string BranchName { get; set; } 14 | public string Description { get; set; } 15 | [Display(Name = "Currency")] 16 | public int CurrencyId { get; set; } 17 | [Display(Name = "Street Address")] 18 | public string Address { get; set; } 19 | public string City { get; set; } 20 | public string State { get; set; } 21 | [Display(Name = "Zip Code")] 22 | public string ZipCode { get; set; } 23 | public string Phone { get; set; } 24 | public string Email { get; set; } 25 | [Display(Name = "Contact Person")] 26 | public string ContactPerson { get; set; } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/AccountViewModels/RegisterViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models.AccountViewModels 8 | { 9 | public class RegisterViewModel 10 | { 11 | [Required] 12 | [EmailAddress] 13 | [Display(Name = "Email")] 14 | public string Email { get; set; } 15 | 16 | [Required] 17 | [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] 18 | [DataType(DataType.Password)] 19 | [Display(Name = "Password")] 20 | public string Password { get; set; } 21 | 22 | [DataType(DataType.Password)] 23 | [Display(Name = "Confirm password")] 24 | [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] 25 | public string ConfirmPassword { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/Bill.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class Bill 10 | { 11 | public int BillId { get; set; } 12 | [Display(Name = "Bill / Invoice Number")] 13 | public string BillName { get; set; } 14 | [Display(Name = "GRN")] 15 | public int GoodsReceivedNoteId { get; set; } 16 | [Display(Name = "Vendor Delivery Order #")] 17 | public string VendorDONumber { get; set; } 18 | [Display(Name = "Vendor Bill / Invoice #")] 19 | public string VendorInvoiceNumber { get; set; } 20 | [Display(Name = "Bill Date")] 21 | public DateTimeOffset BillDate { get; set; } 22 | [Display(Name = "Bill Due Date")] 23 | public DateTimeOffset BillDueDate { get; set; } 24 | [Display(Name = "Bill Type")] 25 | public int BillTypeId { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Models/GoodsReceivedNote.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Asp.NetCore_Inventory_Order_Management_System.Models 8 | { 9 | public class GoodsReceivedNote 10 | { 11 | public int GoodsReceivedNoteId { get; set; } 12 | [Display(Name = "GRN Number")] 13 | public string GoodsReceivedNoteName { get; set; } 14 | [Display(Name = "Purchase Order")] 15 | public int PurchaseOrderId { get; set; } 16 | [Display(Name = "GRN Date")] 17 | public DateTimeOffset GRNDate { get; set; } 18 | [Display(Name = "Vendor Delivery Order #")] 19 | public string VendorDONumber { get; set; } 20 | [Display(Name = "Vendor Bill / Invoice #")] 21 | public string VendorInvoiceNumber { get; set; } 22 | [Display(Name = "Warehouse")] 23 | public int WarehouseId { get; set; } 24 | [Display(Name = "Full Receive")] 25 | public bool IsFullReceive { get; set; } = true; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 faroukoyekunle 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Views/Shared/_Layout.cshtml.css: -------------------------------------------------------------------------------- 1 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | for details on configuring this project to bundle and minify static web assets. */ 3 | 4 | a.navbar-brand { 5 | white-space: normal; 6 | text-align: center; 7 | word-break: break-all; 8 | } 9 | 10 | a { 11 | color: #0077cc; 12 | } 13 | 14 | .btn-primary { 15 | color: #fff; 16 | background-color: #1b6ec2; 17 | border-color: #1861ac; 18 | } 19 | 20 | .nav-pills .nav-link.active, .nav-pills .show > .nav-link { 21 | color: #fff; 22 | background-color: #1b6ec2; 23 | border-color: #1861ac; 24 | } 25 | 26 | .border-top { 27 | border-top: 1px solid #e5e5e5; 28 | } 29 | .border-bottom { 30 | border-bottom: 1px solid #e5e5e5; 31 | } 32 | 33 | .box-shadow { 34 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); 35 | } 36 | 37 | button.accept-policy { 38 | font-size: 1rem; 39 | line-height: inherit; 40 | } 41 | 42 | .footer { 43 | position: absolute; 44 | bottom: 0; 45 | width: 100%; 46 | white-space: nowrap; 47 | line-height: 60px; 48 | } 49 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Extensions/UrlHelperExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using System.Collections.Generic; 5 | using Asp.NetCore_Inventory_Order_Management_System.Controllers; 6 | 7 | namespace Microsoft.AspNetCore.Mvc 8 | { 9 | public static class UrlHelperExtensions 10 | { 11 | public static string EmailConfirmationLink(this IUrlHelper urlHelper, string userId, string code, string scheme) 12 | { 13 | return urlHelper.Action( 14 | action: nameof(AccountController.ConfirmEmail), 15 | controller: "Account", 16 | values: new { userId, code }, 17 | protocol: scheme); 18 | } 19 | 20 | public static string ResetPasswordCallbackLink(this IUrlHelper urlHelper, string userId, string code, string scheme) 21 | { 22 | return urlHelper.Action( 23 | action: nameof(AccountController.ResetPassword), 24 | controller: "Account", 25 | values: new { userId, code }, 26 | protocol: scheme); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Inventory-Order-Management-System.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio Version 17 3 | VisualStudioVersion = 17.0.31903.59 4 | MinimumVisualStudioVersion = 10.0.40219.1 5 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Asp.NetCore-Inventory-Order-Management-System", "Asp.NetCore-Inventory-Order-Management-System\Asp.NetCore-Inventory-Order-Management-System.csproj", "{CA88F98A-40AF-42A2-B254-0FF7AA47EB6D}" 6 | EndProject 7 | Global 8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 9 | Debug|Any CPU = Debug|Any CPU 10 | Release|Any CPU = Release|Any CPU 11 | EndGlobalSection 12 | GlobalSection(SolutionProperties) = preSolution 13 | HideSolutionNode = FALSE 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {CA88F98A-40AF-42A2-B254-0FF7AA47EB6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {CA88F98A-40AF-42A2-B254-0FF7AA47EB6D}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {CA88F98A-40AF-42A2-B254-0FF7AA47EB6D}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {CA88F98A-40AF-42A2-B254-0FF7AA47EB6D}.Release|Any CPU.Build.0 = Release|Any CPU 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Inventory-Order-Management-System 2 | Asp.Net Core Mvc implementation of inventory order management system. warehouse, product, vendor, customer, purchase order, sales order, shipment, goods receive and more. 3 | 4 | 5 | # Features 6 | 7 | - Asp.Net Core Mvc 8 | - EF Core / Entity Framework 9 | - Code First 10 | - C# 11 | - SendGrid 12 | - Upload Profile Picture 13 | - Edit Profile 14 | - Change Password 15 | - Users, Roles and Memberships 16 | 17 | # Functional Features 18 | 19 | - Dashboard / Chart 20 | - Sales Model 21 | - Customer Type 22 | - Customer 23 | - Sales Type 24 | - Sales Order 25 | - Shipment 26 | - Invoice 27 | - Payment Receive 28 | - Purchase Model 29 | - Vendor Type 30 | - Vendor 31 | - Purchase Type 32 | - Purchase Order 33 | - Goods Received Note 34 | - Bill 35 | - Payment Voucher 36 | - Inventory Model 37 | - Product 38 | - Product Type 39 | - Unit of Measure 40 | - Config Model 41 | - Currency 42 | - Branch 43 | - Warehouse 44 | - Cash Bank 45 | - Payment Type 46 | - Shipment Type 47 | - Invoice Type 48 | - Bill Type 49 | - User & Role Model 50 | - User 51 | - Change Password 52 | - Role 53 | - Change Roles 54 | -------------------------------------------------------------------------------- /Asp.NetCore-Inventory-Order-Management-System/Services/IFunctional.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.Http; 5 | using System.Collections.Generic; 6 | using Microsoft.AspNetCore.Hosting; 7 | 8 | namespace Asp.NetCore_Inventory_Order_Management_System.Services 9 | { 10 | public interface IFunctional 11 | { 12 | Task InitAppData(); 13 | 14 | Task CreateDefaultSuperAdmin(); 15 | 16 | Task SendEmailBySendGridAsync(string apiKey, 17 | string fromEmail, 18 | string fromFullName, 19 | string subject, 20 | string message, 21 | string email); 22 | 23 | Task SendEmailByGmailAsync(string fromEmail, 24 | string fromFullName, 25 | string subject, 26 | string messageBody, 27 | string toEmail, 28 | string toFullName, 29 | string smtpUser, 30 | string smtpPassword, 31 | string smtpHost, 32 | int smtpPort, 33 | bool smtpSSL); 34 | 35 | Task